Barcelona Supercomputing Center beschleunigt HPC

Durch intelligente Zuweisung von Daten zum persistenten Intel® Optane™ Speicher können mit weniger DIMMs mehr Daten näher bei der CPU bereitgestellt werden.

Auf einen Blick:

  • Das Barcelona Supercomputing Center „Centro Nacional de Supercomputación“ (BSC-CNS) ist Spaniens nationales Supercomputing-Zentrum. Das BSC-CNS hat sich auf HPC spezialisiert und verwaltet MareNostrum, einen der leistungsstärksten Supercomputer Europas.

  • Ein BSC-CNS-Team verwendet – in Zusammenarbeit mit Intel – persistenten Intel® Optane™ Speicher im App-Direct-Modus. Das Projekt dient dem Ziel, ein neues Software-Umfeld rund um Byte-adressierbaren persistenten (nichtflüchtigen) Speicher zu schaffen, um HPC-Anwendungen zu beschleunigen und gleichzeitig energieeffizientere Supercomputer zu ermöglichen.

author-image

By

Kurzübersicht:

Antonio Peña, ein leitender Forscher am Barcelona Supercomputing Center „Centro Nacional de Supercomputación“ (BSC), leitet die Entwicklung neuer Software-Tools und die Erweiterung des Software-Umfelds für die skalierbaren Intel® Xeon® Prozessoren der 2. Generation und persistenten Intel® Optane™ Speicher (Intel® Optane™ PMem). Seine Arbeit im Rahmen des Intel-BSC Exascale Lab und die Zusammenarbeit mit dem EPEEC-Projekt (Europäische Programmierumgebung für heterogene Supercomputer/European Joint Effort towards a Highly Productive Programming Environment for Heterogeneous Exascale Computing), trägt zur Beschleunigung von HPC-Anwendungen (High Performance Computing) mit heterogenen Speicherarchitekturen bei.

Peña ist mit High Performance Computing (HPC) vertraut. Am Argonne National Laboratory (ANL) des US-Energieministeriums (DoE) trug er zu Projekten bei, die die Beschleunigung von MPI-basierten Anwendungen (Message Passing Interface), die Untersuchung externer virtualisierter GPUs und die Pionierarbeit an heterogenen Speichersystemen in HPC-Clustern umfassten. Unter der Leitung des Informatik-Direktors Professor Jesús Labarta und in enger Zusammenarbeit mit Dr. Harald Servat und Marie-Christine Sawley von Intel erforscht er weiterhin, wie umfangreiche HPC-Workloads durch die Nutzung hierarchischer Speichersysteme beschleunigt werden können. Mit Intel Optane PMem und der 2. Generation der skalierbaren Intel Xeon Prozessoren arbeitet er an bahnbrechenden Architekturen, die High-Performance-Workloads mit großen Datenbeständen auf HPC-Clustern ermöglichen und dabei weniger Energie als mit DRAM verbrauchen.

Herausforderung

„Momentan sind HPC-Anwendungen noch durch die Menge an DRAM in den Knoten und im Cluster eingeschränkt“, erklärt Peña. „Sie benötigen immer mehr Speicher, aber das Hinzufügen von größeren und mehr DIMMs mit der aktuellen Technik ist aufgrund von Energiebegrenzungen für das Gesamtsystem nicht durchführbar.“

In den heutigen großen HPC-Clustern liegt die Größe des Hauptspeichers zur Optimierung der Leistung in der Regel bei 2 GB bis 3 GB pro Kern. Eine Studie aus dem Jahr 2016 zeigte auf, dass sich die Ergebnisse mit High-Performance-Linpack (HPL) in typischen HPC-Systemen bei rund 2 GB Arbeitsspeicher einpendeln.1 Und tatsächlich folgen die führenden x86-basierten Cluster in der Top500-Liste diesem Trend. So verfügt zum Beispiel der MareNostrum 4 des BSC mit 3.240 Knoten (165.888 Intel® Xeon® Platinum 8160 Prozessorkerne) über 2 GB/Kern bei allen außer einigen wenigen Knoten. 216 der Knoten des MareNostrum 4 verfügen über eine große Speicherkapazität von 8 GB/Kern, um mit wesentlich größeren zusammenhängenden Datenmengen zu arbeiten. In derselben Studie wurde vorhergesagt, dass im Zuge größer werdender Datenbestände und des weiteren Wachstums zukünftiger Systeme zu sehr großen Clustern (mit z. B. einer Million Kernen) Pro-Kern-Speicherkapazitäten von 7 GB bis 16 GB nötig sein werden, um 99 Prozent der idealen HPL-Leistung zu erreichen. Dies wird starke Auswirkungen auf den Energieverbrauch der Server haben.

