aktuell

Heuristics for Heterogeneous Memory (H2M)

Im DFG-geförderten Projekt "Heuristics for Heterogeneous Memory" (H2M) entwickeln die RWTH Aachen University und der französische Projektpartner Inria gemeinsam eine Unterstützung neuer Speichertechnologien wie z.B. High Bandwidth Memory (HBM) und Non Volatile Memory (NVRAM). Diese Technologien kommen neben dem üblichen DRAM immer häufiger in HPC-Systemen als zusätzliche Speicher zum Einsatz. Zu deren Verwendung müssen aktuell Anwendungen noch stark modifiziert werden und plattform- oder herstellerspezifische APIs eingesetzt werden.

H2M verfolgt das Ziel, portable Schnittstellen bereitzustellen, um verfügbare Speicher sowie deren Eigenschaften zu identifizieren und den Zugriff zu ermöglichen. Darauf basierend sollen Abstraktionen und Heuristiken entwickelt werden, um Anwendungsentwicklern sowie Laufzeitsystemen eine Kontrolle zu geben, in welchem Speicher Daten abgelegt werden sollen und wann Daten zwischen unterschiedlichen Arten von Speichern verschoben werden sollen.

Weitere Information befinden sich auf der Projektwebseite (en).

Interaktive kollaborative parallele Programmierung (IkapP)

Der Stifterverband hat im Rahmen der Fellowships für Innovationen in der digitalen Hochschullehre NRW das Projekt von Lena Oden (FernUniversität in Hagen) und Christian Terboven (RWTH Aachen) zur Förderung angenommen.

Parallele Programmierung und Datenverarbeitung auf Multicore- und Manycore-Architekturen wird in vielen Fächern zunehmend wichtiger, etwa für Deep Learning oder große Simulationen. Die Motivation für die Nutzung von entsprechenden Hochleistungsrechnern wird leider durch viele technischen Hürden eingeschränkt und führt daher oft zu einer passiven Teilnahme der Studierenden an den praktischen Übungen der Lehrveranstaltungen. Ziel des Projekts ist es daher, eine browserbasierte Umgebung mit dazu passenden Lehreinheiten zu schaffen. Diese ermöglicht einen einfacheren Zugang zu den Systemen und unterstützt die Studierenden durch passende Lehrmodule, selbstständig die Konzepte paralleler Programmierung zu erlernen, ohne sich zuvor mit technischen Feinheiten der Systeme beschäftigen müssen. Die Plattform soll zudem eine kollaborative Arbeit ermöglichen, damit auch Studierende an unterschiedlichen Orten gemeinsam arbeiten können. Durch eine interaktive Visualisierung und gezielte Anreize wie "Performance-Wettbewerbe" sollen die Studierenden zusätzlich motiviert werden, eigene, bessere Lösungen zu entwickeln.

Mehr Details

Weitere Informationen bietet die Webseite des Stifterverbandes.

OpenMP - Schwerpunkt Shared-Memory-Parallelisierung

Seit 1998 beschäftigt sich das HPC Team des IT Centers der RWTH Aachen mit dem Thema Shared-Memory-Parallelisierung mit OpenMP. Auf den derzeit größten Shared-Memory-Rechnern des RZ mit 1024 Prozessorkernen wird OpenMP produktiv seit dem eingesetzt. OpenMP unterstützt mittlerweile auch Heterogene Rechner sowie Vektorisierung. mehr (auf Englisch)

Logo OpenMP Urheberrecht: © OpenMP

UNiform Integrated Tool Environment - UNITE

Hochleistungscluster bieten oft mehrere MPI-Bibliotheken und Compiler-Suites für Parallelprogrammierung an. Dies bedeutet, dass Anwendungen für parallele Programmierung, die meist von einer bestimmten MPI-Bibliothek und manchmal von einem bestimmten Compiler abhängen, mehrfach installiert werden müssen, jeweils einmal für jede Kombination von MPI-Bibliothek und Compiler, die unterstützt werden soll. Darüber hinaus werden im Laufe der Zeit neuere Versionen der Anwendungen veröffentlicht und installiert. Eine Möglichkeit um viele verschiedene Versionen von Software-Paketen zu verwalten bietet die „module“-Software, die von vielen Rechenzentren auf der ganzen Welt genutzt wird. Jedes Rechenzentrum bietet jedoch eine verschiedene Zusammenstellung von Anwendungen an, hat andere Richtlinien wie und wo verschiedene Software-Pakete installiert werden und wie verschiedene Versionen benannt werden. UNITE versucht diese Situation für Debugging- und Performance-Anwendungen zu verbessern. mehr (auf Englisch)

Virtual Institute - High Productivity Supercomputing

Finanziert durch die Helmholtz Gesellschaft zielt das Virtual Institute - High Productivity Supercomputing (VI-HPS) auf die qualitative Verbesserung und die Beschleunigung des Entwicklungsprozesses von komplexen Simulationsprogrammen in Technik und Wissenschaften, die auf die innovativsten Parallelrechnersysteme zugeschnitten sind. Das IT Center der RWTH Aachen ist auf die Verbesserung der Nutzbarkeit der State-of-the-Art Programmierhilfsmittel für das Hochleistungsrechnen fokussiert, die von den Partnerinstitutionen entwickelt werden. mehr (auf Englisch)

Logo Virtual Institute - High Productivity Supercomputing Urheberrecht: © Vi-HPS

Performance, Optimization and Productivity - POP

Die Nutzung von Performance-Analyse-Werkzeugen und das Optimieren von Anwendungen auf aktuelle HPC Architekturen erfordert in den allermeisten Fällen detailliertes Expertenwissen im Bereich des High Performance Computing. Durch aktuelle Trends zu Beschleunigern, steigenden Anzahlen von Kernen und tieferen Speicherhierarchien, ist eine Verbesserung dieser Situation nicht abzusehen. Ziel des Projektes POP (Performance, Optimization and Productivity) ist es Services im Bereich der Performanceanalyse und ‑optimierung für Anwender aus Industrie und Forschung bereitzustellen um Codeentwicklern Zugang zu dem benötigten Expertenwissen zu ermöglichen und hierdurch Performanceoptimierung in der Softwareentwicklung im HPC zu etablieren. Hierzu haben sich HPC Experten vom Barcelona Supercomputer Center (BSC), dem High Performance Computing Center Stuttgart (HLRS), dem Jülich Supercomputing Centre (JSC), der Numerical Algebra Group (NAG), TERATEC und dem IT Center der RWTH Aachen zusammengeschlossen.

POP ist eines der acht Center of Excellence Projekte im HPC Bereich, welche von der Europäischen Kommission in Horizon 2020 gefördert werden.

Weitere Informationen zu POP allgemein und wie Sie die Services in Anspruch nehmen können im speziellen sind hier zu finden.

POP Logo Urheberrecht: © POP

Jülich Aachen Research Alliance (JARA)

Die Jülich Aachen Research Alliance, kurz JARA, eine Kooperation der RWTH Aachen University mit dem Forschungszentrum Jülich, bietet ein hoch angesehenes Forschungsumfeld, das in der internationalen Spitzenliga steht und für die besten Forscher weltweit attraktiv ist. In sechs Sektionen forscht JARA in den Bereichen translationale Hirnmedizin, Kern- und Teilchenphysik, neuartige intelligente Materialen, Konzepte der Informationstechnologie, Hochleistungsrechnen und nachhaltige Energie.

Das IT Center der RWTH Aachen University unterstützt den Bereich JARA-HPC, der in erster Linie dazu beiträgt, die Möglichkeiten von Hochleistungsrechnern und Computersimulationen für aktuelle Fragestellungen der Forschung zu nutzen. Darüber hinaus soll eine gemeinsame Infrastruktur für Forschung und Lehre in den Bereichen Hochleistungsrechnen und Visualisierung geschaffen werden. Mehr..

Eine Taskbasierte Programmierumgebung zur Entwicklung reaktiver HPC Anwendungen – Chameleon

Die Architektur von HPC-Systemen wird immer komplexer. Das BMBF-geförderte Projekt Chameleon widmet sich dem Aspekt der dynamischen Variabilität von HPC-Systemen, die stetig zunimmt. Die heutigen Programmieransätze sind oft nicht für hochvariable Systeme geeignet und können in Zukunft nur teilweise die Leistungsfähigkeit moderner Systeme ausreizen.

