Freigeben über


Speicher für Azure HPC-Workloads

Der Zugriff auf den Speicher ist ein entscheidender Faktor, den Sie berücksichtigen sollten, wenn Sie die Leistung von HPC-Workloads (High-Performance Computing) planen. Große HPC-Workloads in bestimmten Umgebungen können Anforderungen an die Datenspeicherung und den Zugriff erstellen, die die Funktionen herkömmlicher Clouddateisysteme überschreiten. Dieser Artikel enthält Empfehlungen, die Ihnen bei der Auswahl des richtigen Speichers für Ihre Azure HPC-Workloads helfen.

Um zu entscheiden, welche Speicherlösung verwendet werden soll, berücksichtigen Sie die folgenden Faktoren im Zusammenhang mit den Anforderungen Ihrer Anwendung:

  • Latenz
  • Eingabe-/Ausgabevorgänge pro Sekunde (IOPS)
  • Durchsatz
  • Dateigrößen und Dateianzahl
  • Auftragslaufzeit
  • Kosten
  • Speicherort (lokal im Vergleich zu Azure)

Weitere Informationen finden Sie unter Grundlegendes zu Faktoren, die die Auswahl von HPC-Speicher in Azure beeinflussen.

Das folgende Diagramm zeigt eine Entscheidungsstruktur, die für eine bestimmte HPC-Speichersystemauswahl vorgesehen ist.

Diagramm, das einen Entscheidungsbaum mit Überlegungen bei der Auswahl einer Speicherlösung anzeigt.

Laden Sie eine Visio-Datei dieser Architektur herunter.

Überlegungen im Zusammenhang mit HPC

  • Datenspeicher und Zugriffsanforderungen variieren je nach Workloadskala stark.

  • Die Anforderungen an leistungsstarke Eingabe/Ausgabe (E/A) und die umfangreichen Skalierbarkeitsanforderungen von HPC stellen einzigartige Herausforderungen für die Datenspeicherung und den Datenzugriff dar.

  • HPC verwendet parallele Verarbeitung und massive Skalierbarkeit, um große und komplizierte Rechenaufgaben schnell und zuverlässig auszuführen, die nicht praktisch oder kosteneffizient sind, um mit herkömmlichen Rechentechniken umzugehen.

Computeknotenverteilung in HPC-Clustern

In Azure HPC-Clustern können Sie Computeknoten als virtuelle Computer (VMs) erstellen, um Aufträge auszuführen, die einem Cluster zugewiesen sind. Um die hochleistungsreiche parallele Verarbeitung zu erreichen, die zum Lösen komplexer HPC-Probleme erforderlich ist, verteilen die Computeknoten diese Aufträge über den Cluster.

Wenn Sie Aufträge ausführen, müssen Computeknoten Lese- und Schreibvorgänge für eine freigegebene Datenquelle ausführen. Knoten greifen in einer Reihe von Szenarien, die zwischen den beiden folgenden Extremen liegen, auf diese Datenquelle zu.

  • Eine Datenquelle für viele Computeknoten: In diesem Szenario gibt es eine einzelne Datenquelle im Netzwerk, auf die alle Computeknoten für Arbeitsdaten zugreifen. Obwohl die Rechenknoten strukturell einfach sind, begrenzt die E/A-Kapazität des Speicherorts die E/A-Vorgänge.

  • Viele Datenquellen zu vielen Rechenknoten: In diesem Szenario gibt es viele Datenquellen im Netzwerk, auf die alle Rechenknoten für Arbeitsdaten zugreifen. Trotz der strukturellen Einfachheit der Computeknoten begrenzt die E/A-Kapazität des Speicherorts die E/A-Vorgänge.

Workload-Datenverkehrsverteilung

Berücksichtigen Sie die Arten des Datenverkehrs, den Ihre HPC-Umgebung generiert und verarbeitet. Dieser Schritt ist besonders wichtig, wenn Sie beabsichtigen, mehrere Arten von Workloads auszuführen und den Speicher für andere Zwecke zu verwenden. Berücksichtigen und erfassen Sie die folgenden Verkehrsarten:

  • Einzelner Stream im Vergleich zu mehreren Datenströmen
  • Verhältnis von Lese- zu Schreibdatenverkehr
  • Durchschnittliche Dateigröße und Dateianzahl
  • Muster für zufälligen Zugriff im Vergleich zu sequenziellen Zugriffsmustern

