Servers in a data center

4 Dinge, die Manager von Rechenzentren von den schnellsten Supercomputern lernen können

Wenn man einen Laien auf der Straße fragen würde, was er meint, was ein Supercomputer ist, würde er wahrscheinlich zu einem großen Prozentsatz Beispiele aus populären Filmen zitieren – und zwar in der Regel Beispiele mit einem schlechten Ruf. Von HAL 9000 (2001: A Space Odyssey) bis hin zu VIKI aus iRobot und sogar Skynet aus Terminator: In der Popkultur werden Supercomputer oft als empfindungsfähige Systeme dargestellt, die sich entwickelt und gegen die Menschheit gewandt haben.

Erzählen Sie das mal den Forschern des Lawrence Livermore National Laboratory oder des National Weather Service, dann biegen die sich vor Lachen. Die Wahrheit ist, dass Supercomputer heute weit davon entfernt sind, sich ihrer selbst bewusst zu sein, und die einzige KI ist im Wesentlichen eine aufgeblähte Suchleiste, die sehr große Datensätze durchsucht.

Supercomputer steuern heute eine Vielzahl von Anwendungen, die an der Spitze des Fortschritts stehen: von der Öl- und Gasexploration über Wettervorhersagen, Finanzmärkten bis hin zur Entwicklung neuer Technologien. Supercomputer sind die Lamborghinis oder Bugattis der Computerwelt und bei Kingston schenken wir den Fortschritten, die die Grenzen des computerbasierten Rechnens weiter nach vorn verschieben, große Aufmerksamkeit. Von der DRAM-Nutzung und -Abstimmung über Firmware-Fortschritte bei der Verwaltung von Speicher-Arrays bis hin zum Nachdruck auf Konsistenz von Übertragungs- und Latenzgeschwindigkeiten anstelle von Spitzenwerten haben unsere Technologien einen großen Einfluss auf die Spitzentechnologie des Supercomputings.

In ähnlicher Weise gibt es viele Dinge, die Manager von Cloud- und Vor-Ort-Rechenzentren vom Supercomputing lernen können, wenn es darum geht, ihre Infrastrukturen zu gestalten und zu verwalten, auch bei der Auswahl der Komponenten, die für zukünftige Weiterentwicklungen bereit sind, ohne dass sie großen Erneuerungen unterzogen werden müssen.

Server mit leuchtenden Linien, die ein Netzwerk darstellen
1. Supercomputer sind speziell für Konsistenz konzipiert

Im Gegensatz zu den meisten Cloud-Computing-Plattformen, wie Amazon Web Services oder Microsoft Azure, die für eine Vielzahl von Anwendungen ausgelegt sind, die geteilte Ressourcen und Infrastrukturen nutzen können, werden die meisten Supercomputer speziell für bestimmte Anforderungen gebaut. Die jüngste Aktualisierung der TOP500-Liste der schnellsten Supercomputer der Welt (öffentlich bekannt und freigegeben) vermerkt nicht nur die Standorte und Geschwindigkeiten der Anlagen, sondern auch den primären Einsatzbereich.

11 der 12 Top-Computer sind für Energieforschung, Nukleartests und Verteidigungsanwendungen bestimmt. Der einzige Ausreißer ist Frontera, ein neues von der NSF finanziertes Petascale-Rechensystem am Texas Advanced Computing Center an der Universität von Texas, das akademische Ressourcen für wissenschaftliche und technische Forschungspartner bereitstellt. Von den nächsten 20 Supercomputern auf der TOP500-Liste laufen fast alle für Verteidigungs- und Geheimdienstanwendungen von Regierungen. Computer auf den Plätzen 30 bis 50 der Liste widmen sich weitgehend Wettervorhersagen. Die letzten 50 der Top 100 sind eine Mischung aus Unternehmensrechnern (NVIDIA, Facebook u.a.), mittelfristigen Wettervorhersagen, Weltraumprogrammen, Öl- und Gasförderung, akademischen und spezifischen Regierungsanwendungen.

Diese Computer besitzen keine Einheitsgröße. Sie sind speziell mit Herstellern wie Intel, Cray, HP, Toshiba und IBM entwickelt worden, um bestimmte Arten von Berechnungen mit ganz bestimmten Datensätzen durchzuführen – entweder in Echtzeit oder asynchron.

