Verteilte Aufträge

Verteilte Jobs bieten einen vollständig verwalteten Multinode-Computing-Service, der für anspruchsvolle, zeitgebundene KI-Aufgaben wie Modelltraining, Optimierung und Datenvorverarbeitung konzipiert ist.

Überblick

Durch die Eliminierung von Infrastrukturkomplexitäten bietet es On-Demand-Skalierbarkeit und Kosteneffizienz und stellt gleichzeitig eine schnelle, sichere und zuverlässige Ausführung von KI-Workloads sicher. Sie können jetzt ML- oder Daten-Workloads als Jobs ausführen, die sich über mehrere Compute Nodes (VMs oder GPUs) erstrecken, die von Data Science bereitgestellt und orchestriert werden, während Sie angeben, wie diese Knoten gruppiert werden und interagieren. Jede Knotengruppe in Ihrem Cluster kann unabhängig konfiguriert (Compute-Ausprägung, Replikatanzahl, Umgebung und Container) und parallel oder nacheinander bereitgestellt werden, um den Anforderungen Ihres verteilten Trainings oder Serving Frameworks (wie PyTorch, TensorFlow oder benutzerdefinierte Lösungen) zu entsprechen. Sie können Ihren eigenen Code, Artefakte und Container mitbringen. Die gesamte Clusterkommunikation wird sicher verwaltet, und vollständige Metadaten im Cluster werden Ihren Jobs zur präzisen Orchestrierung zur Verfügung gestellt.

Verteilte Jobs bieten die folgenden wichtigen Funktionen:

  • Provisioning einer Multinode-Infrastruktur mit Knotengruppen: Stellen Sie einfach Instanzen bereit, die in Knotengruppen organisiert sind, um die Ressourcenverwaltung zu optimieren.
  • Knotengruppenspezifische Konfigurationen: Konfigurieren Sie jede Knotengruppe unabhängig mit eigenen Infrastruktureinstellungen und jobspezifischen Konfigurationen, einschließlich Umgebungsvariablen (Envars).
  • Konfigurierbare Provisioning-Reihenfolge für Knotengruppen: Stellen Sie mehrere Knotengruppen parallel bereit, wenn das verteilte Verarbeitungs-Framework ein gleichzeitiges Setup erfordert, oder sequenziell, wenn dies vom verteilten Verarbeitungs-Framework erforderlich ist.
  • Verwaltete Intracluster-Kommunikation mit einem tertiären Netzwerk: Das System verwaltet automatisch die Kommunikation zwischen Knoten innerhalb des Clusters und gewährleistet so eine nahtlose Interaktion. Die Netzwerkkommunikation erfolgt sicher und isoliert über ein tertiäres Netzwerk, um die Sicherheit zu erhöhen.
  • Clustermetadatenzugriff: Für jeden Knoten wird eine Metadatendatei verfügbar gemacht, die Details zum Cluster enthält, wie IP-Adressen, FQDN, Knoten-ID und Rangfolge.
  • Eigenen Container für Jobausführungen mit mehreren Knoten bereithalten: Benutzer können BYOC-Einstellungen (Bring Your Own Container) über die Umgebungskonfiguration konfigurieren und verschiedene Umgebungen zwischen Knotengruppen konfigurieren.
  • Gemounteter Dateispeicher für Jobausführungen mit mehreren Knoten: Die Unterstützung für gemounteten Dateispeicher bei Jobausführungen mit mehreren Knoten bietet gemeinsame Daten, Logs, Checkpoints und Ausgabespeicher.
  • Alle unterstützten OCI Data Science-Serviceausprägungen: Alle unterstützten Ausprägungen für vorhandene Workloads sind verfügbar, mit Ausnahme von Ausprägungen mit zwei oder weniger Cores.
  • Stornierung von Multinode-Jobläufen: Brechen Sie Jobläufe jederzeit mit garantierter erfolgreicher Beendigung ab.
  • Timeout bei Ausführung von Multinode-Jobs: Jobausführungen mit automatischem Timeout, die über die maximale Laufzeit hinausgehen, mit einem Standard- (und Höchst-)Limit von 30 Tagen.
  • Konfigurations-Override beim Erstellen von Jobläufen: Infrastruktur- und Knotenkonfigurationen für Einzel- und Multinode-Jobläufe während der Joblauferstellung außer Kraft setzen, um den Ressourcenbedarf für alle Joblaufiterationen anzupassen und anzupassen.
  • Loggingintegration: Integriertes Logging für Jobläufe mit knotenspezifischen Metadaten.
  • Resource-Principal-Verfügbarkeit: Vollständige Unterstützung für Resource-Principal-Authentifizierung für sichere Vorgänge innerhalb der Knoten.

