In diesem Dokument erfahren Sie mehr über die Vorteile und das Modell der gemeinsamen Verantwortung für die Bereitstellung und Verwaltung von Slurm-Clustern in Google Kubernetes Engine (GKE). Slurm ist ein hochgradig skalierbarer, Open-Source-Arbeitslastmanager und Jobplaner, der auf Arbeitslasten im Bereich Hochleistungs- Computing (HPC) ausgerichtet ist.
In diesem Dokument geht es um das Slurm Operator-Add-on für GKE, das die Slurm-Schnittstelle für Batchjobs in die Skalierbarkeit und das effiziente Ressourcenmanagement von GKE integriert.
Dieses Dokument richtet sich an Datenadministratoren, Operatoren und Entwickler, die Slurm mit dem Slurm Operator-Add-on für GKE aktivieren und konfigurieren möchten.
Gründe für die Verwendung von Slurm in GKE
Wenn Sie Slurm in GKE ausführen, können Sie Umgebungen einrichten, in denen Slurm-Trainingsjobs parallel zu anderen Kubernetes-Arbeitslasten wie Ray-Jobs oder der Bereitstellung von Inferenz auf demselben gemeinsamen Rechenpool ausgeführt werden können.
Cloud de Confiance by S3NS bietet folgende Möglichkeiten, Slurm in GKE auszuführen:
Cluster Director:eine verwaltete Lösung, die eine vordefinierte, vorkonfigurierte Umgebung bietet. Wir empfehlen die Verwendung von Cluster Director, wenn Sie eine verwaltete Umgebung mit minimaler Konfiguration wünschen, in der Google die Slurm-Steuerungsebene, Softwareversionen und Konfigurationen verwaltet. Weitere Informationen finden Sie unter Cluster Director.
Slurm Operator-Add-on für GKE:eine Open-Source-Technologie, die im Rahmen des Open-Source-Projekts Slinky entwickelt wurde und eine verwaltete Installation des Slurm Operator bietet. Diese verwaltete Installation folgt den Best Practices von Google. Das Slurm Operator-Add-on für GKE unterstützt Plattformtechniker, die benutzerdefinierte Plattformen erstellen möchten, auf denen Arbeitslasten im Bereich künstliche Intelligenz (KI), maschinelles Lernen (ML) und HPC auf beschleunigeroptimierten Maschinen ausgeführt werden. Wir empfehlen die Verwendung des Slurm Operator-Add-ons für GKE, wenn Sie die vollständige Kontrolle über Ihre Slurm-Konfigurationen benötigen, benutzerdefinierte Container einbinden oder Slurm mit anderen Arbeitslasten wie Ray oder Inferenz auf demselben Cluster ausführen möchten. Das Slurm Operator-Add-on für GKE bietet folgende Vorteile:
- Einheitliche Infrastruktur:Sie können einen einzelnen GKE-Cluster sowohl für HPC-Batchjobs als auch für Microservices verwalten. Dadurch werden operative Silos reduziert.
- Effiziente Skalierung:Das Slurm Operator-Add-on für GKE nutzt die schnelle Knotenbereitstellung und das effiziente Bin-Packing von GKE, um die Ressourcennutzung zu optimieren.
- Leistungsstarke Hardware: Sie können mit Slurm-Befehlen auf die neuesten Beschleuniger von Cloud de Confiance by S3NSzugreifen, z. B. TPUs und GPUs.
In den folgenden Abschnitten dieses Dokuments geht es um das Slurm Operator-Add-on.
Infrastrukturebene
Normalerweise wird Slurm direkt auf Bare-Metal-Servern oder VMs bereitgestellt. In diesen Setups geht Slurm von einer relativ statischen Gruppe von Knoten aus, die für die Dauer des Lebenszyklus verwaltet werden.
GKE hingegen ist ein verwalteter Dienst, der die zugrunde liegenden VMs abstrahiert, indem er sie als Knoten in einem dynamischen Pool darstellt. GKE übernimmt die Planung und Skalierung dieser Knoten automatisch.
Mit dem Slurm Operator-Add-on für GKE wird Slurm als Arbeitslast in GKE ausgeführt. In diesem Modell bieten GKE und Slurm die folgenden Funktionen:
- GKE als Infrastrukturmanager:GKE stellt die zugrunde liegenden Knoten, das Netzwerk und die Sicherheit bereit und verwaltet sie.
- Slurm als Arbeitslastmanager:Slurm bietet die Schnittstelle für Nutzer zum Senden und Verwalten von Batchjobs.
Durch diese Konvergenz entsteht ein heterogener Stack, in dem Slurm-Jobs dieselbe zugrunde liegende Hardware (z. B. GPUs und TPUs) mit Kubernetes-Anwendungen wie Ray oder Inferenz-Serving gemeinsam nutzen können.
Funktionsweise des Slurm Operator-Add-ons
Wenn Sie das Slurm Operator-Add-on für GKE in Ihren GKE-Clustern aktivieren, führt GKE die folgenden Schritte aus:
- GKE installiert und hostet den Slurm Operator. Dieser Operator wird in der GKE-Steuerungsebene ausgeführt und verwaltet den Lebenszyklus der in Ihrem Cluster bereitgestellten Slurm-Komponenten. Dieser Operator verarbeitet automatisch Voraussetzungen wie die Zertifikatsgenerierung und die Verwaltung benutzerdefinierter Ressourcen.
- Nachdem der Operator ausgeführt wird, definieren Sie die Slurm-Clustertopologie mit benutzerdefinierten Kubernetes-Ressourcen.
- Der Operator stellt die erforderlichen Pods bereit, z. B. Controller, Anmelde- und Worker-Pods, um den Spezifikationen Ihrer Arbeitslast zu entsprechen.
Benutzerdefinierte Ressourcen
Das Slurm Operator-Add-on für GKE verwendet die folgenden benutzerdefinierten Ressourcen, um den Slurm-Cluster zu verwalten:
- NodeSet:definiert eine Gruppe homogener Worker-Knoten. Sie können Slurm-Worker bestimmten GKE-Knotenpools oder Hardwaretypen zuordnen. Sie können beispielsweise ein NodeSet für H100-GPUs und ein weiteres für TPUs erstellen.
- Controller:definiert eine Kernkomponente des Slurm-Clusters, nämlich einen Controller. Diese Ressource erstellt eine
slurmctld-Komponente in einem Pod und alle anderen Komponenten wie ein NodeSet oder LoginSet. - LoginSet:definiert die Anmeldeknoten, bei denen sich Nutzer anmelden, um Jobs zu senden.
- Restapi:definiert eine REST API-Komponente des Slurm-Clusters.
- Accounting:Bei der Konfiguration wird die Komponente
slurmdbdbereitgestellt, um die Jobabrechnung und die Nutzungsnachverfolgung zu verarbeiten. Sie ist in der Regel mit einer Cloud SQL-Datenbank verbunden.
Gemeinsame Verantwortlichkeiten des Slurm Operator-Add-ons
Wenn Sie Slurm in GKE mit dem Slurm Operator-Add-on für GKE ausführen, Cloud de Confiance by S3NS teilen Sie sich die Verantwortlichkeiten. Diese Integration bietet Ihnen die Flexibilität, die Umgebung anzupassen, während Google die Orchestrierungsebene verwaltet.
Verantwortlichkeiten von Google
- Lebenszyklus des Operators:Installieren Sie den Slurm Operator.
- GKE-Steuerungsebene:Verwalten Sie die Zuverlässigkeit und Verfügbarkeit der GKE-Steuerungsebene.
- Benutzerdefinierte Kubernetes-Ressourcendefinition:Verwalten Sie die für Slurm erforderlichen benutzerdefinierten Ressourcen.
- Basis-Images:Stellen Sie optimierte, Google-eigene Container-Images für Slurm-Komponenten bereit. Die Verwendung dieser Images ist optional. Wenn Sie Ihren Slurm-Cluster konfigurieren, können Sie diese von Google bereitgestellten Images oder Ihre eigenen Images verwenden.
Verantwortlichkeiten des Kunden
- Slurm-Konfiguration:Definieren Sie die Slurm-Clustertopologie, Partitionen, Limits und Plug-ins mit YAML-Dateien.
- Jobübermittlung:Verwalten Sie den Nutzerzugriff und die Workflows für die Jobübermittlung.
- Benutzerdefinierte Images:Pflegen Sie benutzerdefinierte Container-Images, die für Anmelde- oder Worker-Knoten verwendet werden, wenn die Standard-Images von Google nicht den spezifischen Anforderungen entsprechen.
- Externe Abhängigkeiten:Verwalten Sie externe Ressourcen wie Cloud SQL für die Abrechnung oder Filestore für freigegebenen Speicher.
Weitere Informationen finden Sie unter GKE-Modell der gemeinsamen Verantwortung.
Nächste Schritte
So legen Sie mit dem Slurm Operator-Add-on für GKE los:
- Informationen zum Bereitstellen eines Slurm-Clusters in GKE.
- Informationen zum Aktivieren des Slurm Operator-Add-ons.