Neues Many-Core-Cluster am LRZ

Das Leibniz-Rechenzentrum in Garching wird im September 2017 ein neues Cluster auf der Basis von Intel Many-Core-Prozessoren in Benutzerbetrieb nehmen. Es beschreitet dabei Neuland nicht nur im Bereich der Prozessor-Architektur, sondern auch bei Verbindungsnetzwerk und Kühlungstechnologie.

Die Ziele des LRZ bei der Beschaffung des Many-Core-Clusters "CooLMUC-3" waren:

  • Ein für die Abarbeitung von hochgradig vektorisierbaren bzw. gut skalierend thread-parallelen Anwendungen geeignetes System bereitzustellen,
  • das auch gute Skalierungseigenschaften über die Grenzen der Rechenknoten hinweg aufweist, sowie
  • Einsatz einer Kühlinfrastruktur der neuesten Generation, die einen Betrieb praktisch ohne Wärmeeintrag in die Raumluft des Rechnerraumes gestattet.

Darüber hinaus wurde bei der Beschaffung darauf geachtet, das System von vorn herein erweiterbar auszulegen, so dass zu einem späteren Zeitpunkt weitere Rechenknoten unterschiedlicher Architekturen nahtlos in das System integriert werden können. Das Beschaffungsverfahren wurde über einen HBFG-Antrag finanziert und als europaweite Ausschreibung ab November 2016 durchgeführt. Als Gewinner der Ausschreibung ergab sich gemäß angebotener Hardware, zugesagter Benchmark-Leistungswerte (inklusive Bewertung des Energieverbrauchs) und beschriebener Systemeigenschaften die Chemnitzer Firma MEGWare. Das neue Cluster wird aus 148 Rechenknoten vom Typ Intel Xeon Phi 7210-F (Knight’s Landing, KNL) bestehen, die über ein Intel Omnipath-Netzwerk mit Fat-Tree-Topologie miteinander verbunden sind. Für Entwicklungsarbeit und Job-Submission wird darüber hinaus ein Login-Knoten basierend auf Standard-Intel-Prozessoren zur Verfügung stehen. Die Installation umfasst insgesamt vier Racks, von denen drei die wassergekühlten Compute-Knoten enthalten, und eines die wenigen noch luftgekühlten Komponenten.

Many-Core-Architektur: der “Knights Landing”-Host-Prozessor

Mit der in diesem System eingesetzten Generation von Many-Core-Prozessoren stellt Intel erstmals eine stand-alone-Variante bereit; vorherige Prozessorgenerationen waren nur als Beschleuniger-Karten erhältlich, was sowohl bei der Provisionierung als auch der Programmierung und Nutzung solcher Systeme einen beträchtlichen Zusatzaufwand nach sich zog. Das vom LRZ jetzt beschaffte System kann hingegen direkt mit einem Standard-Betriebssystem versehen und wie klassische Xeon-basierte Cluster mit den wohlbekannten parallelen Programmierparadigmen genutzt werden. Die Anbindung der Rechenknoten an das Hochgeschwindigkeits-Netzwerk erfolgt über einen direkt auf dem Mainboard integrierten Dual-Port-Adapter, was für latenz-dominierte parallele Anwendungen einen Performance-Vorteil gegenüber einem als PCI-Karte implementierten Adapter liefert.

Ein weiteres neues Architektur-Merkmal ist das eng mit dem Prozessor integrierte MCDRAM, auch als „High-Bandwidth Memory“ (HBM) bezeichnet. Im Vergleich zu Standard-Speichertechnologien kann man bei Nutzung dieses Speicherbereichs um eine Größenordnung erhöhte Speicherbandbreiten gewinnen; er kann als Cache-Speicher, als direkt addressierbarer Speicher, oder als hybride (50/50) Mischung aus beiden Varianten konfiguriert werden. Die Vektor-Einheiten wurden nochmal verbreitert: Ein Core besitzt zwei AVX-512 VPUs (vector processing units) und kann daher, wenn kombinierte Multiplikationen und Additionen zu verarbeiten sind, maximal 32 doppelt genaue Floating-Point Operationen pro Takt durchführen. Jeweils 2 Cores sind eng miteinander und mit einem geteilten 1 MB Level 2 Cache zu einem sog. „Tile“ verbunden, und 32 aktive Tiles untereinander über ein zweidimensionales Netzwerk mit einer internen Bisektionsbandbreite von mehr als 700 GB/s, in dem die Cache-Kohärenz und der Fluss des Datenverkehrs auf unterschiedliche, vom Benutzer prinzipiell einstellbare Weise konfiguriert werden kann. Inwieweit solche dynamischen Konfigurationsänderungen zum Optimieren spezifischer Benutzer-Jobs ermöglicht werden können, ist derzeit noch in Untersuchung, da in der Regel hierzu ein Neustart der angeforderten Knoten notwendig ist.

Wegen der relativ niedrigen Taktung der Cores, und auch wegen des relativ kleinen pro-Core-Anteils am Hauptspeicher ist das System etwa für serielle Durchsatzlast eher ungeeignet. Für parallele Anwendungen wird es darauf ankommen, durch hybride Programmierung (also der Kombination von Programmierpraktiken für verteilten und einheitlichen Speicher, wie etwa MPI und OpenMP) deren Speicherverbrauch zu minimieren, um dann nach Optimierung der Datenlokalität auf die ersten zwei Stufen der Cache-Hierarchie Vorteil aus den Vektor-Einheiten ziehen zu können. Bei konkurrierenden Zugriffen von allen Cores auf das HBM wird durch Vektorisierung kein Performance-Vorteil mehr für die entsprechenden Daten zu erzielen sein; eine hybride Programmier-Methodik kann gegebenenfalls auch solche Zugriffe deutlich reduzieren. Für eine Reihe von Anwendungen hat das LRZ in Kollaboration mit Intel solche Optimierungen (etwa des Datenlayouts) bereits auf dem „Knight’s Corner“-basierten Prototyp-Cluster „SuperMIC“ durchgeführt und damit wesentliche Teile des für die Unterstützung des künftigen KNL-Produktionsbetriebs notwendigen Know-Hows erarbeitet.

In Bezug auf den Instruktionssatz ist die Knights Landing-Architektur übrigens rückwärtskompatibel mit früheren Prozessorarchitekturen, sodass etwa auf anderen (älteren) Intel-Prozessoren compilierte Programme, soweit nicht Unterschiede der benutzten Betriebssysteme dem entgegenstehen, auch auf dem Many-Core-Knoten ausgeführt werden können.

Omnipath-Verbindungsnetzwerk

Mit dem Aufkauf von Netzwerk-Technologien innerhalb des vergangenen Jahrzehnts hat sich Intel eine neue Strategie auf die Fahnen geschrieben, nämlich die zunehmende Integration des Netzwerks mit der Prozessorarchitektur. Mit dem am LRZ erstmals eingesetzten Omnipath-Verbindungsnetzwerk wird eine bereits recht ausgereifte erste Generation dieser Technologie zum Einsatz kommen. Sie zeichnet sich durch deutlich kleinere applikationsseitige Latenzen, hohe erzielbare Nachrichtenraten und hohe aggregierte Bandbreiten zu günstigem Preis für die Hardware-Komponenten im Vergleich mit konkurrierenden Netzwerk-Technologien aus. Dem LRZ wird das System dazu dienen, erste Erfahrungen mit Management, Betriebsstabilität und Applikationsperformance dieser Technologie zu sammeln.

 

Kühlungs-Infrastruktur

Das LRZ war beim Einsatz von Warmwasserkühlung für HPC-Systeme Vorreiter in Europa. Mit CoolMUC-1 wurde Mitte 2011 erstmals von MEGWare ein solches System am LRZ installiert; etwas mehr als ein Jahr später wurde dann das mit IBM/Lenovo kontrahierte 3-Pflop-System „SuperMUC“ in Betrieb genommen, das erstmals Einlauftemperaturen von etwa 40 °C und damit den ganzjährigen Systembetrieb mit freier Kühlung ermöglichte. Darüber hinaus gestattet die hohe Wassertemperatur eine Wiederverwertung der Abwärme zur Erzeugung von Prozesskälte für die noch verbleibenden luft- oder kaltwassergekühlten Hardware-Komponenten (etwa Storage-Systeme); nach einer ausführlichen Pilotstudie in Kollaboration mit der Firma Sortech wurde im Jahr 2016 erstmals ein Adsorptionskühler in Produktion genommen, der etwa die Hälfte der Abwärmeleistung des von Lenovo installierten Clusters „CooLMUC-2“ als Kühlleistung wiederverwertet.

Mit dem Many-Core-Cluster soll nun ein weiterer Schritt in der Verbesserung der Energie-Effizienz gegangen werden: Durch Einführung der Wasserkühlung auch für Netzwerk-Komponenten und elektrische Netzteile wird es möglich, die Racks thermisch zu isolieren und damit praktisch keine Wärme (nur noch etwa 3% des Energieumsatzes) mehr an die Umgebungsluft des Rechnerraums abzugeben. Damit wird die letzte Stufe für den möglichst energieeffizienten Betrieb von HPC-Komponenten am Rechenzentrum erreicht.

 

CooLMUC-3 im Überblick

Hardware

Anzahl Rechenknoten

148

Cores pro Rechenknoten

64

Hyperthreads pro Core

4

Core-Standardfrequenz

1.3 GHz

Hauptspeicher (DDR4) pro Rechenknoten

96 GB (Bandbreite 80.8 GB/s)

High Bandwidth Memory pro Rechenknoten

16 GB (Bandbreite 460 GB/s)

Bandbreite pro Rechenknoten zum Interconnect

25 GB/s (2 Links)

Anzahl Omnipath Switches (100SWE48)

10 + 4 (je 48 Ports)

Bisektionsbandbreite des Interconnect

1.6 TB/s

Latenz des Interconnect

2.3 µs

Spitzenrechenleistung des Gesamtsystems

394 TFlop/s

Infrastruktur

Elektrische Leistung unter Last

62 kVA

Abwärmeanteil in Warmwasser

97%

Mögliche Inlet-Temperaturen der Wasserkühlung

30 … 50 °C

Temperaturdifferenz zwischen Outlet und Inlet

4 … 6 °C

Software (Betriebssystem und Programmentwicklung)

Betriebssystem

SLES12 SP2 Linux

MPI

Intel MPI 2017, alternativ OpenMPI

Compiler

Intel icc, icpc, ifort 2017

Performance-Bibliotheken

MKL, TBB, IPP

Tools zur Performance- und Korrektheitsanalyse

Intel Cluster Tools

 

Die in der Tabelle angegebenen Leistungszahlen sind theoretische Werte, die von realen Anwendungen in der Regel nicht erreicht werden können. Eine STREAM Benchmark-Messung an einem einzelnen Knoten dürfte eine Bandbreite von bestenfalls ca. 450 GB/s erzielen, und die LINPACK-Systemrechenleistung wurde zu 255 TFlop/s gemessen.