Datenörtlichkeit

Diese Kategorie berücksichtigt den Speicherort der Daten. Mithilfe von Informationen zur Örtlichkeit können Sie ermitteln, ob Sie Kopieren, Zwischenspeichern oder Synchronisieren als Ihre Strategie für die Datenverschiebung verwenden können. Überprüfen Sie die folgenden Lokalitätselemente im Voraus:

  • Wenn Quelldaten lokal, in Azure oder beides vorhanden sind
  • Wenn Ergebnisdaten lokal, in Azure oder beides vorhanden sind
  • Wenn HPC-Workloads in Azure mit den Zeitplänen zur Änderung von Quelldaten koordiniert werden müssen
  • Wenn vertrauliche Daten oder Daten des Health Insurance Portability and Accountability Act (HIPAA) enthalten sind

Leistungsanforderungen

Die Leistungsanforderungen für Speicherlösungen werden in der Regel zusammengefasst als:

  • Einzel-Datenstromdurchsatz.
  • Mehrfach-Stream-Durchsatz.
  • Erwartete maximale IOPS.
  • Durchschnittliche Latenz.

Jeder Faktor wirkt sich auf die Leistung aus, sodass diese Zahlen als Leitfaden für die erwarteten Ergebnisse einer bestimmten Lösung dienen. Beispielsweise kann ein HPC-Workload als Teil des Workflows umfangreiche Vorgänge wie die Erstellung und Löschung von Dateien umfassen. Diese Vorgänge können sich auf den gesamten Durchsatz auswirken.

Zugriffsmethoden

Berücksichtigen Sie das erforderliche Clientzugriffsprotokoll, und geben Sie die erforderlichen Features an. Es gibt verschiedene Versionen des Netzwerkdateisystems (NFS) und des Servernachrichtenblocks (SMB).

Berücksichtigen Sie die folgenden Anforderungen:

  • Ob NFS- oder SMB-Versionen erforderlich sind
  • Die erforderlichen Protokollfeatures, z. B. Zugriffssteuerungslisten oder Verschlüsselung
  • Gibt an, ob eine parallele Dateisystemlösung erforderlich ist.

Gesamtkapazitätsanforderung

Die Speicherkapazität in Azure wirkt sich auf die Gesamtkosten der Lösung aus. Wenn Sie beabsichtigen, eine große Menge an Daten über einen längeren Zeitraum zu speichern, sollten Sie Tiering als Teil der Speicherlösung in Betracht ziehen. Tiering kombiniert kostengünstige Speicheroptionen mit kostspieligerem und leistungsstärkerem Speicher in einer heißen Ebene. Berücksichtigen Sie die folgenden Kapazitätsanforderungen:

  • Erforderliche Gesamtkapazität
  • Erforderliche Gesamtkapazität der Heißspeicherstufe
  • Erforderliche Gesamtkapazität der warmen Ebene
  • Erforderliche Gesamtkapazität der Kaltspeicherschicht

Authentifizierung und Autorisierungsmethode

Stellen Sie sicher, dass Sie für Authentifizierungs- und Autorisierungsanforderungen, wie beispielsweise die Verwendung eines LDAP-Servers (Lightweight Directory Access Protocol) oder eines Windows Server Active Directory, die notwendigen unterstützenden Systeme in Ihre Architektur einbeziehen. Wenn Sie Funktionen wie Benutzer-ID (UID) oder Gruppen-ID (GID)-Zuordnung zu Windows Server Active Directory-Benutzern unterstützen müssen, vergewissern Sie sich, dass die Speicherlösung diese Funktion unterstützt.

Berücksichtigen Sie die folgenden Netzwerkanforderungen:

  • Lokale Anforderungen (nur UID oder GID auf dem Dateiserver)
  • Verzeichnisanforderungen (LDAP oder Windows Server Active Directory)
  • Ob UID- oder GID-Zuordnung zu Windows Server Active Directory-Benutzern erforderlich ist