Traditionelle Speicherhersteller empfehlen eine Budgetierung von etwa drei Watt pro 8 GB DDR3- oder DDR4-Arbeitsspeicher – und mehr bei RDIMMs.2 In einem großen HPC-Knoten mit 56 x86-Kernen und 112 GB Arbeitsspeicher (2 GB/x86-Kern) sollte das Budget zwischen 42 und 50 Watt betragen. Knoten mit großem Arbeitsspeicher von 8 GB/Kern könnten 168 Watt oder mehr verbrauchen. Wenn man in die Zukunft mit massiv großen Systemen blickt, die beispielsweise Prozessoren mit 112 Kernen pro Knoten aufweisen, wird der Stromverbrauch des Arbeitsspeichers selbst zu einem Problem durch einen möglichen Verbrauch von fast 700 Watt pro Knoten.3 Betreiber moderner HPC-Systeme möchten jedoch Anwendungen beschleunigen sowie den Stromverbrauch reduzieren – und nicht durch Vergrößerung des Arbeitsspeichers weiter erhöhen.

Peñas Untersuchungen zeigen, dass die Verwendung heterogener Speichertechnik, die große Mengen nichtflüchtigen Speichers einbezieht, die Möglichkeit eröffnet, Anwendungen bei geringerem Energieverbrauch zu beschleunigen.

Lösung

„Wir versuchen, den Energieverbrauch der Server zu reduzieren und gleichzeitig Anwendungen zu beschleunigen, indem wir Intel Optane PMem einsetzen und auf intelligente Weise steuern, wo die Daten sich aufhalten und bewegen“, bemerkt Peña. „Wir können die große Speicherkapazität, die die neue Technik bietet, ausnutzen und mehr Daten näher zum Prozessor bringen. Es gibt eine geringfügig größere Latenz als bei DRAM, aber dafür haben wir nicht den Nachteil von noch größerer Latenz beim Wechsel zu anderer Datenspeichertechnik.“

Peñas Vision von heterogenen Speicherarchitekturen entstand während seiner Zeit beim ANL, als er mit dem Intel® Xeon Phi™ Prozessor arbeitete. Er hat seine Arbeit beim BSC mit Intel Optane PMem fortgesetzt.

Vereinfachte Ansicht eines Beispiels für einen Knoten mit heterogenem Speicher.4

Intel Optane PMem ist eine High-Density-3D-Speichertechnik in einem DIMM-Format, die in einzigartiger Weise große Kapazität, niedrigen Energieverbrauch und Unterstützung für Datenpersistenz auf dem Speicherbus kombiniert. Die skalierbaren Intel Xeon Prozessoren der 2. Generation unterstützen die Speichermodule.

„Ein großer nichtflüchtiger Speicher als Basis für hierarchische Speicherlösungen ist ein großartiger Kandidat“, meint Peña hierzu. „Er ist Byte-adressierbar, sodass wir ihn für reguläres Laden und Speichern verwenden können, bietet große Kapazität und verbraucht weniger Energie.“

Persistenter Intel Optane Speicher kann in verschiedenen Modi betrieben werden: im Arbeitsspeichermodus, App-Direct-Modus und als Datenspeicher über App Direct (Storage over App Direct). Im Arbeitsspeichermodus verwaltet die CPU den Speicher, wobei DRAM transparent als Cache für die am häufigsten abgerufenen Daten verwendet wird. Im App-Direct-Modus kann er entweder als flüchtiger oder nichtflüchtiger Speicher verwendet werden, wobei die Zuweisung intelligent durch die Anwendung erfolgt. Peña setzt diese Technik im App-Direct-Modus ein und nutzt die Speichermodule als verwaltbaren Systemspeicher mit großer Kapazität bei Datenobjekten, die intelligent zugewiesen werden, um die Leistung der laufenden Anwendung zu optimieren. Um die Nutzung in diesem Modus zu optimieren, entwickelt und betreibt das Team von Peña angepasste Software, die sowohl den Ort der Datenplatzierung in der Speicherstruktur abstimmt als auch den nichtflüchtigen Speicher direkt verwaltet. Das Team arbeitet mit Intel zusammen, um ein neues Software-Umfeld rund um Byte-adressierbaren persistenten (nichtflüchtigen) Speicher zu schaffen, HPC-Anwendungen zu beschleunigen und gleichzeitig energieeffizientere Supercomputer zu ermöglichen.

