Die Google Kubernetes Engine (GKE) bietet eine leistungsstarke, skalierbare Plattform für Hochleistungs-Computing-Arbeitslasten (HPC). Um eine hohe Leistung und betriebliche Effizienz zu erzielen, können Sie arbeitslastoptimierte Infrastruktur wie HPC-spezifische VM-Familien verwenden, die von GKE bereitgestellt werden. In diesem Dokument werden Best Practices für die Verwaltung Ihrer Infrastruktur und Arbeitslasten beschrieben, um die Ausführung Ihrer HPC-Anwendungen in GKE zu optimieren.
Eine konsolidierte Übersicht über alle GKE-Best Practices finden Sie unter Best Practices für GKE.Infrastruktur- und Knotenkonfiguration
In diesem Abschnitt werden Best Practices für die Konfiguration Ihrer zugrunde liegenden Infrastruktur und GKE-Knoten für HPC-Arbeitslasten beschrieben.
H4D-VMs für rechenintensive Arbeitslasten auswählen
Wählen Sie die passende Hardware für Ihre Anwendung aus. H4D-VMs sind darauf ausgelegt, den Durchsatz für rechenintensive HPC-Anwendungen zu maximieren. H4D-VMs bieten hohe Leistung, niedrige Kosten und Skalierbarkeit für Arbeitslasten mit mehreren Knoten. H4D gehört zur computing-optimierten Maschinenfamilie, die computing-optimierte Instanzen bietet, die sich ideal für rechenintensive und HPC-Anwendungen eignen.
Weitere Informationen zur H4D-Maschinenserie finden Sie unter Computing-optimierte Maschinenfamilie: H4D-Maschinenserie.
Eine Anleitung zum Erstellen von HPC-optimierten GKE-Clustern finden Sie unter Hochleistungs-Computing-Arbeitslasten mit H4D ausführen.
Für Knoten zuweisbare Ressourcen berücksichtigen
Den Unterschied zwischen der gesamten Ressourcenkapazität eines Knotens und den Ressourcen verstehen, die Ihren Arbeitslasten zugewiesen werden können. Auf GKE-Knoten werden Systemkomponenten wie kubelet und die Containerlaufzeit ausgeführt, die Ressourcen für die Funktion benötigen. GKE reserviert eine vordefinierte Menge an Ressourcen für Systemfunktionalität und Knotenzuverlässigkeit. Wenn Sie die tatsächliche Ressourcenzuweisung für Ihre Arbeitslast kennen (die VM-Größe abzüglich der von GKE reservierten Kapazität), können Sie die Ressourcenanfragen für Ihre HPC-Arbeitslasten richtig dimensionieren.
Weitere Informationen finden Sie in den folgenden Ressourcen:
- GKE-Dokumentation zur Planung von Knotengrößen: Zuweisbare Ressourcen auf einem Knoten prüfen.
- Kubernetes-Dokumentation zum Reservieren von Computeressourcen für System-Daemons
Kerne reservieren, um Unterbrechungen zu minimieren
Wenn eine Arbeitslast alle physischen Kerne verwendet, die ihr auf einem Knoten zur Verfügung stehen, kann sie mit latenzsensitiven System-Daemons konkurrieren. Diese Konflikte können zu häufigen Unterbrechungen führen, bei denen der Betriebssystem-Scheduler die HPC-Arbeitslast unterbricht, um Systemaufgaben auszuführen. Dies kann die Leistung beeinträchtigen.
Um die Leistung aufrechtzuerhalten, sollten Sie nicht alle verfügbaren CPUs Ihrer Arbeitslast zuweisen. Wichtige Systemprozesse erfordern einen geringen CPU-Overhead, um ordnungsgemäß zu funktionieren. Wenn Sie 100% der Rechenkapazität Ihrer Arbeitslast zuweisen, kommt es zu Ressourcenkonflikten mit diesen Systemkomponenten, was die Leistung beeinträchtigen kann. Bei H4D-Maschinentypen sollten Sie Ihre Arbeitslast beispielsweise so konfigurieren, dass weniger als 192 CPUs verwendet werden, um die Leistung aufrechtzuerhalten.
Cluster- und Arbeitslastkonfiguration
In diesem Abschnitt werden Best Practices für die Konfiguration Ihrer GKE-Cluster und die Bereitstellung Ihrer HPC-Arbeitslasten beschrieben.
Cluster Toolkit für die Clustererstellung verwenden
Verwenden Sie das Cluster Toolkit, um die Bereitstellung und Verwaltung von HPC-Arbeitslasten in GKE zu vereinfachen. Das Toolkit enthält Referenzdesign-Blaupausen, die Best Practices für die Konfiguration von Compute-, Speicher- und Netzwerkressourcen in einer Hochleistungsumgebung enthalten.
Eine Anleitung zum Erstellen eines H4D-Clusters mit dem Cluster Toolkit finden Sie unter Hochleistungs-Computing-Arbeitslasten mit H4D ausführen.
Flex-Start für die Kapazitätsverwaltung verwenden
Verwenden Sie für dynamische oder zeitunabhängige HPC-Arbeitslasten Flex-Start, um die Kapazitätsverwaltung zu verbessern, wenn die On-Demand- oder reservierte Kapazität von H4D nicht verfügbar ist. Flex-Start verwaltet den Lebenszyklus von H4D-Knoten und hilft, Spitzen oder zeitkritische Ressourcenanforderungen zu bewältigen.
Weitere Informationen finden Sie unter H4D-Cluster mit Flex-Start erstellen.
Richtlinie für kompakte Platzierung für eng gekoppelte Arbeitslasten verwenden
Implementieren Sie eine Richtlinie für kompakte Platzierung für latenzempfindliche, eng gekoppelte HPC-Arbeitslasten. Diese Richtlinie trägt dazu bei, dass alle Pods auf den Hostcomputern nahe beieinander bereitgestellt werden. Diese Konfiguration minimiert die Netzwerklatenz zwischen Knoten, was für Anwendungen, die auf die Kommunikation zwischen Knoten angewiesen sind, von entscheidender Bedeutung ist.
Wenn Sie einen H4D-Cluster mit der gcloud CLI erstellen, wie unter Hochleistungs-Computing-Arbeitslasten mit H4D ausführen beschrieben, konfiguriert GKE automatisch eine Richtlinie für kompakte Platzierung. Wenn Sie das Cluster Toolkit verwenden, wird diese Richtlinie automatisch konfiguriert. Wenn Sie die kompakte Platzierung für andere Knotentypen manuell konfigurieren möchten, finden Sie weitere Informationen unter Kompakte Platzierung für GKE-Knoten definieren.
Geeignete Ressourcenanfragen festlegen
Sehen Sie sich die tatsächlich zuweisbare CPU auf Ihren Knoten an, bevor Sie die Größe Ihrer HPC-Jobs festlegen.
Verwenden Sie den Befehl kubectl get node, um zuweisbare Ressourcen aufzurufen. Achten Sie darauf, dass die CPU-Anforderungen Ihres Jobs die nach den GKE-Systemreservierungen verfügbaren GKE-Ressourcen nicht überschreiten.
GKE bietet mehrere Funktionen, mit denen Sie Ihre Ressourcenanfragen analysieren und automatisch anpassen können. Weitere Informationen finden Sie unter Unter- und überbereitgestellte Arbeitslasten identifizieren.
Ganze Knoten für einzelne Arbeitslasten reservieren
Konfigurieren Sie Ihre MPI-Jobs so, dass sie einen gesamten H4D-Knoten belegen. H4D-Instanzen werden als VMs mit vollständigem Host bereitgestellt. Bei dieser Strategie wird der Großteil der Kapazität des Knotens reserviert, sodass Ihre Arbeitslast isoliert ist. Verwenden Sie Containerressourcenanfragen oder Pod-Anti-Affinität, um sicherzustellen, dass Replikate nicht auf demselben physischen Knoten landen.
Cloud RDMA für Hochgeschwindigkeitsnetzwerke mit H4D-VMs aktivieren
Wenn Sie H4D-VMs verwenden, konfigurieren Sie Ihr Bereitstellungsmanifest so, dass Cloud RDMA für Ihre Pods aktiviert wird. Diese Konfiguration sorgt dafür, dass die Hochgeschwindigkeits-RDMA-Netzwerkschnittstellen Ihrer containerisierten Arbeitslast korrekt zur Verfügung gestellt werden. Eine Anleitung finden Sie unter Manifeste für RDMA konfigurieren.
Zusammenfassung der Best Practices
In der folgenden Tabelle sind die in diesem Dokument empfohlenen Best Practices zusammengefasst:
| Thema | Aufgabe |
|---|---|
| Infrastruktur- und Knotenkonfiguration | H4D-VMs für rechenintensive Arbeitslasten auswählen |
| Infrastruktur- und Knotenkonfiguration | Für Knoten zuweisbare Ressourcen berücksichtigen |
| Infrastruktur- und Knotenkonfiguration | Kerne reservieren, um Unterbrechungen zu minimieren |
| Cluster- und Arbeitslastkonfiguration | Cluster Toolkit für die Clustererstellung verwenden |
| Cluster- und Arbeitslastkonfiguration | Flex-Start für die Kapazitätsverwaltung verwenden |
| Cluster- und Arbeitslastkonfiguration | Richtlinie für kompakte Platzierung für eng gekoppelte Arbeitslasten verwenden |
| Cluster- und Arbeitslastkonfiguration | Geeignete Ressourcenanfragen festlegen |
| Cluster- und Arbeitslastkonfiguration | Ganze Knoten für einzelne Arbeitslasten reservieren |
| Cluster- und Arbeitslastkonfiguration | Cloud RDMA für Hochgeschwindigkeitsnetzwerke mit H4D-VMs aktivieren |
Nächste Schritte
- HPC-Arbeitslasten (Hochleistungs-Computing) mit H4D ausführen
- Informationen zum Planen der GKE-Knotengröße