HPC-Entwurfsempfehlungen

Wählen Sie die Lösung aus, die für Ihre individuelleN E/A- und Kapazitätsanforderungen am besten geeignet ist.

  • Für hohen Durchsatz, Speicher mit geringer Latenzsollten Sie Standard oder Premium Azure Blob Storageverwenden. Standard- oder Premium Blob Storage bietet die folgenden Vorteile:

    • Bietet Exabyte-Skalierung, hohen Durchsatz, Zugriff mit geringer Latenz, ein vertrautes Dateisystem und mehrere Protokollzugriffe, einschließlich REST, HDFS und NFS.

    • Optimiert die Kosten durch die Behandlung von Petabytes (PB) von Daten und die Verwendung von Lebenszyklusverwaltungsfeatures, die die Datenarchivierung und -löschung optimieren. Dieser Ansatz reduziert speicherkosten im Laufe der Zeit.

    • Unterstützt die Möglichkeit, Blob Storage als Dateisystem mithilfe von BlobFuse-zu mounten. Diese Methode erleichtert es mehreren Knoten, einen Container im Read-Only-Modus zu mounten.

    • Unterstützt NFS 3.0 am Blob-Dienstendpunkt für Workloads mit hohem Durchsatz und hohen Leseanforderungen.

    • Unterstützt die Kostenoptimierung, indem Sie Daten in kühlere Speicherstufen verschieben können. Dieser Optimierung ist möglich aufgrund der Lebenszyklusverwaltung basierend auf der letzten Aktualisierung oder Zugriffsgeschwindigkeit sowie intelligentem Tiering mit anpassbaren Richtlinien.

  • Bei ReadWriteMany (eindeutig) oder schreibgeschützten Anwendungensollten Sie Azure NetApp Filesverwenden. Azure NetApp Files bietet die folgenden Vorteile:

    • Eine vielzahl von Dateiprotokollen wie NFSv3, NFSv4.1 und SMB3

    • Leistung, die mit der lokalen Leistung vergleichbar ist und mehrere Ebenen aufweist (Ultra, Premium, Standard)

    • Wird innerhalb von Minuten bereitgestellt und bietet eine breite Palette von Tarifen und Flexibilität.

    • Flexible Kapazitätspooltypen und -leistung, bei denen die Dienstqualität pro Volume basierend auf der Ebene des Pools und dem Volumekontingent automatisch zugewiesen wird.

NFS

NFS wird häufig verwendet, um Zugriff auf gemeinsam genutzte Speicherorte über das Übertragungssteuerungsprotokoll oder Internetprotokollnetzwerke zu ermöglichen. Eine Server-VM, die NFS verwendet, teilt ihr lokales Dateisystem. In Azure wird dieses Dateisystem auf einer oder mehreren virtuellen Festplatten gespeichert, die in Azure Storage gehostet werden. Clients können dann die freigegebenen Dateien des Servers einbinden und direkt auf den freigegebenen Speicherort zugreifen.

NFS wird häufig für Heimverzeichnisse und Projektbereiche verwendet, die einen Zugriff auf alle Nodes erfordern. Sie kann einen Raum für Forschungsgruppen bereitstellen, die Daten freigeben. Im Allgemeinen sind die Durchsatzworkloads horizontal skalierbar und verfügen über geringe Abhängigkeiten zwischen einzelnen Vorgängen. Auftragsplaner verteilen die Arbeit knotenübergreifend und koordinieren die Aktivität.

NFS ist einfach einzurichten und zu verwalten und wird sowohl auf Linux- als auch auf Windows-Betriebssystemen unterstützt. Sie können mehrere NFS-Server verwenden, um den Speicher über ein Netzwerk zu verteilen, aber einzelne Dateien können nur über einen einzelnen Server zugänglich sein.

Erwägen Sie für Workloads mit geringem Umfang die Ausführung des NFS auf dem Hauptknoten, indem Sie in Abhängigkeit von Ihren Anforderungen eine für Datenspeicher optimierte VM mit großen kurzlebigen Datenträgern oder VMs der D-Serie mit Azure Storage Premium verwenden. Diese Lösung passt zu Workloads mit 500 Kernen oder weniger.