Sie haben definierte akzeptable Latenz-Schwellenwerte:

  • Festgelegte Rechenressourcen, die Millionen von Rechenkernen nutzen
  • Taktraten zwischen 18.000 und 200.000 teraFLOPS.

Ihre Speicherkapazitäten werden in Exabyte gemessen – weit über die Petabyte in modernen Data-Warehouses hinaus.

Systeme wie Frontera müssen nicht bei einer Spitzenlast sprinten, sondern müssen stattdessen ständig riesige Datenmengen lesen, um ihre Ergebnisse zu erhalten. Eine Spitze in der Rechenleistung könnte tatsächlich Fehler bei den Ergebnissen verursachen, daher liegt der Schwerpunkt auf der Konsistenz.

Der heutige Manager eines Datenzentrums muss sich zunächst fragen: „Was soll das System machen?“, um die Architektur zu erstellen, die Ressourcen zu verwalten und vorhersehbare Ausfallsicherheiten einzubauen. Die Verwaltung eines Rechenzentrums, das eine Reihe virtueller Desktops betreibt, unterscheidet sich erheblich von einem Notruf-Callcenter oder von Flugsicherungssystemen. Sie haben unterschiedliche Bedürfnisse, Anforderungen, Dienstleistungsvereinbarungen und Budgets – und müssen entsprechend gestaltet werden.

Ebenso muss bedacht werden, wie eine konsistente Leistung erreicht werden kann, ohne dass spezielle Aufbauten erforderlich sind. Unternehmen wie Amazon, Google und Microsoft verfügen über die Budgets, um individuelle Speicher- oder Computerinfrastrukturen zu entwickeln, aber die Mehrheit der Dienstleistungsanbieter muss eine selektive Auswahl unter Standardhardware vornehmen.

Daher müssen mehr Rechenzentrumsmanager strenge Kriterien für Leistungsbenchmarks festlegen, die die QoS betreffen, und sich nicht nur auf die Rechengeschwindigkeit und Latenzzeit konzentrieren, sondern auch auf die Konsistenz.

Server mit leuchtenden Linien, die ein Netzwerk darstellen
2. Ihre Echtzeit ist nicht meine Echtzeit

Bei Supercomputing-Anwendungen haben die meisten Instanzen mit Echtzeitdaten große Auswirkungen. Vom Stoppen einer nuklearen Reaktion bis hin zu Telemetriedaten für einen Raketenstart kann eine Rechenlatenz katastrophale Auswirkungen haben – und die Datensätze sind gewaltig. Diese Datenströme stammen nicht nur aus einer einzigen Quelle, sondern werden oft von einem Netzwerk von Berichtsknoten geliefert.

Aber die Daten sind kurzlebig. Wenn mit Echtzeit-Feeds gearbeitet wird, werden die meisten Daten nicht ewig gespeichert. Sie werden geschrieben und dann gemäß einer Haltbarkeitsdauer für sequentielle Schreib- und Überschreibvorgänge überschrieben. Echtzeitdaten ändern sich ständig, und nur sehr wenige Anwendungen benötigen jedes Bit, das vom Beginn der Zeit an gespeichert wird. Die Daten werden in Stapeln verarbeitet und berechnet, um ein Ergebnis zu erzeugen (z.B. ein Durchschnittswert, ein statistisches Modell oder ein Algorithmus), und das Ergebnis ist das, was gespeichert wird.

Nehmen Sie zum Beispiel die Supercomputer-Vorhersagen des US-Wetterdienstes National Oceanographic and Atmospheric Administration (NOAA). Die meteorologischen Faktoren ändern sich ständig, sei es der Niederschlag, die Luft- und Bodentemperatur, der Luftdruck, die Tageszeit, die Sonneneinstrahlung, der Wind und sogar die Art und Weise, wie der Wind über das Gelände streicht. Das ändert sich jede Sekunde und wird als Echtzeit-Informationsstrom gemeldet. Aber der Nationale Wetterdienst (NWS) der NOAA benötigt die Rohdaten nicht ewig. Die Prognosemodelle sind wichtig! In dem Maße, wie das Modell des globalen Prognosesystems (GFS) Gestalt annimmt, werden neue Daten anhand des Modell verarbeitet, die genauere und aktualisierte Vorhersagen ermöglichen.

Darüber hinaus benötigen lokale Meteorologen, die Daten vom NWS austauschen und empfangen, keinen Zugriff auf den gesamten globalen Wetterdatensatz. Sie beschränken ihre Modelle nur auf lokale Regionen. Auf diese Weise können sie die NWS-Daten mit lokalen Wetterstationen ergänzen und so Einblicke in Mikroklimata gewinnen und genauere lokale Vorhersagen durch die Erstellung von Stapeln beschleunigen, um ein Ergebnis zu erzeugen (z.B. ein Durchschnittswert, ein statistisches Modell oder ein Algorithmus), und das Ergebnis ist das, was gespeichert wird.

Dasselbe gilt für den Aktienhandel oder für Finanzmodelle, die mit gleitenden Durchschnitten arbeiten – jeweils mit integrierten spezifischen Indikatoren und Aktionsauslösern, die auf spezifischen Parametern für akzeptable Schwellenwerte des Marktverhaltens basieren. Bei der Entwicklung eines Systems, das „Echtzeit“-Daten verwendet, muss nicht alles, was es aufnimmt, gespeichert werden – sondern es sollten nichtflüchtige Speicher mit wahlfreiem Zugriff (NVRAM) und dynamische Speicher mit wahlfreiem Zugriff (DRAM) eingesetzt werden, um Daten während des Betriebs zwischenzuspeichern, zu verarbeiten und dann das berechnete Ergebnis an den Speicher zu liefern.

Abbildung von Flash-Speicherchip mit glühenden Leiterbahnen
3. Latenz-Schwellenwerte, NAND-Flash und DRAM-Tuning

Die meisten Latenz-Schwellenwerte werden gemäß den Anforderungen der Anwendung festgelegt. In Handelsszenarien bedeuten Sekunden Millionen, wenn nicht Milliarden von Dollar. Bei Wettervorhersagen und der Hurrikanverfolgung könnte es bedeuten, sich zwischen der Evakuierung von Großstädten wie New Orleans oder Houston zu entscheiden.

Supercomputer arbeiten von vornherein mit der Last der Service-Levels – d.h. bei Latenz, Rechenressourcen, Speicher oder Bandbreite. Die meisten setzen ausfallsicheres Computing ein, wobei das System Datenströme für optimale Latenzbedingungen umleiten (basierend auf der Taktung 𝛱+Δmax), zu asynchronen Computermodellen wechseln oder Rechenressourcen priorisieren kann, um eine ausreichende Verarbeitungsleistung oder Bandbreite für Aufgaben bereitzustellen.

Ganz gleich, ob Sie mit High-End-Workstations, Iron Servern oder HPC- und wissenschaftlichen Workloads arbeiten, große Computer und große Daten erfordern große DRAM-Auslagerungen. Supercomputer wie der Tianhe-2 verwenden riesige RAM-Auslagerungen in Kombination mit spezialisierten Beschleunigerkarten. Die Art und Weise, in der das Supercomputing das Hardware- und Controller-Framework fein abstimmt, ist einzigartig für das Anwendungsdesign. Oftmals werden aufgrund von spezifische Rechenaufgaben, bei denen der Festplattenzugriff einen riesigen Engpass mit RAM-Anforderungen schafft, DRAMs unpraktisch, sind aber klein genug, um in NAND-Flashspeicher zu passen. Die FPGA-Cluster werden außerdem für jede spezifische Arbeitslast weiter abgestimmt, um sicherzustellen, dass große Datensätze keine enorme Leistungseinbußen erleiden, falls sie zum Abrufen von Daten herkömmliche Medien verwenden müssen.

Die Teams, die zwischen der University of Utah, dem Lawrence Berkeley Lab, der University of Southern California und dem Argonne National Lab zusammenarbeiten, haben neue Modelle für Automatic Performance Tuning (oder Auto-Tuning) als ein wirksames Mittel zur Bereitstellung von Leistungsportabilität zwischen Architekturen aufgezeigt. Anstatt von einem Compiler abhängig zu sein, der optimale Leistung auf neueren Mehrkern-Architekturen bereitstellen kann, können sich Kernel und Anwendungen automatisch auf die Ziel-CPU, das Netzwerk und das Programmiermodell abstimmen.

IT-Arbeiter mit Helm mit einem Laptop vor einer Heads-up-Display-Abbildung
4. Mehrere Ebenen von Ausfallsicherungen

