Parallele Dateisysteme für HPC-Arbeitslasten

Last reviewed 2023-11-16 UTC

In diesem Dokument werden die Speicheroptionen in Google Cloud für Hochleistungs-Computing (HPC)-Arbeitslasten vorgestellt und es wird erläutert, wann parallele Dateisysteme für HPC-Arbeitslasten verwendet werden sollten. In einem parallelen Dateisystem verwenden mehrere Clients parallele E/A-Pfade, um auf freigegebene Daten zuzugreifen, die auf mehreren Netzwerkspeicherknoten gespeichert sind.

Die Informationen in diesem Dokument richten sich an Architekten und Administratoren, die Speicher für datenintensive HPC-Arbeitslasten entwerfen, bereitstellen und verwalten. In diesem Dokument wird davon ausgegangen, dass Sie ein konzeptionelles Verständnis für Netzwerkdateisysteme (NFS), parallele Dateisysteme,POSIX und die Speicheranforderungen von HPC-Anwendungen haben.

Was ist HPC?

HPC-Systeme lösen große Rechenprobleme schnell, indem sie mehrere Rechenressourcen zusammenfassen. HPC fördert Forschung und Innovation in verschiedenen Branchen wie Gesundheitswesen, Biowissenschaften, Medien, Unterhaltung, Finanzdienstleistungen und Energie. Forscher, Wissenschaftler und Analysten verwenden HPC-Systeme, um Tests durchzuführen, Simulationen durchzuführen und Prototypen zu bewerten. HPC-Arbeitslasten wie seismische Verarbeitung, Genomsequenzierung, Medienrendering und Klimamodellierung generieren große Datenmengen mit immer höheren Datenraten und zunehmenden Latenzen und greifen darauf zu. Hochleistungsspeicher und Datenverwaltung sind wichtige Bausteine der HPC-Infrastruktur.

Speicheroptionen für HPC-Arbeitslasten in Google Cloud

Das lokale Einrichten und Betreiben der HPC-Infrastruktur ist teuer und die Infrastruktur erfordert eine laufende Wartung. Darüber hinaus kann die lokale Infrastruktur in der Regel nicht schnell skaliert werden, um sie an Bedarfsänderungen anzupassen. Die lokale Planung, Beschaffung, Bereitstellung und Außerbetriebnahme von Hardware nimmt ziemlich viel Zeit in Anspruch. Dies führt zu einer verzögerten Hinzufügung von HPC-Ressourcen oder zu nicht ausgelasteten Kapazitäten. In der Cloud können Sie effizient HPC-Infrastruktur bereitstellen, die die neueste Technologie verwendet, und Ihre Kapazität nach Bedarf skalieren.

Google Cloud und unsere Technologiepartner bieten kostengünstige, flexible und skalierbare Speicheroptionen, um HPC-Infrastruktur in der Cloud bereitzustellen und Ihre lokale HPC-Infrastruktur zu verbessern. Wissenschaftler, Forscher und Analysten können bei Bedarf schnell auf zusätzliche HPC-Kapazität für ihre Projekte zugreifen.

Für die Bereitstellung einer HPC-Arbeitslast in Google Cloud können Sie je nach den Anforderungen Ihrer Arbeitslast aus den folgenden Speicherdiensten und -produkten auswählen:

Arbeitslasttyp Empfohlene Speicherdienste und -produkte
Arbeitslasten, die Zugriff mit niedriger Latenz auf Daten benötigen, aber keine extremen E/A-Vorgänge für gemeinsam genutzte Datasets erfordern, und die eine begrenzte Datenfreigabe zwischen Clients haben. Verwenden Sie NFS-Speicher. Wählen Sie aus den folgenden Optionen aus:
Arbeitslasten, die komplexe, unabhängige und umfangreiche E/A-Vorgänge generieren, z. B. eng gekoppelte HPC-Anwendungen, die das Message-Passing Interface (MPI) für eine zuverlässige prozessübergreifende Kommunikation verwenden. Verwenden Sie ein paralleles Dateisystem. Wählen Sie aus den folgenden Optionen aus:
Weitere Informationen zu den Arbeitslastanforderungen, die von parallelen Dateisystemen unterstützt werden können, finden Sie unter Wann parallele Dateisysteme verwendet werden sollten.

Wann parallele Dateisysteme verwendet werden sollten