Bei Verwendung von Intel Optane PMem zeigt sich eine erhebliche Reduzierung des Energiebedarfs. Im Vergleich zu den angesetzten 3 Watt pro 8 GB (375 mW/GB) für standardmäßige DDR3- und DDR4-DIMMs verbrauchen die 128-GB-Speichermodule von Intel Optane PMem nur 117 mW/GB, und die 512-GB-Module benötigen nur 35 mW/GB – eine 10-fache Reduzierung des Verbrauchs im Vergleich zu DRAM-DIMMs.

Innovative Tools zur Datenprofilierung und Speicherzuweisung für intelligentes Datenmanagement

Um das Konzept mit heterogenen Speichern zu ermöglichen, haben Peña und sein Team mehrere Software-Tools entwickelt, unter anderem mit Extrae, einem vom BSC entwickelten Allzweck-Profiler, dem VTune™ Profiler und Extended Valgrind for Object-Differentiated Profiling (EVOP). EVOP wurde zuerst von Peña am ANL entwickelt und wird nun vom BSC gepflegt. Ihre Tools führen zunächst das aus, was Peña als datenorientierte Profilerstellung bezeichnet, indem die Profiling-Tools ausgeführt werden, während die Anwendung normal läuft. Die Tools analysieren den Bedarf und die Latenzen für verschiedene Objekte und erstellen eine große Datei, in der alle Datenzugriffe aufgelistet werden.

„Wenn wir wissen, wie auf jedes Datenobjekt während der Programmausführung zugegriffen wird, können wir im Optimierungsschritt besser entscheiden, wo diese in den verschiedenen Speichern zugeordnet werden müssen“, erläutert Peña. „Einfacher dargestellt, assoziieren wir Metriken mit den verschiedenen Datenobjekten. Dann zählen wir die Anzahl der Zugriffe oder die Anzahl der Fehlzugriffe in der letzten Cache-Ebene für jedes Objekt. Aufgrund dieser Informationen können wir verschiedene Algorithmen für Speicherzuweisungen anwenden, um die Leistung zu maximieren.“

Sobald die Software erkannt hat, wie und wann auf Datenobjekte zugegriffen wird und wie groß die Datenobjekte und Speicherebenen sind, werden die Ergebnisse in Variationen unterschiedlicher Rucksackprobleme eingespeist.5 Ein „Rucksack“-Optimierungsalgorithmus versucht, die meisten Objekte mit dem höchsten Wert in einen vorgegebenen „Container“ mit begrenzter Kapazität einzupassen. In Peñas Fall sind die zu speichernden Objekte die Elemente und die Speicher im System sind die Rucksäcke oder Container. Der Output der Rucksackprobleme liefert eine Orientierungshilfe für die Zuweisung der Datenobjekte zu geeigneten Speichern in der Speicherhierarchie.

„Nach dem Profiling analysiert ein Skript, das wir den Hmem Advisor für heterogenen Speicher nennen, das große Datenobjektprofil und erzeugt eine Liste für die Verteilung verschiedener Objekte auf die Speicher“, fährt Peña fort. „Danach können wir den Binärcode der Anwendung ohne Änderungen laufen lassen, und beim Aufruf regulärer malloc-Prozesse haben wir eine Laufzeitbibliothek, einen Interposer, der diese Aufrufe abfängt, um die verschiedenen Datenobjekte der entsprechenden Speicherschicht zuzuordnen.“

Für seine Untersuchungen verwendet das Team von Peña ein System des BSC mit skalierbaren Intel Xeon Prozessoren der 2. Generation und 6 TB Intel Optane PMem für seine Entwicklungsarbeit und Testläufe. Das System gehört zum Intel-BSC Exascale Lab, wo seit 2011 Projekte für innovative Forschung und kooperative Entwicklung durchgeführt wurden, um Exascale-Supercomputing einer neuen Generation zu ermöglichen.

Ergebnis

Die Erforschung heterogener Speicherlösungen am BSC schreitet voran. Gegenwärtig arbeitet der Programmcode des Teams von Peña statisch. Er weist Speicherobjekte auf der Grundlage eines Profiling-Durchlaufs und von Optimierungsschritten zu. Das Team plant jedoch, den Prozess wesentlich dynamischer zu machen, um Änderungen während der Laufzeit und eine benutzerspezifische Markierung von Daten zu berücksichtigen.

„Momentan konzentriert sich das Tool auf die Zuweisung von Daten für optimierte Leistung“, erklärt Peña. „Wenn in einem System Standard-DIMMs, ECC-DIMMs und Intel Optane PMem-Module vorhanden sind, würden wir die am häufigsten abgerufenen Daten gern den Standard-DIMMs, die weniger häufig angeforderten Daten dem ECC-Speicher und die noch seltener angeforderten Objekte dem NVRAM zuweisen. Allerdings stellen wir uns vor, dass das Tool während der Laufzeit nicht nur dynamisch agiert, sondern auch in der Lage ist, auf Benutzermarkierungen von Daten zu reagieren. Wenn der Benutzer zum Beispiel sicherstellen will, dass Daten geschützt sind, werden wir diese dem ECC-Speicher und nicht dem Standard-DRAM zuweisen. Oder wenn Daten bestimmte Zugriffsmuster aufweisen, wie etwa viele Schreiboperationen, werden wir sie dem normalen Speicher und nicht dem NVRAM mit seinen langsameren Schreibgeschwindigkeiten zuweisen.“

Peñas Arbeit zielt auf große HPC-Workloads ab, wie sie weltweit in Supercomputing-Zentren vorkommen, die Tools werden aber auch für kleinere Anwendungen eingesetzt, wie z. B. die Intel® Distribution für HPCG, Lulesh, miniFE und SNAP. Das Team benchmarkt die Leistung seines Programmcodes im Vergleich zu Intel Optane PMem im Arbeitsspeichermodus, in dem der Prozessor selbst die Daten verwaltet.

„Wir testen unseren Programmcode bei den meisten Anwendungen des US-Energieministeriums, wie LAMMPS, OpenFOAM und NWChem. Ein zentrales Ziel dieses Projekts besteht darin, umfangreiche Anwendungen mit hoher Leistung auf Systemen mit großen NVRAM-Kapazitäten und kleinerer DRAM-Kapazität betreiben zu können. Gegenwärtig sehen wir Leistungsverbesserungen bei vielen Minianwendungen, plus bis zu 18 % bei OpenFOAM und 10 % bei LAMMPS im Vergleich zum Arbeitsspeichermodus“, so Peña.

Peñas Konzept optimiert die Leistung und den Energiebedarf von Supercomputern im Hinblick darauf, dass immer umfangreichere Probleme auf stetig größer werdenden Rechnern ständig mehr Arbeitsspeicher erfordern.

Lösungszusammenfassung

Das Barcelona Supercomputing Center und das Intel-BSC Exascale Lab stehen im Mittelpunkt der Erforschung innovativer hierarchischer Speicherlösungen mit skalierbaren Intel Xeon Prozessoren der 2. Generation und persistentem Intel Optane Speicher im App-Direct-Modus. Im Center arbeitet ein von Antonio Peña geleitetes Team an der Entwicklung von Softwaretools, die Daten intelligent mehreren Speicherebenen, darunter Intel Optane PMem, zuweisen, um die Leistungseigenschaften von umfangreichen Supercomputing-Anwendungen zu optimieren. Die laufende Forschung mit großen wie auch kleinen HPC-Anwendungen zeigt im Vergleich zum Arbeitsspeichermodus laut Peña eine bis zu 2-fache Leistungssteigerung bei einigen Minianwendungen wie MiniFE.

Lösungskomponenten

  • Experimentalplattform für die Entwicklung von Softwaretools für hierarchische Speicherarchitekturen
  • Intel Xeon Platinum 8260L Prozessoren
  • 6 TB persistenter Intel Optane Speicher

PDF herunterladen ›

Informationen über zugehörige Produkte und Lösungen

Produkt- und Leistungsinformationen

3Intel Xeon 9282 Prozessor mit 56 Kernen/Sockel * 2 Sockel/Knoten = 112 Kerne * (16 GB/Kern ÷ 8 GB * 3 Watt/GB)
4Basierend auf der Beschreibung von persistentem Intel Optane Speicher unter https://ark.intel.com