Die Energieverteilung innerhalb des HPC-Rechenzentrums stellt eine zunehmende Herausforderung dar – insbesondere bei Infrastrukturen, die als gemeinsam genutzte Ressourcen eingesetzt werden. In dedizierten oder As-a-Service-Infrastrukturen müssen Rechenzentren den kontinuierlichen Betrieb sicherstellen und das Risiko der Beschädigung empfindlicher Hardwarekomponenten bei Stromausfall, Spitzenlast oder Änderungen des Spitzenbedarfs verringern.

Architekten verwenden eine Mischung aus Verlustverteilungstransformatoren:

  • DC-Stromverteilung und USV-Backups,
  • Trigeneration (Erzeugung von Elektrizität durch Wärme zur Speicherung in einem Backup)
  • Aktive Überwachung
„Häufig speichern und sichern“ ist das Mantra für jede Anwendung, und dasselbe gilt für Rechenzentren, in denen „Backup“ zum operativen Begriff wird.

Die meisten Rechenzentren arbeiten heute mit einer hochgradigen RAID-Struktur, um kontinuierliche und nahezu gleichzeitige Schreibvorgänge über Speicher-Arrays hinweg zu gewährleisten. Darüber hinaus nutzen HPC-Infrastrukturen eine große Menge an NVRAM, um in Bearbeitung befindliche Daten zwischenzuspeichern, bei denen es sich entweder um Livestreams von Daten handelt, die nicht über Speicher-Arrays laufen, oder um parallel verarbeitete Informationen, die wie bei einer Scratch-Disk genutzt werden, um zusätzliche Rechenressourcen freizugeben. Das bereits erwähnte Frontera-System nutzt 50PB der gesamten Scratch-Kapazität. Benutzer mit sehr hohen Bandbreiten- oder IOPS-Anforderungen können eine Zuweisung auf einem All-NVMe-Dateisystem (nichtflüchtiger Expressspeicher) mit einer ungefähren Kapazität von 3PB und einer Bandbreite von ca. 1,2TB/s anfordern.

Dieses konstante RAID-Backup für die Speicherung und die konsistente Zwischenspeicherung von NVMe-Puffern hängen von den E/A-Gesamtschwellenwerten für die Controller im Gerät und von der gesamten verfügbaren oder bereitgestellten Bandbreite für die Remote-Speicherung/Sicherung ab.

Die meisten HPC-Infrastrukturen eliminieren auch die Möglichkeit von Hardware-Ausfällen bei rotierenden Laufwerken, indem sie vollständig auf Solid-State-Arrays und Flashspeicherblöcke umstellen. Diese Speicherlösungen bieten konsistente IOPS und haben vorhersehbare Latenzen, die innerhalb der anwendungsspezifischen Latenzschwellen liegen. Viele Supercomputer nutzen auch mehrere Bandbibliotheken (mit einer auf ein Exabyte oder mehr skalierbaren Kapazität), die für jedes verarbeitete und gespeicherte Bit eine zuverlässige Datenarchivierung bieten.

Viele stellen auch sicher, dass, falls alles andere in der Kette ausfällt, in SSDs und DRAMs Power-Fail-(PFail)-Kondensatoren (P-Cap), die auch als Power-Loss-Protection (PLP) bezeichnet werden, installiert werden. P-Caps ermöglichen es Laufwerken (entweder unabhängig oder über ein Array hinweg), laufende Schreibvorgänge abzuschließen und so die Datenmenge zu reduzieren, die bei einem katastrophalen Ausfall möglicherweise verloren geht.

Abschließende Gedanken

Auch hier gilt wieder, dass Kundenwünsche in der Supercomputing-Welt von entscheidender Bedeutung sind, aber die Kenntnis Ihrer Anforderungen ist der erste Schritt beim Aufbau eines Rechenzentrums und die Frage, wie Sie die beständigste Leistung erzielen können. Unabhängig von der Größe des Rechenzentrums sollte es als wichtig oder auch unter Berücksichtigung eines Supercomputers betrachtet werden, wenn es um die Erzeugung, Speicherung oder gemeinsame Nutzung von Daten geht. Durch die Bewertung dieser Faktoren können Architekten hochleistungsfähige Infrastrukturen entwerfen, die trotz Standardkomponenten für zukünftige Weiterentwicklungen gerüstet sind.

#KingstonIsWithYou

Zugehörige Artikel