ALOMA – Ein Framework für seismische Anwendungen

Komplexe Rechenoperationen auf wachsenden Datenmengen kennzeichnen die Herausforderungen der seismischen Datenverarbeitung. ALOMA ist eine fehlertolerante Laufzeitumgebung, die bei der Bewältigung dieser Problemstellung unterstützt und es ermöglicht, seismische Anwendungen effizient auf großen verteilten Systemen laufen zu lassen. Da die zu untersuchenden Bereiche immer größer werden, müssen sich auch die Systeme anpassen und immer größere Datenmengen verarbeiten. Die effiziente Nutzung verteilter Ressourcen wird daher hier immer wichtiger.

Dies zwingt Geophysiker:innen dazu, sich HPC-Wissen anzueignen, damit ihre Software auch auf großen Systemen effizient läuft. Mit ALOMA können sie sich weiter auf ihre Kernkompetenz konzentrieren und müssen sich nicht um Parallelisierung, Multithreading und andere Herausforderungen des High Performance Computings kümmern. Die effiziente Ausführung der Algorithmen, auch auf großen und heterogenen Systemen, übernimmt dann unser Softwaresystem.

Expertinnen und Experten der Seismik und des High Performance Computings entwickeln gemeinsam

Der Grundgedanke von ALOMA ist damit vor allem die Geophysiker:innen zu entlasten. Sie müssen sich nicht mit den HPC-Tools und -Strategien vertraut machen, um ihre Software skalierbar auszuführen. Unser System setzt direkt an der Schnittstelle zwischen Geophysiker:in und HPC-Expert:in an.

Geowissenschaftler:innen und Informatiker:innen entwarfen gemeinsam Strategien zur Parallelisierung, Datenaufteilung und Fehlertoleranz, ganz speziell für seismische Anwendungen. HPC-Spezialistinnen und -Spezialisten entwickelten den Kern von ALOMA: ein fehlertolerantes Laufzeitsystem zur Ausführung von Workflows auf verteilten Systemen.

Für den/die Geowissenschaftler:in ist ALOMA damit lediglich eine Blackbox, in die er seine Entwicklungen über eine genau definierte Schnittstelle integriert. Der Lernaufwand für das neue System ist überschaubar. Ist ALOMA erst einmal installiert, überführen Anwendende ihr erstes Modul binnen eines Tages in das neue System. Neue Algorithmen und Prototypen können innerhalb kürzester Zeit in parallelisiert, und mit realistischen Datenmengen und unter Alltagsbedingungen getestet werden. Vorhandene Codes und Anwendungen – auch in verschiedenen Programmiersprachen wie C/C++, Fortran, Matlab etc. – können so ganz einfach als Module in ALOMA integriert werden.

Exemplarischer Workflow mit ALOMA
© Fraunhofer ITWM
Exemplarischer Workflow mit ALOMA: Ein Volumen von Eingangsdaten wird mehrfach korrigiert, zu einem Volumen gestapelt und auf Fehlermuster analysiert. Verarbeitungs- und Analysemodule für klassische Algorithmen und neuronale Netzinferenz werden einfach in einem Arbeitsablauf kombiniert.

Die wichtigsten Funktionen

  • Plugin-Architektur zur einfachen Integration von bestehenden Algorithmen in verschiedenen Programmiersprachen
  • vorhandene Legacy-Binärdateien (selbst ohne vorhandenen Quellcode)
  • neu entwickelte Algorithmen für Tests im Realbetrieb
  • grafische Oberfläche, die auch komplexe Arbeitsprozesse benutzerfreundlich gestaltet
  • automatische Erzeugung grafischer Benutzerschnittstellen zur Parameterdefinition mithilfe unserer erweiterbaren Parameter-Beschreibungssprache
  • parallele Laufzeitumgebung für seismische Anwendungen
  • automatische Anpassung der Datenabhängigkeiten zwischen Modulen eines Workflows 
  • automatische Ressourcenverwaltung und Tools zur Ausführungsüberwachung
  • fehlertolerante Ausführung mit automatischem Neustart fehlgeschlagener Tasks und automatischer Anpassung an das Hinzufügen oder den Verlust von Ressourcen
  • Anbindung vorhandener Visualisierungstools zur grafischen Überprüfung der Ergebnisse

ALOMA ist eine spezialisierte Version von GPI-Space – einer Technologie, die auch in anderen Umgebungen wie Big Data und Machine Learning eingesetzt wird. Die Stärke dieses Konzepts haben wir in mehreren Kooperationsprojekten mit Industriepartnern bewiesen, in denen es gelang, die Kundensoftware innerhalb weniger Tage skalierbar zu machen.