TP-B: Modellbasierte Parallelisierung
Sequenzielle Programme müssen parallelisiert werden, um optimal auf High Performance Computing (HPC) Plattformen zu laufen. Parallelisierung benötigt Expertenwissen aus Softwaredesign, Algorithmik, Code und Hardware. Deswegen ist die Parallelisierung von älterer Software aktuell ein größtenteils händischer Vorgang ohne Korrektheits- oder Laufzeitgarantien.
Das Ziel dieses Teilprojekts ist die Entwicklung von neuen, modellbasierten Parallelisierungsansätzen mit umfangreicher Toolunterstützung. Ausgehend von alter sequenzieller Software wird ein sehr präzises und ausführbares Modell (in ABS) erstellt. Dieses Modell wird dann analysiert und parallelisiert.
Aus dem parallelen Modell wird ausführbarer und optimierter Code erzeugt. Der Vorteil ist die gute Analysierbarkeit der genutzten ABS Sprache.
Diese erlaubt die Nutzung von vielfältigen Analysewerkzeugen, um
- Korrektheitsbeweise,
- Skalierbarkeit, sowie
- einen hohen Automatisierungsgrad
zu erhalten.
Die folgende Grafik zeigt den Ansatz: