Konferenz
Embedded Multicore-Migration und was man daraus für die Parallelisierung im Allgemeinen lernen kann
An Fallstudien erfolgreicher sowie gescheiterter Multicore-Migrationsprojekte von Embedded-Realtime-Systemen wird herausgearbeitet, welche Design-Entscheidungen zu performanten, skalierbaren und stabilen Parallelisierungen führen und welche Architekturfehler zu vermeiden sind. Herausforderungen dieser ressourcenbeschränkten Systeme lassen Parallelisierungsprobleme wie unter einem Vergrößerungsglas erscheinen, sodass Programmierer aller Disziplinen lernen, wie sie die Qualität ihrer eigenen Parallelisierungsarchitekturen verbessern können.
Zielpublikum: Entwickler, Architekten und Entscheider in Projekten mit Multicore- oder Parallelisierungs-Anteil
Voraussetzungen: Kein Parallelisierungswissen erforderlich, Programmierungs- und Betriebssystem-Basics hilfreich
Schwierigkeitsgrad: Fortgeschritten
Sie lernen:
- Embedded-Entwickler und Architekten lernen die typischen Probleme der Multicore-Migration von Realtime-Systemen sowie erprobte Lösungsstrategien dafür kennen.
- Entwickler anderer Disziplinen verstehen die Auswirkungen ihrer Parallelisierungsentscheidungen auf alle Ebenen des Technologie-Stacks und auf das Verhalten ihrer Systeme.
- Entscheider lernen, die Risiken und das Potential von Multicore-Migrationen einzuschätzen.
Erweiterte Beschreibung:
Dieser Vortrag extrahiert Erfahrungen aus einer Reihe erfolgreicher sowie gescheiterter industrieller Parallelisierungsprojekte, bei denen Embedded-Realtime-Systeme von Single-Core-CPUs auf Multicore-SMP-Plattformen portiert wurden. Dabei werden die typischen Probleme der Parallelisierung von Embedded-Systemen herausgearbeitet, wie z.B. die implizite Synchronisation mit Interrupt-Locks, die sich nicht auf Multicore-Hardware übertragen lässt, oder CPU-Affinity basierte Architekturen, die Performance und Skalierbarkeit beschränken. Anhand der Fallstudien wird herausgearbeitet, welche Design-Entscheidungen zu performanten, skalierbaren und stabilen Parallelisierungen führen und welche Architekturfehler dabei tunlichst zu vermeiden sind. Die erfolgreichen und gescheiterten Projekte werden präsentiert und mit einer „idealen“ Parallelisierungsarchitektur verglichen. Die Defizite der jeweiligen Parallelisierungsansätze werden analysiert, verallgemeinert und kategorisiert. Auf dieser Basis werden allgemeingültige Best Practices formuliert, die Parallelisierungsprojekten auch im Nicht-Embedded-Bereich den Weg weisen können.
Die Herausforderungen der ressourcenbeschränkten Embedded-Systeme lassen Parallelisierungsprobleme wie unter einem Vergrößerungsglas erscheinen. Dadurch lernen Programmierer aller Disziplinen qualitätssteigernde Maßnahmen für ihre eigenen Parallelisierungsprojekte kennen.