In HPC-Szenarien kann der Dateiserver häufig als Engpass dienen, der die Gesamtleistung drosselt. Versuche, auf nicht zwischengespeicherte Daten von einem einzelnen NFS-Server mit einer höheren Geschwindigkeit als der dokumentierten maximalen IOPS pro VM und dem maximalen Durchsatz zuzugreifen, führen zu einer Drosselung.

In einem Szenario, in dem mehrere Clients versuchen, an Daten zu arbeiten, die auf einem einzelnen NFS-Server gespeichert sind, können Sie schnell Leistungsbeschränkungen erreichen. Diese Grenzwerte können dazu führen, dass die Leistung Ihrer gesamten Anwendung beeinträchtigt wird. Je mehr Ihre HPC-Anwendung einem reinem Eins-zu-viele-Szenario ähnelt, desto schneller stoßen Sie auf diese Einschränkungen.

Parallele Dateisysteme in Azure

Parallele Dateisysteme verteilen den Speicher auf Blockebene über mehrere Netzwerkspeicherknoten. Dateidaten werden unter diesen Knoten verteilt, was bedeutet, dass die Daten auf mehreren Speichergeräten verteilt werden. Diese Verteilung bündelt alle individuellen Speicher-E/A-Anfragen über mehrere Speicherknoten, die über einen gemeinsamen Namespace zugänglich sind.

Mehrere Speichergeräte und mehrere Datenpfade werden verwendet, um einen hohen Grad an Parallelität bereitzustellen. Dieser Ansatz reduziert die Anzahl der Engpässe, die dadurch auferlegt werden, dass jeweils nur auf einen einzigen Knoten zugegriffen wird. Parallele E/A-Vorgänge können jedoch schwierig zu koordinieren und zu optimieren sein, wenn Sie direkt auf der Ebene der API oder POSIX-I/O-Schnittstelle arbeiten. Parallele Dateisysteme bieten Anwendungsentwicklern eine allgemeine Schnittstelle zwischen der Anwendungsschicht und der E/A-Ebene über Zwischendatenzugriffs- und Koordinationsebenen.

Eng gekoppelte Workloads, die die Message Passing Interface (MPI) verwenden, weisen möglicherweise eindeutige Anforderungen für die Kommunikation zwischen Knoten mit geringer Latenz auf. Die Knoten verbinden sich über Hochgeschwindigkeits-Verbindungen und sind nicht leicht anpassbar, um mit anderen Workloads geteilt zu werden. MPI-Anwendungen verwenden die gesamten Hochleistungsverbindungen über den Passthrough-Modus in virtualisierten Umgebungen. Speicher für MPI-Knoten ist in der Regel ein paralleles Dateisystem wie Lustre, auf das auch über die Hochgeschwindigkeitsverbindung zugegriffen wird.

Parallele Dateisysteme wie Lustre werden für HPC-Workloads verwendet, die Zugriff auf große Dateien, gleichzeitigen Zugriff von mehreren Computeknoten und massive Datenmengen erfordern. Die Implementierung paralleler Dateisysteme erleichtert die Skalierung in Bezug auf Funktionalität und Leistung. Diese Dateisysteme nutzen remote direkte Speicherzugriffsübertragungen mit großer Bandbreite und reduzierter CPU-Auslastung. Das parallele Dateisystem kommt häufig als Zwischenspeicher zum Einsatz und ist für die Arbeit gedacht, die optimierte E/A erfordert.

Paralleles „Roll-Your-Own“-Dateisystem

Ähnlich wie NFS können Sie ein BeeGFS- oder Lustre-Dateisystem mit mehreren Knoten erstellen. Die Leistung dieser Systeme hängt hauptsächlich vom Typ der von Ihnen gewählten VMs ab. Sie können Bilder aus dem Azure Marketplace für BeeGFS oder für eine Lustre-Implementierung von DataDirect Networks namens Whamcloudverwenden. Wenn Sie Nicht-Microsoft-Bilder von Anbietern wie BeeGFS oder DataDirect Networks verwenden, können Sie deren Supportdienste erwerben. Sie können BeeGFS und Lustre unter ihren allgemeinen öffentlichen Lizenzlizenzen verwenden, ohne zusätzliche Gebühren zu erheben, abgesehen von den Kosten für Computer und Datenträger. Diese Tools lassen sich ganz einfach mithilfe der Azure-HPC-Skripts mit kurzlebigen lokalen Datenträgern als temporärer Speicher oder mit Azure SSD Premium oder Azure Ultra Disk Storage für dauerhaften Speicher bereitstellen.

