Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Bevor Sie einen Cluster in Azure CycleCloud erstellen, planen Sie, wie der Cluster strukturiert und dimensioniert ist. Gute Planungsentscheidungen im Voraus – bezüglich des Schedulers, der virtuellen Maschinentypen (VM), der Skalierung des Clusters und der Speicherung und Übertragung von Daten – bestimmen, wie gut der Cluster performt und wie teuer der Betrieb ist.
Dieser Artikel beschreibt die wichtigsten Entscheidungen, die Sie treffen sollten, wenn Sie einen HPC-Cluster in CycleCloud planen. Es ergänzt CycleCloud-Cluster und -Knoten, in dem erklärt wird, was Cluster, Knoten und Knoten-Arrays sind, und Einen neuen Cluster erstellen, in dem beschrieben wird, wie Sie aus einer Vorlage einen Cluster erstellen.
Bestätigen Sie, dass CycleCloud zu Ihrer Arbeitslast passt
Nutzen Sie CycleCloud, wenn Sie einen bestimmten HPC-Scheduler betreiben, die Clustertopologie und den Software-Stack anpassen oder sich eng an bestehende On-Premises-Workflows anpassen müssen. Bevor Sie einen benutzerdefinierten Cluster dimensionieren, sollten Sie diese Alternativen in Betracht ziehen:
- Wählen Sie Azure CycleCloud Workspace für Slurm, wenn Sie eine einsatzbereite Slurm-Umgebung benötigen, bei der Netzwerk-, Speicher- und Zugriffskomponenten in Ihrem Abonnement bereitgestellt werden.
- Wählen Sie Azure Batch, wenn Sie möchten, dass Azure Scheduling als Service bereitstellt, und Ihre Anwendung kann Batch-Pools, Jobs und Tasks verwenden.
Wenn CycleCloud das richtige Betriebsmodell ist, verwenden Sie die folgenden Abschnitte, um eine Planungsbasis zu erstellen. Zeichnen Sie Ihre Entscheidungen über Planerer, VM, Skalierung, Quoten, Region, Speicher, Netzwerk und Kosten vor der Bereitstellung auf und validieren Sie diese mit einer repräsentativen Arbeitsbelastung.
Wählen Sie einen Scheduler
CycleCloud ist unabhängig vom verwendeten Scheduler. Es hat integrierte Unterstützung für die Scheduler, die die meisten HPC-Teams bereits verwenden, und fügt jedem dieser Teams Autoskalierung hinzu:
- Slurm
- PBS Professional
- IBM Spectrum LSF
- Altair Grid Engine
- HTCondor
Wählen Sie den Scheduler, der Ihren bestehenden Workflows und Job-Skripten entspricht, damit Sie Workloads mit minimalen Änderungen nach Azure verschieben können. Wenn Ihre Organisation einen Scheduler verwendet, der nicht in der integrierten Liste ist, können Sie ihn mit der CycleCloud-Autoskalierungs-API integrieren. Weitere Informationen finden Sie unter Planung in CycleCloud.
Wählen Sie VM-Familien und -Größen
Die VM-Familie und die Größe, die Sie für Rechenknoten auswählen, haben den größten Einfluss auf Leistung und Kosten. Passen Sie die VM an die Eigenschaften Ihrer Arbeitslast an:
- Eng gekoppelte (MPI)-Workloads, die Daten zwischen Knoten austauschen, profitieren von HPC-optimierten VMs mit einer InfiniBand-Verbindung mit geringer Latenz, wie etwa den HPC-VM-Größen.
- GPU-beschleunigte Workloads, wie KI-Training oder Rendering, verwenden GPU-optimierte VM-Größen.
- Hochgradig parallele oder Durchsatz-Workloads, bei denen Aufgaben unabhängig ausgeführt werden, können allgemeine oder rechenoptimierte VMs verwenden und benötigen keine spezialisierte Interconnect.
Für einen vollständigen Vergleich der VM-Optionen siehe Größen für virtuelle Maschinen in Azure.
Da ein Node-Array mehr als ein Skalierungsset für virtuelle Maschinen umfassen kann, kann ein einzelnes Array VMs unterschiedlicher Größe oder Familien für dieselbe Aufgabe anbieten. Diese Flexibilität hilft, wenn Ihre bevorzugte VM-Größe in einer Region eine begrenzte Kapazität hat. Weitere Informationen finden Sie unter CycleCloud-Cluster und -Knoten.
Größen Sie den Cluster und planen Sie die automatische Skalierung
CycleCloud skaliert automatisch die Anzahl der Compute-Knoten basierend auf der im Scheduler eingelagerten Arbeit, sodass du keine feste Clustergröße raten musst. Plane stattdessen folgende Grenzen:
- Maximale Größe. Das Cluster-Erstellungsformular begrenzt, wie weit ein Cluster automatisch skaliert, basierend auf der Gesamtzahl der Knoten oder Kerne, die er starten kann. Setze dieses Limit so, dass es die größte erwartete Arbeitsbelastung und die in der Region verfügbare Quote widerspiegelt.
- Dedizierte versus Spot-Knoten.Dedizierte Nodes sind für deinen Pool reserviert und bieten dir eine vorhersehbare Kapazität. Spot-Knoten nutzen überschüssige Azure-Kapazität zu einem reduzierten Preis, aber Azure kann sie zurückfordern, wenn es die Kapazität wieder benötigt. Verwenden Sie dedizierte Knoten für zeitkritische oder langlaufende Aufträge und Spot-Knoten für fehlertolerante oder wiederstartbare Arbeiten, bei denen Kosten wichtiger sind als die garantierte Verfügbarkeit.
- Herunterskalierungsverhalten Autoscaling entfernt leere Knoten, sodass du nicht mehr für Rechenleistungen zahlst, die du nicht nutzt. Bestätigen Sie, dass Ihre Jobs Ergebnisse auf dauerhaften Speicher schreiben, denn lokale Daten auf einem Knoten gehen verloren, wenn der Knoten freigegeben wird.
Grenzen der automatischen Skalierung verstehen
Für einen CycleCloud-Cluster bestimmen mehrere unabhängige Grenzen, wie viele Knoten CycleCloud starten kann. Das niedrigste effektive Limit gewinnt:
| Limit | Was sie steuert |
|---|---|
| Verfügbare gesamte regionale vCPU-Quote | Die verbleibenden vCPUs, die Ihr Abonnement regionenweit über alle VM-Familien hinweg bereitstellen kann. |
| Verfügbare VM-Familie vCPU-Quote | Die verbleibenden vCPUs, die dein Abonnement für die ausgewählte VM-Familie in der Region bereitstellen kann. Beide vCPU-Quoten müssen die Bereitstellung erlauben. |
CycleCloud MaxCount |
Die maximale Anzahl von Knoten in einem Knotenarray. |
CycleCloud MaxCoreCount |
Die maximale Anzahl von Kernen in einem Knotenarray. Wenn eine Vorlage sowohl MaxCount als auch MaxCoreCount definiert, wendet CycleCloud den niedrigeren effektiven Grenzwert an. |
Important
Kontingente und CycleCloud-Grenzwerte sind Obergrenzen, keine Kapazitätsreservierungen. Die tatsächliche Bereitstellung kann aufgrund temporärer Azure-Kapazitätsbeschränkungen oder Konfigurationsfehler niedriger sein.
Um eine Einschränkung zu identifizieren, gehen Sie zur CycleCloud-Clusterseite für Ihren Cluster. In der Nodes-Tabelle wählen Sie Aktionen>hinzufügen. Der Dialog "Knoten hinzufügen" beschreibt die anwendbaren Einschränkungen für das ausgewählte Knotenarray.
Angenommen, ein Node-Array verwendet VMs der aktuellen Generation Standard_HB368rs_v5 , die jeweils 368 vCPUs verbrauchen, und hat folgende Grenzen:
| Constraint | Verfügbares oder konfiguriertes Limit | Effektive Knoten |
|---|---|---|
| Gesamte regionale vCPU-Quote | 3.680 vCPUs | 10 |
| vCPU-Kontingent der HBv5-VM-Familie | 2.208 vCPUs | 6 |
CycleCloud MaxCount |
8 Knoten | 8 |
Das Kontingent der HBv5-VM-Familie ist die niedrigste Grenze, daher beträgt die konfigurierte Obergrenze sechs Knoten, obwohl MaxCount acht zulässt. Wenn Azure beim Ausführen der Anfrage nur fünf VMs bereitstellt, stellt CycleCloud fünf Knoten bereit und die verbleibende Anfrage bleibt eingeschränkt, bis die Kapazität verfügbar ist. Allein eine Erhöhung MaxCount erhöht weder die Quotenobergrenze noch die verfügbare Kapazität.
Wenn eine Vorlage MaxCoreCount verwendet, teilen Sie diesen Wert durch die Anzahl der vCPUs der VM und runden Sie ab, um die Knotenobergrenze zu ermitteln. Für Definitionen beider CycleCloud-Einstellungen siehe Node- und Node-Array-Objekte.
Überprüfe Quote, Kapazität und Region
Die VMs, die Sie verwenden möchten, müssen in der Region, in der Sie deployen, verfügbar und innerhalb der Quote sein:
- Region. Wählen Sie eine Region aus, die die VM-Familien bietet, die Ihr Workload benötigt, und die sich in der Nähe Ihrer Daten und Benutzer befindet. Nicht jede VM-Familie ist in jeder Region verfügbar.
- Kontingent. Core-(vCPU-)Quoten werden pro Region und pro VM-Familie festgelegt. Stellen Sie sicher, dass Ihre Quote hoch genug für die maximal geplante Clustergröße ist, und fordern Sie gegebenenfalls eine Quotenerhöhung an.
- Kapazität. Selbst innerhalb der Quote können HPC-VM-Größen zu einem bestimmten Zeitpunkt in einer Region begrenzt sein. Betrachten Sie eine Rückfall-VM-Größe oder eine zusätzliche Region für große oder zeitkritische Läufe.
Speicher und Netzwerk planen
HPC-Jobs sind oft daran gebunden, wie schnell sie Daten lesen und schreiben können, nicht nur durch Rechenleistung:
- Gemeinsame Dateisysteme. Die meisten HPC-Cluster benötigen ein gemeinsames Dateisystem, das alle Knoten einbinden können. CycleCloud kann NFS-Server und parallele Dateisysteme (zum Beispiel BeeGFS) als Teil des Clusters bereitstellen, und Sie können sich mit verwalteten Diensten wie Azure NetApp Files oder Azure Managed Lustre verbinden.
- Vernetzen. Eng gekoppelte MPI-Jobs erfordern die InfiniBand-Interkonnektive, die auf HPC-optimierten VMs verfügbar ist. Bestätigen Sie, dass sowohl die VM-Größe als auch die Region dies unterstützen.
- Vernetzung. Plane das virtuelle Netzwerk und die Subnetze, die den Cluster hosten, und stelle sicher, dass der CycleCloud-Anwendungsserver den ausgehenden Zugriff hat, den er zur Verwaltung der Knoten benötigt. Für Produktionshinweise siehe Plan deiner Produktionseinsetzung.
Wählen Sie einen Cluster-Datenpfad
Wie man Daten auf Rechenknoten bekommt, hat einen großen Einfluss auf Durchsatz und Kosten. Wählen Sie basierend darauf, wie Ihre Jobs Daten lesen und schreiben:
| Auswahl | Am besten geeignet für: | Hinweise |
|---|---|---|
| BlobFuse2 (Streaming) | Große Datensätze direkt aus Blob (KI-Trainingsdaten, Simulationseingaben) mit hoher Durchsatzrate zu lesen, ohne festen Dateiserver | FUSE-Einhängung pro Knoten; nicht vollständig POSIX-konform. Siehe Einbinden von Azure Blob Storage in Clusterknoten. |
| Azure Managed Lustre | Eng gekoppelte oder I/O-intensive Jobs, die ein gemeinsames, POSIX-paralleles Dateisystem benötigen; kann aus Blob hydratisieren | Verwaltetes paralleles Dateisystem. Siehe Azure Managed Lustre. |
| Azure HPC Cache | Zwischenspeicherung eines bestehenden NAS- oder Blob-Backends für leseintensive HPC, einschließlich Hybrid- und On-Premises-Daten | Verteilte Cache-Schicht vor dem Speicher. Siehe Azure HPC Cache. |
| Azure NetApp Files | Gemeinsam genutztes NFS oder SMB mit niedriger Latenz für EDA sowie allgemeinen HPC-Home- und Scratch-Speicher | Verwalteter Dateidienst. Siehe Azure NetApp Files. |
Als Faustregel: Nutze BlobFuse2-Streaming , wenn deine Daten bereits in Blob liegen und Jobs sie größtenteils lesen. Verwenden Sie ein gemeinsames oder paralleles Dateisystem (Managed Lustre oder NetApp Files), wenn Jobs Koordination zwischen Knoten, POSIX-Semantik oder umfangreiche gemeinsame Schreibvorgänge benötigen. Verwenden Sie eine Cache-Ebene (HPC Cache), wenn Sie den Zugriff auf ein bestehendes Backend beschleunigen müssen.
Planen Sie für die Kosten
Rechenkosten sind in der Regel der größte Aufwand in einer HPC-Umgebung. Planen Sie, diese Kosten zu kontrollieren, indem Sie:
- Ich nutze automatische Skalierung und Spot-Knoten, um nicht für Leerlaufkapazitäten zu bezahlen.
- VMs werden passgenau auf die Workload abgestimmt, anstatt standardmäßig die größte Option zu wählen.
- Ausgaben durch die integrierte Integration mit Microsoft Cost Management verfolgen. Weitere Informationen finden Sie unter Kosten- und Nutzungsverfolgung.
Validiere den Cluster vor der Produktion
Führe einen Proof of Concept mit einem repräsentativen Job, dessen erwartetem Datenvolumen sowie dem Produktionsplaner und der Clusterkonfiguration durch. Genehmigen Sie das Design erst für die Produktion, wenn Sie für jedes Kriterium einen Nachweis dokumentieren können:
| Kriterium | Zu dokumentierende Nachweise |
|---|---|
| Workflow-Kompatibilität | Bestehende Jobskripte, Scheduler-Richtlinien, Software, Lizenzen und Identitätsintegrationen funktionieren ohne ungeplante Änderungen. |
| Umfang und Quote | Die automatische Skalierung erreicht die erforderliche Knotenanzahl in der beabsichtigten Region, ohne die gesamten regionalen Grenzwerte, die Grenzwerte der VM-Familie, die Grenzwerte für MaxCount oder die Grenzwerte für MaxCoreCount zu überschreiten. |
| Rechen- und Speicherleistung | Die End-to-End-Gesamtzeit des Jobs entspricht dem Zielwert, einschließlich Zeit in der Warteschlange, Knotenbereitstellung, Bereitstellung der Daten, Rechenzeit und Persistierung der Ergebnisse. |
| Wiederherstellung | Nach einem Fehler bei der Bereitstellung eines Knotens, dem Fehlschlag eines Jobs oder einer Spot-Verdrängung, sofern verwendet, bleibt die Arbeitslast innerhalb der dokumentierten maximalen Wiederherstellungszeit und des zulässigen Checkpoint-Verlusts, hält die Fertigstellungsfrist ein und nutzt erfolgreich die geplante Fallback-VM-Größe. |
| Cost | Die gemessenen Rechen-, Speicher-, Netzwerk- und Lizenzkosten pro abgeschlossener Auftrag entsprechen dem Ziel bei der erwarteten Laufzeit. |
| Vorgänge | Benannte Eigentümer können den Scheduler und die Infrastruktur überwachen, fehlgeschlagene Skalierungsanfragen untersuchen, die Umgebung patchen sowie Jobs und Daten wiederherstellen. |
Wenn ein Kriterium nicht erfüllt wird, passe die VM, die Grenzwerte des Knoten-Arrays, den Speicherpfad, die Autoskalierungskonfiguration oder den regionalen Ausweichmechanismus an und wiederhole denselben Job. Ein kleiner Funktionstest stellt keine Produktionsbereitschaft fest, weil er keine Planer-Kompatibilität, Spitzenskalierung oder Datenbewegung prüft.