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 Cloudkö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 verwenden. Ziehen Sie die Verwendung eines parallelen Dateisystems wie Managed 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 Managed 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()
undwrite()
. 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 unterstützt bis zu 1 PB und Filestore Regional und Zonal bis zu 100 TiB pro Dateisystem. 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 Submillisekunden-Latenz von parallelen Dateisystemen 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, die die NIC einer VM sättigen können.
- Extreme Clientskalierung : NFS-Speicher kann Tausende von Clients unterstützen. Parallele Dateisysteme können für den gleichzeitigen Zugriff auf freigegebene Daten von über 10.000 Clients skaliert werden und können unabhängig von der Anzahl der Clients einen hohen Durchsatz bieten.
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-gestützte 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 Managed Lustre 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 Optionen für parallele Dateisysteme
In diesem Abschnitt finden Sie einen allgemeinen Überblick über die Optionen, die inGoogle Cloud für parallele Dateisysteme verfügbar sind.
Google Cloud Managed Lustre
Managed Lustre ist ein von Google verwalteter Dienst, der Speicher mit hohem Durchsatz und niedriger Latenz für eng gekoppelte HPC-Arbeitslasten bietet. Sie beschleunigt HPC-Arbeitslasten sowie KI-Training und ‑Inferenz erheblich, da sie einen Zugriff mit hohem Durchsatz und niedriger Latenz auf massive Datasets ermöglicht. Informationen zur Verwendung von Managed Lustre für KI- und ML-Arbeitslasten finden Sie unter Speicher für KI- und ML-Arbeitslasten in Google Cloud entwerfen. Bei Managed Lustre werden Daten auf mehrere Speicherknoten verteilt, was den gleichzeitigen Zugriff durch viele VMs ermöglicht. Durch diesen parallelen Zugriff werden Engpässe vermieden, die bei herkömmlichen Dateisystemen auftreten. Außerdem können Arbeitslasten die erforderlichen großen Datenmengen schnell aufnehmen und verarbeiten.
Logo: DDN Infinia
Wenn Sie eine erweiterte KI-Datenorchestration benötigen, können Sie DDN Infinia verwenden, das im Google Cloud Marketplace verfügbar ist. Infinia bietet eine KI-basierte Datenanalyselösung, die für Inferenz, Training und Echtzeitanalysen optimiert ist. Sie ermöglicht die ultraschnelle Aufnahme von Daten, die Indexierung mit Metadaten und die nahtlose Integration in KI-Frameworks wie TensorFlow und PyTorch.
Im Folgenden sind die wichtigsten Funktionen von DDN Infinia aufgeführt:
- Hohe Leistung: Bietet Latenzen von unter einer Millisekunde und einen Durchsatz von mehreren TB/s.
- Skalierbarkeit: Unterstützt die Skalierung von Terabyte auf Exabyte und kann in einer einzelnen Bereitstellung bis zu 100.000 GPUs und eine Million gleichzeitiger Clients aufnehmen.
- Multi-Tenancy mit vorhersehbarer Dienstqualität (Quality of Service, QoS): Bietet sichere, isolierte Umgebungen für mehrere Mandanten mit vorhersehbarer QoS für eine konsistente Leistung bei allen Arbeitslasten.
- Einheitlicher Datenzugriff: Ermöglicht die nahtlose Integration in bestehende Anwendungen und Workflows durch integrierte Unterstützung mehrerer Protokolle, einschließlich Amazon S3-kompatibler, CSI- und Cinder-Protokolle.
- Erweiterte Sicherheit: Integrierte Verschlüsselung, fehlertolerante Erasure Coding-Verfahren und Snapshots sorgen für Datenschutz und Compliance.
Sycomp Storage Fueled by IBM Storage Scale
Mit Sycomp Storage Fueled by IBM Storage Scale, das im Google Cloud Marketplace verfügbar ist, können Sie Ihre HPC-, KI- und ML- sowie Big-Data-Arbeitslasten in Google Cloudausfü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 Cloudausführen. Sycomp Storage kann schnell bereitgestellt werden und unterstützt den Zugriff auf Ihre Daten über NFS und den IBM Storage Scale-Client.
IBM Storage Scale ist ein paralleles Dateisystem, mit dem große Datenmengen (PBs) sicher verwaltet werden können. Sycomp Storage Scale ist ein paralleles Dateisystem, das sich gut für HPC, KI, ML, Big Data und andere Anwendungen eignet, 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 Cloudbereitgestellt 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 vorhandenen lokalen IBM Storage Scale-Clustern, NFS NAS-Lösungen von Drittanbietern oder anderen objektbasierten Speicherlösungen her.
Beitragende
Autor: Kumar Dhanagopal | Cross-product Solution Developer
Weitere Beitragende:
- Barak Epstein | Product Manager
- Carlos Boneti | Senior Staff Software Engineer
- Dean Hildebrand Technical Director, Office of the CTO
- Sean Derrington | Group Outbound Product Manager, Speicher
- Wyatt Gorman | HPC Outbound Product Manager