Zu diesem Zweck entwickelt Chameleon eine Task-basierte Programmierumgebung, die für Systeme mit dynamischer Variabilität besser gerüstet ist als die heute üblichen Bulk-synchronous Modelle. Es wird erwartet, dass die Ergebnisse von Chameleon in zukünftige Versionen des OpenMP Programmiermodells einfließen werden.

Die Fähigkeit der Chameleon-Laufzeitumgebung, auf dynamische Variabilität zu reagieren, wird mit Hilfe von zwei Anwendungen evaluiert. SeiSol simuliert komplexe Erdbebenszenarien und die daraus resultierende Ausbreitung seismischer Wellen. Die Parallelverarbeitung auf Knotenebene basiert auf einer explizit implementierten Task-Queue, die Prioritätsbeziehungen zwischen den Tasks berücksichtigt. Chameleons reaktive, aufgabenbasierte Implementierung von Chameleon wurde entwickelt, um diese Aufgabenwarteschlange zu vereinfachen und die Skalierung zu verbessern. sam(oa)² ermöglicht finite Volumen- und Finite-Elemente-Simulationen auf dynamischen adaptiven Dreiecksgittern. Es implementiert Lastausgleich mit Hilfe von raumfüllenden Kurven und kann unter anderem zur Simulation von Tsunami-Ereignissen eingesetzt werden. Chameleon wird die dynamische Ausführung von Tasks auf entfernten MPI-Prozessen ermöglichen und eine reaktive Infrastruktur für allgemeine 1D-Lastausgleichsprobleme entwickeln.

Weitere Informationen finden Sie auf der Projekthomepage.

MUST Korrektheitsprüfung für YML- und XMP-Programme – MYX

Exascale Systeme erfordern mehrstufig-parallele Programme zu schreiben, was bedeutet, dass Programmierer mehrere verschiedene Paradigmen einsetzen müssen, um jede einzelne Ebene der Parallelität im System zu adressieren. Die langfristige Herausforderung besteht darin, bestehende Modelle weiterzuentwickeln und neue Programmiermodelle zu entwickeln, um die Anwendungsentwicklung auf Exascale-Maschinen besser zu unterstützen. Im Multi-Level-Programmierparadigma FP3C können Anwender High-Level-Parallelität in der YvetteML-Workflow-Sprache (YML) zum Ausdruck bringen und parallele Komponenten im XcalableMP (XMP)-Paradigma einsetzen. XMP ist eine PGAS-Sprache, die vom japanischen PC-Cluster-Konsortium für High-Level-Programmierung spezifiziert wurde und das wichtigste Forschungsinstrument für Japans Forschung im Bereich der Post-Petascale Programmierung von Modellen, die auf Exascale abzielen. YML wird verwendet, um die Parallelität einer Anwendung auf einem sehr hohen Niveau zu beschreiben, insbesondere um komplexe Anwendungen zu koppeln. Durch die Entwicklung von Techniken zur Überprüfung der Korrektheit beider Paradigmen und durch die Untersuchung der grundlegenden Anforderungen an das Design für und dann die Korrektheit von Parallelisierungsparadigmen zu überprüfen, zielt MYX darauf ab, das Know-how und die Lehren aus den verschiedenen Bereichen zu kombinieren, um die notwendigen Inputs abzuleiten, die für die Entwicklung zukünftiger Programmiermodelle und Software-Engineering-Methoden notwendig sind.

In MYX untersuchen wir die Anwendung skalierbarer Korrektheitsprüfmethoden auf YML, XMP und ausgewählte Features von MPI. Daraus ergibt sich eine klare Vorgabe, wie das Risiko von Fehlern begrenzt und die Parallelität zum Fangen von Fehlern, die aus prinzipiellen Gründen nur zur Laufzeit erkannt werden können, sowie erweiterte und skalierbare Korrektheitsprüfmethoden am besten zum Ausdruck gebracht werden können.

Weitere Informationen finden Sie auf der SSPEXA Webseite und der Webseite der Deutschen Forschungsgemeinschaft.