Softwarekonferenz für Parallel Programming,
Concurrency und Multicore-Systeme
Heidelberg, Print Media Academy, 6.-8. April 2016

parallel 2016 » Programm »

// Parallele Mechanismen in C++

C++11 hat die Grundlagen geliefert für parallele Abläufe in C++. Aber dass std::mutex und std::condition_variable nicht die idealen Mittel sind, um komplexe Systeme zu parallelisieren, hat sich inzwischen herumgesprochen. Auch dem C++-Kommitee ist klar, dass es Abstraktionen auf höherer Ebene braucht, die als Teil der Standardbibliothek zur Verfügung gestellt werden müssen. Die Struktur dieser Standard-Abstraktionen ist schon weitgehend bekannt und es gibt auch bereits Beispielimplementierungen, auch wenn über Details noch diskutiert wird.

Dieser Workshop stellt die wichtigsten dieser zukünftigen Standardmechanismen vor und zeigt, wie damit parallele Systeme realisiert werden können, ohne dass man sich Gedanken über die genaue Synchronisation machen muss. An konkreten Beispielen wird gezeigt, wie diese Mechanismen eingesetzt werden und worauf bei der konkreten Verwendung zu achten ist.

Es ist kein Vorwissen über manuelle Synchronisation (z.B. via Locks) notwendig, es stört aber auch nicht (deshalb auch "Grundlagen" als Niveau, obwohl durchaus fortgeschrittene Mechanismen vorgestellt werden). Der Workshop wird ohne Übungen durchgeführt, nicht nur aus praktischen Durchführungsproblemen, sondern auch aus Zeitgründen. Es werden allerdings Codebeispiele (quasi die Musterlösungen zu den nicht durchgeführten Übungen) ausführlich diskutiert.

Skills
C++11-Kenntnisse.

Lernziele
Verständnis, wie die Architektur paralleler Systeme aussehen sollte und wie sie ganz konkret in C++ umgesetzt werden kann.

// Referent

// Detlef Vollmann Detlef Vollmann

ist ein aktives Mitglied des C++-Standardisierungskommitees (hauptsächlich in der Unterkommission zur Concurrency). Er ist einer der (vielen) Autoren des C++ Performance Report und führte die "Futures" in C++11 ein. Er liefert Support und Schulungen zu Embedded-Systemen und Concurrency in C++.