In einem parallelen Dateisystem speichern mehrere Clients freigegebene Daten über parallele E/A-Pfade auf mehreren Netzwerkspeicherknoten und greifen darauf zu. Parallele Dateisysteme sind ideal für eng gekoppelte HPC-Arbeitslasten wie datenintensive KI-Arbeitslasten und Analysearbeitslasten, die SAS-Anwendungen verwenden. Ziehen Sie die Verwendung eines parallelen Dateisystems wie Lustre für latenzempfindliche HPC-Arbeitslasten in Betracht, die eine der folgenden Anforderungen haben:

  • Eng gekoppelte Datenverarbeitung: HPC-Arbeitslasten wie Wettermodellierung und seismische Erkundungen müssen Daten wiederholt verarbeiten, indem sie viele voneinander unabhängige Jobs verwenden, die gleichzeitig auf mehreren Servern ausgeführt werden. Diese Prozesse verwenden in der Regel MPI, um Daten in regelmäßigen Abständen auszutauschen, und verwenden Prüfpunktausführung, um eine schnelle Wiederherstellung nach Fehlern zu ermöglichen. Parallele Dateisysteme ermöglichen voneinander abhängigen Clients, große Mengen an freigegebenen Daten gleichzeitig über ein Netzwerk mit niedriger Latenz zu speichern und darauf zuzugreifen.
  • Unterstützung der POSIX I/O API und von Semantik: Parallele Dateisysteme wie Lustre sind ideal für Arbeitslasten, die sowohl die POSIX API als auch Semantik benötigen. Die API eines Dateisystems und seine Semantik sind unabhängige Funktionen. NFS unterstützt beispielsweise die POSIX API. So lesen und schreiben Anwendungen Daten mithilfe von Funktionen wie open(), read() und write(). Die Art und Weise, wie NFS den Datenzugriff zwischen verschiedenen Clients koordiniert, entspricht jedoch nicht der POSIX-Semantik zur Koordinierung des Datenzugriffs zwischen verschiedenen Threads auf einem Computer. Beispielsweise unterstützt NFS keine POSIX-Read-after-Write-Cache-Konsistenz zwischen Clients. Es basiert auf schwacher Konsistenz in NFSv3 und Close-to-Open-Konsistenz in NFSv4.
  • Kapazität im Petabytebereich: Parallele Dateisysteme können auf mehrere Petabyte an Kapazität in einem einzelnen Dateisystem-Namespace skaliert werden. NetApp Volumes und Filestore Zonal unterstützen bis zu 100 TiB pro Dataset. Cloud Storage bietet kostengünstige und zuverlässige Kapazität, die automatisch skaliert wird, möglicherweise jedoch nicht die Anforderungen von HPC-Arbeitslasten in Bezug auf Datenfreigabesemantik und niedrige Latenz erfüllen.
  • Niedrige Latenz und hohe Bandbreite: Bei HPC-Arbeitslasten, die Hochgeschwindigkeitszugriff auf sehr große Dateien oder auf Millionen kleiner Dateien benötigen, können parallele Dateisysteme NFS und Objektspeicher übertreffen. Die Latenz von parallelen Dateisystemen (0,5 ms bis 10 ms) ist deutlich niedriger als bei Objektspeicher. Dies kann sich auf die maximalen IOPS-Werte auswirken. Darüber hinaus kann die maximale Bandbreite, die von parallelen Dateisystemen unterstützt wird, um einiges höher sein als bei NFS-basierten Systemen. Beispiel: DDN EXAScaler in Google Cloud hat eine Lesebandbreite von mehr als 10 Tbit/s, mehr als 700 GB/s Schreibbandbreite und 1,9 Millionen Datei-stat()-Aufrufe pro Sekunde mit der IO500-Benchmark.
  • Extreme Clientskalierung: NFS-Speicher kann zwar Tausende von Clients unterstützen, aber parallele Dateisysteme können für den gleichzeitigen Zugriff auf freigegebene Daten von über 10.000 Clients skaliert werden.

Beispiele für eng gekoppelte HPC-Anwendungen

In diesem Abschnitt werden Beispiele für eng gekoppelte HPC-Anwendungen beschrieben, die den Speicher mit niedriger Latenz und hohem Durchsatz benötigen, der von parallelen Dateisystemen bereitgestellt wird.

KI-fähige molekulare Modellierung

