Softwarekonferenz für parallele
und hochperformante Programmierung
Heidelberg, Print Media Academy, 19.–22. Februar 2019

// Moderne Parallele Programmierung: Wie wähle ich die richtige Technologie und Architektur für mein Projekt aus?

In diesem interaktiven Tutorial lernen Sie die aktuellen Technologie-Paradigmen der parallelen Programmierung und innovative Ansätze wie die Parallelisierung in Go kennen, bewerten deren Vor- und Nachteile und konzipieren auf dieser Basis Architekturen für Ihre Parallelisierungsprojekte.

Sie lernen dadurch Fragen der folgenden Art zu beantworten:

* Wann sind User-Mode Task-Scheduler geeigneter als Threads?
* Wo sollte man transparente Parallelisierungsansätze wie PLINQ oder Parallel Streams nutzen, worin besteht der Vorteil von Channels?
* Was sind die Auswirkungen der Memory-Modelle moderner Multi-Core CPUs, und wie geht man einfach und sicher damit um?

Wir schauen uns die Architekturen erfolgreicher und gescheiterter Multicore-Migrationsprojekte an, sodass sichtbar wird, welche Architekturentscheidungen zu tragfähigen Lösungen führen.

* Programmierübungen (Java, C#, C++, Go) sichern den Praxis-Transfer.
* Praktische Gruppen-Übungen und die Präsentation der Ergebnisse führen zu vertiefenden Diskussionen

AGENDA
11.00 – 12.30: The State of the Art: Aktuelle Paradigmen der Parallelität  
12.30 – 13.30: Mittagspause
13.30 – 15.00: Technische Fallstudien: Threading, Task-Scheduler, Go-Routines
15.00 – 15.15: Kaffeepause
15.15 – 16.30: Technische Fallstudien Fortsetzung: Programmierübungen
16.30 – 16.45: Kaffeepause
16.45 – 18.00: Software-Architekturen für Multi-Core Migrationsprojekte

Alle Teilnehmer sollte einen eigenen Laptop mitbringen. Was genau vorab zu installieren ist, versenden wir ca. 2 Wochen vorher an die Teilnehmer.

Vorkenntnisse
* Programmierkenntnisse nötig.
* OS-Basics hilfreich.
* Parallelisierungswissen nicht erforderlich.

Lernziele
* Aktuelle Technologie-Paradigmen für die Multicore-Programmierung einordnen und praktisch anwenden können.
* Technologie-Entscheidungen auf Basis der Requirements konkreter Anwendungsfälle treffen können.
* Architekturkonzepte für die erfolgreiche Multicore-Migration entwerfen können.


// Marwan Abu-Khalil Marwan Abu-Khalil

ist Senior Software Architekt für parallele und verteilte Systeme im Forschungsbereich der Siemens AG. Seine Seminare über Parallele Programmierung unterrichtet er in Zusammenarbeit mit namhaften Anbietern (Heise Medien, SIGS-Datacom, TAE, Learning Campus). Er spricht auf Konferenzen über Parallelisierung und publiziert über dieses Thema. Marwan gibt regelmäßig Seminare für die Ausbildung der zertifizierten Software-Architekten der Siemens AG.