Auf dem Weg ins Exascale-Zeitalter

Das europäische Projekt EPEEC steht für die Entwicklung und den Einsatz einer produktionsreifen parallelen Programmierumgebung. Das Ziel sind zukünftige Exascale-Supercomputer zu verwaltbaren Plattformen für Anwendungsentwicklende in verschiedenen Bereichen zu verwandeln. Zum Bild: Datenkompression ist dabei auch ein entscheidendes Thema.

EPEEC: Europäische Programmierumgebung für heterogene Supercomputer

EU-Projekt – European Joint Effort towards a Highly Productive Programming Environment for Heterogeneous Exascale Computing

Das gemeinsame Ziel im EU-Projekt EPEEC ist die Entwicklung und der Einsatz einer produktionsreifen parallelen Programmierumgebung, die überwiegend heterogene Exascale-Computer in verwaltbare Plattformen für Anwendungsentwicklerinnen und -entwickler verwandelt. Unser Part ist die Implementierung des verteilten Programmiermodells GASPI zusammen mit seiner GPI-Implementierung.

 

Die High Performance Community arbeitet daran, die Heterogenität künftiger Exascale-Rechner zu bewältigen. Dafür müssen sowohl unterschiedliche Processing-Unit-Architekturen (wie GPUs und FPGAs) als auch heterogene Speichersysteme und Netzwerke berücksichtigt werden. Das Projekt EPEEC stellt sich dieser Herausforderung, indem es fünf Softwarekomponenten, die von europäischen Forschungseinrichtungen und Unternehmen entwickelt wurden, zusammenführt und an die jeweilige Programmierumgebung anpasst und weiter ausarbeitet. 

Zu diesen fünf gehört auch das an unserem Institut entwickelte Programmiermodell GASPI, das sich als europäischer Marktführer für einseitige Kommunikation zwischen Rechenknoten etabliert hat.

 

Unser Beitrag am Projekt

Gerade in Anwendungen wie dem Maschinellen Lernen ist die Komprimierung ein wichtiges Tool zur Verarbeitung der teilweise riesigen Datenmengen. Mithilfe unseres parallelen Programmiermodells GPI nutzen wir die sogenannte »Lossy Compression«, um Netzwerke zu entlasten. Beispiele für datenintensive Aufgaben sind die Entwicklung neuer Medikamente oder die Weiterentwicklung von Recommender System, welche basierend auf vorherigen Aktivitäten der Nutzerinnen und Nutzer (Einkäufe, gesehene Filme, o.ä.) Empfehlungen geben.

Ebenso nutzen wir unsere Kompetenzen, um mit Algorithmen des Maschinellen Lernens die Vor- und Nachteile der Eventual-Consistency-Methode gegeneinander abzuwägen. Bei diesem Prinzip aus dem GRID-Computing geht man Kompromisse bei der Konsistenz der Antwort ein, um Verzögerungen zu vermeiden. Einfach gesagt: Eine Antwort wird sehr schnell ausgegeben, aber sie ist zu Beginn nur ungefähr richtig und wird später verbessert. Diese Technik kann nur dann im High Performance Computing verwendet werden, wenn die Konvergenz in iterativen Verfahren sicher nicht gefährdet wird. Wir prüfen, ob die Vorteile (z.B. in Bezug auf die Geschwindigkeit des Algorithmus) die Nachteile (ein langsamere Konvergenz) aufwiegen können.

GASPI als Teil des Programmiermodells

Im Projekt integrieren wir unsere Entwicklung GASPI/GPI und das aufgabenbasierte Programmiermodell OmpSs des Barcelona Supercomputing Centers in ein gemeinsames skalierbares integriertes und verteiltes Programmiermodell. Dieses nutzt zum einen ein verteiltes (GASPI/GPI+OmpSs) sowie zum anderen ein shared-memory Modell (OmpSs@ArgoDSM). Dieses erlaubt den Usern, Datentransfers aktiv zu steuern und zu aktivieren. Wir sind überzeugt, dass diese Herangehensweise zu exzellenten Skalierungseigenschaft führt und überprüfen den Ansatz im Rahmen des EPEEC Projektes mit unseren Partnerinnen und Partnern an Anwendungen.

Unser skalierbares integriertes und verteiltes Programmiermodel in EPEEC
© Fraunhofer ITWM
Unser skalierbares integriertes und verteiltes Programmiermodel nutzt einerseits wiederum ein verteiltes Programmiermodel (GASPI/GPI+OmpSs) und andererseits ein shared-memory Programmiermodell (OmpSs@ArgoDSM).

Video: Welchen Einfluss kann EPEEC auf unser tägliches Leben haben?

Englisches Video des Projektpartners BSC-CNS (Barcelona Supercomputing Center aus Spanien)

Datenschutz und Datenverarbeitung

Wir setzen zum Einbinden von Videos den Anbieter YouTube ein. Wie die meisten Websites verwendet YouTube Cookies, um Informationen über die Besucher ihrer Internetseite zu sammeln. Wenn Sie das Video starten, könnte dies Datenverarbeitungsvorgänge auslösen. Darauf haben wir keinen Einfluss. Weitere Informationen über Datenschutz bei YouTube finden Sie in deren Datenschutzerklärung unter: http://www.youtube.com/t/privacy_at_youtube