Die pharmazeutische Forschung ist ein teurer und datenintensiver Prozess. Moderne Organisationen für die Arzneimittelforschung nutzen KI, um die Kosten für Forschung und Entwicklung zu reduzieren, Vorgänge effizient zu skalieren und die wissenschaftliche Forschung zu beschleunigen. Forscher verwenden beispielsweise KI-fähige Anwendungen, um die Interaktionen zwischen den Molekülen in einem Arzneimittel zu simulieren und die Auswirkungen von Änderungen an den Inhaltsstoffen im Arzneimittel vorherzusagen. Diese Anwendungen werden auf leistungsstarken, parallelisierten GPU-Prozessoren ausgeführt, die eine extrem große Datenmenge laden, organisieren und analysieren, um Simulationen schnell abzuschließen. Parallele Dateisysteme bieten die Speicher-IOPS und den Durchsatz, die erforderlich sind, um die Leistung von KI-Anwendungen zu maximieren.

Kreditrisikoanalyse mit SAS-Anwendungen

Finanzdienstleistungsinstitute wie Hypothekengeber und Investmentbanken müssen die Bonität ihrer Kunden und ihrer Investitionsportfolios ständig analysieren und überwachen. Beispielsweise erheben große Hypothekengeber täglich risikobezogene Daten zu Tausenden potenzieller Kunden. Teams von Kreditanalysten verwenden Analyseanwendungen, um verschiedene Teile der Daten für jeden Kunden gemeinsam zu prüfen, z. B. Einkommen, Bonitätsgeschichte und Ausgabenmuster. Die Erkenntnisse aus dieser Analyse helfen den Kreditanalysten, zeitnah präzise Empfehlungen zu geben.

Finanzdienstleistungsinstitute verwenden Grid-Computing-Plattformen wie SAS Grid Manager, um Analysen für große Datasets zu beschleunigen und zu skalieren. Parallele Dateisysteme wie DDN EXAScaler in Google Cloud unterstützen die Speicheranforderungen von Multithread-SAS-Anwendungen in Bezug auf hohen Durchsatz und niedrige Latenz.

Wettervorhersage

Um Wettermuster in einer bestimmten geografischen Region vorherzusagen, teilen Meteorologen die Region in mehrere Zellen auf und setzen in jeder Zelle Monitoringgeräte wie Bodenradar und Wetterballons ein. Diese Geräte beobachten und messen regelmäßig die atmosphärischen Bedingungen. Die Geräte streamen Daten kontinuierlich an eine Wettervorhersageanwendung, die in einem HPC-Cluster ausgeführt wird.

Die Wettervorhersageanwendung verarbeitet die gestreamten Daten mithilfe mathematischer Modelle, die auf bekannten physikalischen Beziehungen zwischen den gemessenen Wetterparametern basieren. Ein separater Job verarbeitet die Daten aus jeder Zelle in der Region. Wenn die Anwendung neue Messungen erhält, durchläuft jeder Job die neuesten Daten für die zugewiesene Zelle und tauscht die Ausgabe mit den Jobs für die anderen Zellen in der Region aus. Damit Wettermuster zuverlässig vorhergesagt werden können, muss die Anwendung Terabyte an Daten speichern und freigeben, die Tausende von parallel ausgeführten Jobs generieren und aufrufen.

Numerische Strömungsmechanik für die Luftfahrzeugkonstruktion

Numerische Strömungsmechanik (Computational Fluid Dynamics, CFD) umfasst die Verwendung von mathematischen Modellen, physikalischen Gesetzen und Berechnungslogik, um das Verhalten eines Gases oder einer Flüssigkeit um ein sich bewegendes Objekt zu simulieren. Wenn Luftfahrzeugingenieure den Rumpf eines Flugzeugs entwerfen, ist einer der Faktoren, die sie in Betracht ziehen, die Aerodynamik. Mithilfe von CFD können Konstrukteure schnell die Auswirkungen von Konstruktionsänderungen auf die Aerodynamik simulieren, bevor sie Zeit und Geld in den Bau teurer Prototypen investieren. Nach der Analyse der Ergebnisse jedes Simulationslaufs optimieren die Konstrukteure Eigenschaften wie das Volumen und die Form einzelner Komponenten des Flugzeugrumpfs und simulieren die Aerodynamik neu. Mithilfe von CFD können Luftfahrzeugkonstrukteure die Auswirkungen Hunderter dieser Konstruktionsänderungen schnell gemeinsam simulieren.

Damit Konstruktionssimulationen effizient abgeschlossen werden können, benötigen CFD-Anwendungen Zugriff auf freigegebene Daten in weniger als einer Millisekunde und die Möglichkeit, große Datenmengen mit Geschwindigkeiten von bis zu 100 GB/s zu speichern.

