JobSet: Die neue Lösung für verteilte ML- und HPC-Workloads in Kubernetes

Entdecken Sie JobSet, die innovative API für verteilte Jobs in Kubernetes, die ML-Training und HPC optimiert.

Meta: ayedo Redaktion · 26.03.2025 · ⏳ 3 Minuten · Alle Blogs →
Tagskubernetes · kubernetes-news · api

In der Welt der Kubernetes-Entwicklung gibt es spannende Neuigkeiten: JobSet wurde eingeführt, eine Open-Source-API, die speziell für die Verwaltung verteilter Jobs entwickelt wurde. Ziel von JobSet ist es, eine einheitliche API für das verteilte Training von Machine Learning (ML) und High-Performance-Computing (HPC) Workloads auf Kubernetes bereitzustellen.

Warum JobSet?

Die jüngsten Verbesserungen im Batch-Ökosystem von Kubernetes haben das Interesse von ML-Ingenieuren geweckt, die festgestellt haben, dass Kubernetes hervorragend für die Anforderungen an verteilte Trainings-Workloads geeignet ist.

Große ML-Modelle, insbesondere die sogenannten LLMs (Large Language Models), passen oft nicht in den Speicher der GPU- oder TPU-Chips eines einzelnen Hosts. Stattdessen werden sie über Zehntausende von Beschleunigerchips verteilt, die sich über Tausende von Hosts erstrecken.

In solchen Szenarien wird der Code für das Modelltraining häufig containerisiert und gleichzeitig auf all diesen Hosts ausgeführt. Dabei finden verteilte Berechnungen statt, bei denen sowohl die Modellparameter als auch die Trainingsdaten über die Zielbeschleunigerchips verteilt werden. Hierbei kommen kollektive Kommunikationsprimitive wie all-gather und all-reduce zum Einsatz, um Berechnungen durchzuführen und die Gradienten zwischen den Hosts zu synchronisieren.

Diese Merkmale machen Kubernetes zu einer ausgezeichneten Wahl für solche Workloads, da es die Lebenszyklen containerisierter Anwendungen effizient verwalten und terminieren kann. Es ist zudem sehr erweiterbar, was Entwicklern ermöglicht, eigene Kubernetes-APIs, Objekte und Controller zu definieren, um das Verhalten und den Lebenszyklus dieser Objekte zu steuern.

Allerdings können die bestehenden Kubernetes-Primitiven den sich weiterentwickelnden Techniken des verteilten ML-Trainings nicht mehr gerecht werden. Die Landschaft der Kubernetes-APIs für die Orchestrierung von verteiltem Training ist zudem fragmentiert, und jede der bestehenden Lösungen hat spezifische Einschränkungen, die sie für verteilte ML-Trainingssuboptimal machen.

Beispielsweise definiert der KubeFlow-Trainingsoperator benutzerdefinierte APIs für verschiedene Frameworks (z. B. PyTorchJob, TFJob, MPIJob etc.), jedoch sind diese Jobtypen speziell auf die jeweiligen Frameworks zugeschnitten, was zu unterschiedlichen Semantiken und Verhaltensweisen führt.

Die Job-API hat viele Lücken beim Ausführen von Batch-Workloads geschlossen, darunter den Indexierungsabschlussmodus, höhere Skalierbarkeit, Pod-Fehlermuster und Rücksetzrichtlinien für Pods. Allerdings benötigt die Ausführung von ML-Trainings- und HPC-Workloads mit der upstream Job-API zusätzliche Orchestrierung, um folgende Lücken zu schließen:

  • Multi-Template-Pods: Die meisten HPC- oder ML-Trainingsjobs beinhalten mehr als einen Pod-Typ. Diese Pods gehören zum selben Workload, müssen jedoch unterschiedliche Container ausführen, verschiedene Ressourcen anfordern oder unterschiedliche Fehlermuster haben. Ein gängiges Beispiel ist das Treiber-Arbeiter-Muster.
  • Job-Gruppen: Großangelegte Trainings-Workloads erstrecken sich über mehrere Netzwerk-Topologien und laufen beispielsweise über mehrere Racks. Solche Workloads sind latenzsensitiv und zielen darauf ab, die Kommunikation zu lokalisieren und den Verkehr über die Netzwerklatenz zu minimieren. Um dies zu ermöglichen, muss der Workload in Gruppen von Pods aufgeteilt werden, die jeweils einer Netzwerk-Topologie zugewiesen sind.
  • Inter-Pod-Kommunikation: Ressourcen (z. B. headless Services) erstellen und verwalten, die notwendig sind, um die Kommunikation zwischen den Pods eines Jobs herzustellen.
  • Startsequenz: Einige Jobs erfordern eine spezifische Startsequenz der Pods; manchmal wird erwartet, dass der Treiber zuerst startet (wie bei Ray oder Spark), in anderen Fällen müssen die Arbeiter bereit sein, bevor der Treiber startet (wie bei MPI).

JobSet zielt darauf ab, diese Lücken zu schließen, indem es die Job-API als Baustein verwendet, um eine reichhaltigere API für großangelegte verteilte HPC- und ML-Anwendungsfälle zu schaffen.

Die Einführung von JobSet ist ein bedeutender Schritt nach vorn für Entwickler und DevOps-Teams, die komplexe ML- und HPC-Workloads effizienter verwalten möchten. Bei ayedo sind wir stolz darauf, Kubernetes-Partner zu sein und freuen uns darauf, Ihnen bei der Umsetzung dieser neuen Möglichkeiten zu helfen.


Quelle: Kubernetes Blog

ayedo Alien Kubernetes Hat

Hosten Sie Ihre Apps bei ayedo

Profitieren Sie von skalierbarem App Hosting in Kubernetes, hochverfügbarem Ingress Loadbalancing und erstklassigem Support durch unser Plattform Team. Mit der ayedo Cloud können Sie sich wieder auf das konzentrieren, was Sie am besten können: Software entwickeln.

Jetzt ausprobieren →

Ähnliche Inhalte

Alle Blogs →



ayedo Redaktion · 06.07.2025 · ⏳ 2 Minuten

Herausforderungen und Lösungen: So meistern Sie Geräteausfälle in Kubernetes-Pods

Kubernetes ist der De-facto-Standard für die Container-Orchestrierung, aber wenn es um den Umgang mit spezialisierter Hardware wie GPUs und anderen Beschleunigern geht, wird es kompliziert. In diesem …

Lesen →

Herausforderungen und Lösungen: So meistern Sie Geräteausfälle in Kubernetes-Pods
Katrin Peter · 03.07.2025 · ⏳ 2 Minuten

Produkt-Update bei Loopback:

Lesen →

Produkt-Update bei Loopback:
Katrin Peter · 03.07.2025 · ⏳ 3 Minuten

Kubernetes als Schlüsseltechnologie für die OZG-Umsetzung im Saarland

Lesen →

Kubernetes als Schlüsseltechnologie für die OZG-Umsetzung im Saarland
ayedo Redaktion · 28.06.2025 · ⏳ 3 Minuten

Kompatibilität von Container-Images: Ein Schlüssel zur Zuverlässigkeit in Cloud-Umgebungen

In Branchen, in denen Systeme äußerst zuverlässig laufen müssen und strenge Leistungsanforderungen bestehen, wie beispielsweise in der Telekommunikation, Hochleistungs- oder KI-Computing, benötigen …

Lesen →

Kompatibilität von Container-Images: Ein Schlüssel zur Zuverlässigkeit in Cloud-Umgebungen
Katrin Peter · 17.06.2025 · ⏳ 3 Minuten

Kubernetes kann Freiheit - wenn man es richtig macht.

Lesen →

Kubernetes kann Freiheit - wenn man es richtig macht.

Interessiert an weiteren Inhalten? Hier gehts zu allen Blogs →


Noch Fragen? Melden Sie sich!

Unsere DevOps-Experten antworten in der Regel innerhalb einer Stunde.

Zu Gen-Z für E-Mail? Einfach mal Discord versuchen. Unter +49 800 000 3706 können Sie unter Angabe Ihrer Kontaktdaten auch einen Rückruf vereinbaren. Bitte beachten Sie, dass es keine Möglichkeit gibt, uns telefonisch direkt zu erreichen. Bitte gar nicht erst versuchen. Sollten Sie dennoch Interesse an synchroner Verfügbarkeit via Telefon haben, empfehlen wir Ihnen unseren Priority Support.