HPC-Komponenten

  • Azure NetApp Files und lokale Datenträger werden normalerweise zur Verarbeitung von latenzempfindlichen und IOPS-empfindlichen Workloads verwendet. Erwägen Sie die Verwendung von Azure NetApp Files für Workloads mit bis zu 4.000 Kernen und einem Durchsatz von bis zu 12,8 Gibibyte pro Sekunde (GiBps) sowie für Workloads, die entweder von oder auf einen mehrfachen Protokollzugriff über NFS und SMB auf dieselbe Datenquelle angewiesen sind oder davon profitieren.

  • Azure Managed Lustre bietet schnelleren und höheren Kapazitätsspeicher für HPC-Workloads. Diese Lösung funktioniert für mittlere bis große Workloads und kann 50.000 oder mehr Kerne mit Durchsatz bis zu 500 Gigabyte pro Sekunde (Gbps) und Speicherkapazität bis zu 2,5 Pebibytes (PiB) unterstützen.

  • Standard oder Premium Blob Storage ist kosteneffizient, da sie die kostengünstigste Cloudlösung bereitstellt. Dieser Dienst bietet bei Bedarf exabyte-skalierten, hohen Durchsatz, geringen Latenzzugriff und eine vertraute Dateisystemschnittstelle. Sie unterstützt auch den Mehrfachprotokollzugriff, einschließlich REST, HDFS und NFS. Sie können NFS v3.0 am Blob-Dienstendpunkt für Workloads mit hohem Durchsatz und leseintensive Workloads verwenden. Sie können Die Kosten optimieren, indem Sie zu kühleren Lagerstufen wechseln. Dieser Ansatz ermöglicht eine intelligente Tiering mit anpassbaren Richtlinien und Lebenszyklusverwaltung basierend auf der letzten Aktualisierung oder Zugriffszeit.

  • Datenübertragungen zwischen lokalen Systemen und der Cloud sind möglicherweise erforderlich, um die beste Leistung für die Workload zu erzielen, die für die Computeinstanzen in der Cloud ausgeführt wird. Bei der Offlinemigration werden gerätebasierte Dienste wie Azure Data Box verwendet. Die Onlinemigration verwendet netzwerkbasierte Dienste wie Azure ExpressRoute.

Die folgende Tabelle enthält einen Vergleich von Blob Storage, Azure Files, Managed Lustre und Azure NetApp Files.

Kategorie Blob Storage Azure Files Managed Lustre Azure NetApp-Dateien
Anwendungsfälle – Am besten geeignet für umfangreiche, leseintensive sequenzielle Zugriffsworkloads, bei denen Daten einmal aufgenommen und minimal geändert werden.

– Bietet niedrige Gesamtbetriebskosten mit leichtem Wartungsaufwand.

- Beispielszenarien sind umfangreiche analytische Daten, Durchsatzsensitives Hochleistungs computing, Datensicherung und -archiv, autonomes Fahren, Medienrendering und genomische Sequenzierung.
– Ein hoch verfügbarer Dienst, der am besten für Workloads mit wahlfreiem Zugriff geeignet ist.

- Bietet vollständige POSIX-Dateisystemunterstützung für NFS-Freigaben. Der integrierte CSI-Treiber ermöglicht die einfache Verwendung von VM-basierten Plattformen und Containerplattformen wie Azure Container Instances und Azure Kubernetes Service (AKS).

