GPI-Space: Speichergesteuerte Datenverarbeitung und Big Data

Die Verarbeitung und Analyse extrem großer Datenmengen schafft nicht nur neue Geschäftsmodelle für die Industrie, sondern auch der Forschung und Entwicklung stehen ganz neue Möglichkeiten offen.

Mit klassischen Methoden und Werkzeugen lassen sich die komplexen Aufgaben der Programmierung paralleler Softwareanwendungen für moderne Hochleistungssysteme nur noch unzureichend bewältigen. Als effektive Lösung haben wir die Programmierplattform GPI-Space entwickelt. Deren entscheidende Alleinstellung ist, dass die Erstellung des Programmiermodells für die jeweilige Anwendung von der Koordination der Ausführungsumgebung für die Berechnungen getrennt bleibt. Die Programmierer einer Softwareanwendung konzentrieren sich auf die Gestaltung des domänenspezifischen Berechnungsziels – ohne die Organisation der Ausführungsumgebung bereits einbeziehen zu müssen.

GPI-Space
© Fraunhofer ITWM

Mehr als ein verteiltes Laufzeitsystem

Die Plattform unterstützt bei der Erstellung ihrer Softwaremodelle mit grafischen Editoren, einer funktionalen Sprache und einem umfassenden Satz allgemein benötigter Workflows. Die Workflows, mit denen GPI-Space gesteuert wird, basieren auf Petri-Netzen, einem geeigneten Formalismus speziell zur Beschreibung verteilter und paralleler Prozesse.

Die Programmier-Plattform arbeitet mit der von uns entwickelten Programmierschnittstelle »Global Address Space Programming Interface« (GPI). Diese stellt eine virtuelle Speicherumgebung zur Verfügung, in der Rechenknoten unabhängig voneinander auf den Speicher anderer Rechenknoten zugreifen – sowohl lesend als auch schreibend.

 

High Performance Data Analytics (HPDA)

Alle Komponenten von GPI-Space basieren auf Technologien und Entwicklung aus dem High Performance Computing. Hierdurch wird die höchstmögliche Performanz und Flexibilität erreicht. So ist der virtuelle Speicher unabhängig von konkreten Anwendungen und erlaubt deren einfache und direkte Kopplung. Auf Daten, die im virtuellen Speicher abgelegt sind, kann von beliebigen Anwendungen und Hardware-Ressourcen aus zugegriffen werden – seien es CPUs, NVIDIA GPUs oder Intel XEON Phi.

Die Laufzeitumgebung von GPI-Space ist nicht nur fehlertolerant, sondern auch voll dynamisch. Größe und Struktur der verwendeten Maschine werden während der Laufzeit eines Algorithmus verändert bzw. wird in verschiedenen Phasen die jeweils optimale Topologie verwendet. Auch das ist ein großer Vorteil gegenüber anderen existierenden Lösungen. In der Laufzeitumgebung kann der User beliebige Programme und Module zu einer neuen Anwendung zusammenführen.

Die drei Hauptkomponenten von GPI-Space

  • virtueller Speicher
  • verteilte Laufzeitumgebung
  • Workflow Interpreter

sind nahtlos integriert, aber auch als Einzelkomponenten einsetzbar.

Übersicht der Architektur von GPI-Space
© Fraunhofer ITWM
Übersicht der Architektur von GPI-Space

Anwendungsgebiete

GPI-Space haben wir zunächst in enger Zusammenarbeit mit Kunden aus dem Bereich Öl und Gas entwickelt. Dort wird GPI-Space für die interaktive seismische Bildgebung und für die Reverse Time Migration (RTM) genutzt. Aber auch im Bereich der Finanzdienstleistungen und des Maschinellen Lernens ist der Löser im Einsatz. Die Kernidee der parallelen Programmierung ist auf viele Anwendungsfelder übertragbar und gibt Big-Data-Analysen ganz neue Impulse. Weitere Informationen zu den Anwendungsbeispielen:

 

Maschinelles Lernen

High Performance Deep Learning Framework

Im Projekt HP-DLF ermöglichen wir einfachen Zugang zu Hochleistungsrechensystemen.

Seismik

Reverse Time Migration

Die RTM (reverse time migration) ist ein Wellengleichungs-basiertes Migrationsverfahren, das auch in kompliziertesten Untergrundstrukturen einsetzbar ist.