Übersicht über Lustre und EXAScaler Cloud

Lustre ist ein paralleles Open-Source-Dateisystem, das Speicher mit hohem Durchsatz und niedriger Latenz für eng gekoppelte HPC-Arbeitslasten bietet. Zusätzlich zu den standardmäßigen POSIX-Bereitstellungspunkten unter Linux unterstützt Lustre Daten- und E/A-Bibliotheken wie NetCDF, HDF5 und MPI-IO, was parallele E/A für die verschiedensten Anwendungsbereiche ermöglicht. Lustre unterstützt viele der größten HPC-Bereitstellungen weltweit. Ein Lustre-Dateisystem hat eine skalierbare Architektur, die die folgenden Komponenten enthält:

  • Ein Verwaltungsserver (Management Server, MGS) speichert und verwaltet Konfigurationsinformationen zu einem oder mehreren Lustre-Dateisystemen und stellt diese Informationen für die anderen Komponenten bereit.
  • Metadatenserver (MDS) verwalten den Clientzugriff auf den Namespace eines Lustre-Dateisystems mithilfe von Metadaten (z. B. Verzeichnishierarchie, Dateinamen und Zugriffsberechtigungen).
  • Objektspeicherserver (OSS) verwalten den Clientzugriff auf die in einem Lustre-Dateisystem gespeicherten Dateien.
  • Mit der Lustre-Clientsoftware können Clients das Lustre-Dateisystem bereitstellen.

In einem Dateisystem können mehrere Instanzen von MDS und OSS vorhanden sein. Bei Bedarf können Sie neue MDS- und OSS-Instanzen hinzufügen. Weitere Informationen zum Lustre-Dateisystem und seiner Funktionsweise finden Sie in der Lustre-Dokumentation.

EXAScaler Cloud ist eine Unternehmensversion von Lustre, die von DDN, einem Google-Partner, angeboten wird. EXAScaler Cloud ist eine Lösung für freigegebene Dateien für die Hochleistungs-Datenverarbeitung und zur Verwaltung der großen Datenmengen, die zur Unterstützung von KI-, HPC- und Analysearbeitslasten erforderlich sind. EXAScaler Cloud ist ideal für Deep-Learning- und Inferenz-KI-Arbeitslasten in Google Cloud. Sie können es in einer Hybrid-Cloud-Architektur bereitstellen, um Ihre lokale HPC-Kapazität zu erweitern. EXAScaler Cloud kann auch als Repository zum Speichern längerfristiger Assets aus einer lokalen EXAScaler-Bereitstellung dienen.

Sycomp Storage Fueled by IBM Spectrum Scale

Mit Sycomp Storage Fueled by IBM Spectrum Scale in Google Cloud Marketplace können Sie Ihr Hochleistungs-Computing (HPC), Ihre künstliche Intelligenz (KI), Ihr maschinelles Lernen (ML) und Ihre Big-Data-Arbeitslasten in Google Cloud ausführen. Mit Sycomp Storage können Sie gleichzeitig auf Daten von Tausenden von VMs zugreifen, Kosten durch automatische Speicherebenenverwaltung senken und Ihre Anwendung lokal oder in Google Cloud ausführen. Sycomp Storage Fueled by IBM Spectrum Scale ist im Cloud Marketplace verfügbar, kann schnell bereitgestellt werden und unterstützt den Zugriff auf Ihre Daten über NFS und den IBM Spectrum Scale-Client.

IBM Spectrum Scale ist ein paralleles Dateisystem, mit dem große Datenmengen (PBs) sicher verwaltet werden können. Das parallele Dateisystem von IBM Spectrum Scale eignet sich gut für HPC, KI, ML, Big Data und andere Anwendungen, die ein POSIX-konformes freigegebenes Dateisystem benötigen. Mit anpassbarer Speicherkapazität und Leistungsskalierung unterstützt Sycomp Storage kleine bis große HPC-, KI- und ML-Arbeitslasten.

Nachdem Sie einen Cluster in Google Cloud bereitgestellt haben, entscheiden Sie, wie Sie ihn verwenden möchten. Wählen Sie aus, ob Sie den Cluster nur in der Cloud oder im Hybridmodus verwenden möchten. Stellen Sie dazu eine Verbindung zu einem vorhandenen lokalen IBM Spectrum Scale-Cluster her.

Nächste Schritte

Beitragende

Autor: Kumar Dhanagopal | Cross-product Solution Developer

Weitere Beitragende: