Detailseite
OpenPME: Open parallele Rechenumgebung für hybride Partikel-Gitter-Algorithmen in der Systembiologie
Fachliche Zuordnung
Datenmanagement, datenintensive Systeme, Informatik-Methoden in der Wirtschaftsinformatik
Softwaretechnik und Programmiersprachen
Softwaretechnik und Programmiersprachen
Förderung
Förderung von 2017 bis 2022
Projektkennung
Deutsche Forschungsgemeinschaft (DFG) - Projektnummer 350008342
Paralleles Hochleistungsrechnen (HPC) ist essentiell um wissenschaftliche Modelle komplexer natürlicher Phänomene zu studieren, deren Verhalten oder Reaktion auf Störungen vorherzusagen, und große Datenmengen aus experimentellen Messungen zu analysieren. Besonders ausgeprägt sind diese Herausforderungen im Gebiet der Systembiologie, wo komplexe Modelle von Zellen und Geweben simuliert werden um deren innere Funktionsmechanismen zu verstehen. Dieser Prozess ist getrieben durch hochauflösende 3D Mikroskopiebilder, welche ebenfalls in Echtzeit verarbeitet werden müssen. Modellierung, Simulation und Bildanalyse hängen daher ab von der Fähigkeit, parallele HPC-Rechner effektiv und effizient zu nutzen. Die Entwicklung adäquater und flexibler Simulationsalgorithmen, die effizient auf großen HPC-Systemen laufen, ist ein anspruchsvolles, fehleranfälliges und zeitaufwändiges Unterfangen. Software-Entwickler müssen dabei die Problemdomäne ebenso verstehen wie die mathematischen Modelle und die Auswirkungen algorithmischer Spezifikationen auf die Rechner-Systemarchitektur und die erhaltene Rechenleistung. Diese Punkte können nur selten innerhalb eines gegebenen Projekts berücksichtigt werden. Dieses Projekt soll die kognitive Distanz zwischen domänenspezifischer Problembeschreibung und effizientem HPC-Code verringern, indem es transparente Abstraktionen einführt: eine domänenspezifische Hochsprache, einen Compiler, ein adaptives Laufzeitsystem und eine Entwicklungsumgebung. Wir konzentrieren uns dabei auf generische Partikel-Gitter Methoden als numerische Simulationsalgorithmen, weil diese sowohl diskrete als auch kontinuierliche Modelle simulieren, sowie auch Bilder verarbeiten können. Die wesentlichen Ziele dieses Projekts sind daher die Formulierung der ersten formal-semantischen Beschreibung dieser Klasse von Algorithmen und die damit einhergehende Entwicklung einer formalen, domänenspezifischen Sprache. Um diese Sprache wird eine Werkzeugkette sowie eine integrierte Entwicklungsumgebung erstellt werden, die den Nutzer mit direktem Feedback zu seinen Eingaben sowie beim Debuggen unterstützt. Die Laufzeitumgebung wird auf der sich derzeit in Entwicklung befindlichen OpenFPM Bibliothek für Partikel-Gitter Methoden basieren. Auf Grundlage des zusätzlich verfügbaren Domänenwissens aus der Hochsprache und der Laufzeitüberwachung von Simulationsprozessen kommen Optimierungen zur Compile-Zeit sowie zur Laufzeit zum Einsatz, um effizienten Code zu erzeugen. Die Ansätze und Ergebnisse des Projekts werden mit Hilfe dreier praktisch relevanter Treiberanwendungen aus der Systembiologie bezüglich Laufzeit-Performance, Skalierbarkeit und Entwickler-Produktivität evaluiert.
DFG-Verfahren
Sachbeihilfen