Mit Distributed Jobs können Sie große KI-Workloads ausführen, ohne sich um die Infrastruktur kümmern zu müssen, und gleichzeitig Kosten, Performance und Sicherheit optimieren.

  • Skalierbarkeit: On-Demand-Ressourcenauslastung, um intensive KI-Aufgaben zu bewältigen und eine schnelle Ausführung sicherzustellen.
  • Kosteneffizienz: Zahlen Sie nur für die von Ihnen verwendete Rechenleistung während der verwendeten Zeit ohne inaktive Ressourcenkosten.
  • Geringere Komplexität: Sie müssen keine komplexe Multinode-Infrastruktur verwalten und bereitstellen. Stattdessen können Sie sich auf die KI-Entwicklung konzentrieren.
  • Hohe Verfügbarkeit: Integrierte Fehlertoleranz und garantierte Betriebszeit für zuverlässige Vorgänge.
  • Nahtlose Integration: Einfache Integration in gängige KI-Frameworks, Datenspeicher, Container und Überwachungstools.
  • Sicherheit und Compliance: Gesicherte Datenverarbeitung und Compliance bei OCI.
  • Automatisierte Workflows: Richten Sie zeitgebundene Aufgaben mit der Planung ein.

Bereitgestellte Umgebungsvariablen

Informationen zu den Umgebungsvariablen finden Sie unter Jobumgebungsvariablen.

Policy-Setup

Es sind keine neuen Policys erforderlich. Wenn Sie Data Science bereits verwenden, verfügen Sie höchstwahrscheinlich über die erforderlichen Policys. Weitere Informationen finden Sie unter Policys.

Erste Schritte

Jobkonfiguration erstellen

Befolgen Sie die Schritte unter Job erstellen.

Angegebene Metadaten

Alle Knoten im Cluster können auf die folgenden Details zugreifen:
Metadatendatei

Für jeden Knoten ist eine Metadatendatei unter dem Pfad /home/datascience/job_run_cluster_metadata.json verfügbar. Dieser Pfad ist als Wert für die Umgebungsvariable CLUSTER_NODES_METADATA_FILE verfügbar.

Die Datei enthält die IP-Adresse, den FQDN, die Rangfolge und den Knotengruppennamen sowie die Knoten-ID aller Knoten im Joblauf. Beispiel:
[
 {"IpAddress":"<IP_address_1>","FQDN":"node-0","Rank":"0","NodeGroupName":"NODE_GROUP_1", "NodeId": "<Node_Id_1>"},
 {"IpAddress":"<IP_address_2>","FQDN":"node-1","Rank":"1","NodeGroupName":"NODE_GROUP_1", "NodeId": "<Node_Id_2>"},
 {"IpAddress2:"<IP_address_3>","FQDN":"node-2","Rank":"2","NodeGroupName":"NODE_GROUP_0", "NodeId": "<Node_Id_3>"}
]              
Hinweis

Diese Datei wird aktualisiert, wenn neue Knoten dem Cluster beitreten und schließlich konsistent sind.
FQDN
Abgesehen von der IP-Adresse können die Knoten mit FQDN mit anderen Knoten kommunizieren. Der FQDN kann aus der Datei job_run_cluster_metadata.json abgerufen werden.