ALOMA – Unsere Software für Seismik-Experten

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 Areale 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 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.

Experten der Seismik und des High Performance Computings entwickeln gemeinsam

Der Grundgedanke von ALOMA ist damit vor allem die Geophysiker 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 und HPC-Experte an.

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

Für den Geowissenschaftler 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 Anwender 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.

Darstellung eines einfachen Workflows mit ALOMA
© Fraunhofer ITWM

Exemplarischer Workflow in ALOMA: Zweidimensionale Eingangsdaten werden korrigiert und danach zu eindimensionalen Daten aufsummiert. Eingabe und Ergebnisse können mit beliebigen Programmen zur Visualisierung seismischer Daten betrachtet werden.

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.