- Beispielszenarien sind freigegebene Dateien, Datenbanken, Heimverzeichnisse, herkömmliche Anwendungen, Enterprise-Ressourcenplanung, Content Management-Systeme und NAS-Migrationen (Network Attached Storage), die keine erweiterte Verwaltung erfordern. Es umfasst auch benutzerdefinierte Anwendungen, die einen skalierbaren Dateispeicher benötigen.
– Ein vollständig verwaltetes paralleles Dateisystem, das am besten für mittlere bis große HPC-Workloads geeignet ist.

– Ermöglicht HPC-Anwendungen in der Cloud, ohne die Anwendungskompatibilität zu unterbrechen, indem vertraute Lustre parallele Dateisystemfunktionen, Verhaltensweisen und Leistung bereitgestellt werden. Dieser Dienst trägt dazu bei, langfristige Anwendungsinvestitionen zu sichern.
– Ein vollständig verwalteter Dateidienst in der Cloud, unterstützt von NetApp, der über erweiterte Verwaltungsfunktionen verfügt.

– Entwickelt für Workloads, die zufälligen Zugriff erfordern. Sie bietet umfassende Protokollunterstützung und verbesserten Datenschutz.

– Beispielszenarien umfassen die lokale NAS-Migration von Unternehmen, die umfangreiche Verwaltungsfunktionen, latenzabhängige Workloads wie SAP HANA, Latenz-sensitive oder IOPS-intensive Hochleistungsberechnungen oder Workloads erfordert, die gleichzeitigen Zugriff auf mehrere Protokolle erfordern.
Verfügbare Protokolle – NFS 3.0

- REST

– Azure Data Lake Storage
– SMB

– NFS 4.1

- (Keine Interoperabilität zwischen beiden Protokollen)
- Lustre – NFS 3.0 und 4.1

– SMB
Wichtige Features - Integrierte Verwaltung, einschließlich Lebenszyklusverwaltung, unveränderliche Blobs, Datenfailover und Metadatenindex. - Zonenredundanzunterstützung für hohe Verfügbarkeit.

– Konsistente einstellige Millisekundenlatenz.

– Vorhersehbare Leistung und Kosten, die mit Kapazität skaliert werden.
- Hohe Speicherkapazität bis zu 2,5 PB.

- Niedrige Latenz, ca. 2 Millisekunden.

- Neue Cluster in Minuten erstellen.

– Unterstützt containerisierte Workloads mithilfe von AKS.
- Extrem niedrige Latenz, so niedrig wie ein Submillisekunden.

- Umfassende NetApp ONTAP-Verwaltungsmöglichkeiten, wie zum Beispiel SnapMirror Cloud.

– Konsistente Hybrid-Cloud-Erfahrung.
Leistung (pro Volumen) - Bis zu 40.000 IOPS.

- Bis zu 60-GBit/s-Eingangsdurchsatz und 200-GBit/s-Ausgang.
- Bis zu 100.000 IOPS.

- Bis zu 80 GiBps-Durchsatz.
- Bis zu 100.000 IOPS.

- Bis zu 500 GiBps-Durchsatz.
- Bis zu 460.000 IOPS.

- Bis zu 12,8 GiBps-Durchsatz.
Skalierung - Bis zu 5 PiB für ein einzelnes Volumen.

- Ungefähr 4,75 Tebibyte (TiB) für eine einzelne Datei.

- Keine Mindestkapazitätsanforderungen.
- So viel wie 100 TiB für ein einzelnes Volumen.

- So viel wie 4 TiB für eine einzelne Datei.

- 100-GiB-Mindestkapazität.
- So viel wie 2,5 PiB für ein einzelnes Speichervolumen.

- Managed Lustre File System richtet sich an die Dateigrenzwerte von Lustre und unterstützt eine maximale Dateigröße von bis zu 32 PB.

- 4-TiB-Mindestkapazität.
- Bis zu 1.024 TiB für ein einzelnes Volumen.

- Bis zu 16 TiB für eine einzelne Datei.

– Konsistente Hybrid-Cloud-Erfahrung.
Preisgestaltung - Preise für Blob Storage - Azure Files-Preise - Preise für Managed Lustre - Preise für Azure NetApp Files

Nächste Schritte

Die folgenden Artikel bieten Ihnen Unterstützung an verschiedenen Punkten während Ihres Cloud-Einführungsprozesses.