GPU-Slicing & Kubernetes: Wie man teure KI-Ressourcen effizient teilt
David Hussain 4 Minuten Lesezeit

GPU-Slicing & Kubernetes: Wie man teure KI-Ressourcen effizient teilt

In der modernen IT-Infrastruktur ist die GPU zur neuen CPU geworden. Ob Large Language Models (LLMs), Computer Vision oder komplexe Datenanalysen - der Hunger nach Rechenleistung auf Grafikkarten ist im Mittelstand massiv gestiegen. Doch während CPUs seit Jahrzehnten effizient virtualisiert und geteilt werden, stellen GPUs Plattform-Ingenieure oft vor ein Dilemma: Eine High-End-Grafikkarte (wie eine NVIDIA H100 oder A100) ist für einen einzelnen Microservice oft überdimensioniert, gleichzeitig aber zu teuer, um sie im Leerlauf zu lassen.
gpu-slicing kubernetes nvidia-mig ressourcenteilung ki-ressourcen hardware-isolation cloud-infrastruktur

In der modernen IT-Infrastruktur ist die GPU zur neuen CPU geworden. Ob Large Language Models (LLMs), Computer Vision oder komplexe Datenanalysen - der Hunger nach Rechenleistung auf Grafikkarten ist im Mittelstand massiv gestiegen. Doch während CPUs seit Jahrzehnten effizient virtualisiert und geteilt werden, stellen GPUs Plattform-Ingenieure oft vor ein Dilemma: Eine High-End-Grafikkarte (wie eine NVIDIA H100 oder A100) ist für einen einzelnen Microservice oft überdimensioniert, gleichzeitig aber zu teuer, um sie im Leerlauf zu lassen.

Die Lösung für dieses Problem ist GPU-Slicing. In diesem Beitrag erfahren Sie, wie Sie Ihre teure Hardware in Kubernetes Clustern so partitionieren, dass mehrere Workloads gleichzeitig davon profitieren, ohne sich gegenseitig zu blockieren.

Die Herausforderung: Das “Ganz-oder-gar-nicht”-Prinzip

Standardmäßig behandelt Kubernetes eine GPU als unteilbare Ressource. Ein Pod fordert nvidia.com/gpu: 1 an, und das System weist ihm die gesamte Hardware exklusiv zu. Für intensives Modell-Training mag das sinnvoll sein. Für die Inference (das Ausführen eines Modells), bei der die GPU vielleicht nur zu 15 % ausgelastet ist, führt dies jedoch zu massiver Ressourcenverschwendung.

Um die Effizienz zu steigern, haben sich drei technische Ansätze etabliert, die wir bei ayedo im Kontext souveräner Infrastrukturen einsetzen.

1. Multi-Instance GPU (MIG)

NVIDIA MIG ist die robusteste Form des Slicings auf Hardware-Ebene (verfügbar ab der Ampere-Architektur). Hierbei wird eine physische GPU in bis zu sieben unabhängige Instanzen unterteilt.

  • Technische Tiefe: Jede Instanz verfügt über einen eigenen, isolierten Teil des Speichers (VRAM) und der Rechenkerne (SMs). Das bedeutet Hardware-Isolation: Wenn ein Workload in einer Instanz abstürzt oder den Speicher flutet, bleiben die anderen sechs Instanzen völlig unbeeindruckt.
  • Vorteil: Garantierte Quality of Service (QoS) und Sicherheit in Multi-Tenant-Umgebungen.

2. Time-Slicing (Temporal Sharing)

Wenn Ihre Hardware kein MIG unterstützt (z. B. ältere T4- oder Consumer-Karten), ist Time-Slicing der Weg der Wahl. Hierbei wird der GPU-Scheduler von Kubernetes so konfiguriert, dass er mehrere Pods auf dieselbe GPU lässt.

  • Technische Tiefe: Die GPU wechselt in extrem schnellen Zyklen zwischen den verschiedenen Aufgaben hin und her. Es gibt jedoch keine Speicher-Isolation. Wenn ein Pod zu viel VRAM anfordert, können alle anderen Pods auf dieser GPU mit einem Out-of-Memory (OOM) Fehler abstürzen.
  • Vorteil: Funktioniert auf fast jeder Hardware und ist ideal für kleine Inference-Dienste.

3. NVIDIA MPS (Multi-Process Service)

MPS ist eine Software-Schicht, die zwischen Applikation und Hardware sitzt. Sie ermöglicht es, die Rechenleistung (Compute Resources) prozentual zuzuweisen.

  • Technische Tiefe: Man kann einem Pod beispielsweise exakt 20 % der Rechenkapazität zuweisen. Das System bündelt die Kernel-Aufrufe verschiedener Prozesse zu einer einzigen Aufgabe für die GPU, was den Overhead im Vergleich zum Time-Slicing reduziert.

Implementierung im Kubernetes Cluster

Um GPU-Slicing zu nutzen, setzen wir auf den NVIDIA GPU Operator. Dieser automatisiert das Laden der Treiber, die Konfiguration des Container-Runtimes (nvidia-container-runtime) und das Labeling der Nodes.

Die Zuweisung erfolgt gewohnt einfach über YAML-Ressourcen-Definitionen. Anstatt eine ganze GPU anzufordern, nutzen wir Profile:javascript resources: limits: nvidia.com/mig-1g.10gb: 1

Dieser Ansatz erlaubt es, Development-, Staging- und Production-Workloads auf derselben physischen Maschine zu konsolidieren, was die Betriebskosten drastisch senkt.

Fazit

GPU-Slicing ist im Jahr 2026 keine Spielerei mehr, sondern eine wirtschaftliche Notwendigkeit. Durch die intelligente Partitionierung Ihrer Hardware vermeiden Sie “Ressourcen-Inseln” und stellen sicher, dass Ihre KI-Initiativen skalierbar bleiben. Besonders im Hinblick auf die digitale Souveränität ermöglicht Ihnen dieser Ansatz, leistungsfähige KI-Services auf eigener Hardware (On-Premise oder Colocation) zu betreiben, die preislich mit den großen Public-Cloud-Anbietern konkurrieren können.


FAQ

Was ist GPU-Slicing in Kubernetes? GPU-Slicing bezeichnet verschiedene Techniken (wie MIG oder Time-Slicing), um eine physische Grafikkarte in mehrere kleinere Einheiten zu unterteilen. Dadurch können mehrere Container oder Kubernetes Pods gleichzeitig auf dieselbe GPU zugreifen, was die Hardware-Auslastung verbessert und Kosten senkt.

Wann sollte ich NVIDIA MIG verwenden? MIG (Multi-Instance GPU) ist ideal, wenn Sie harte Isolation zwischen Workloads benötigen. Da Speicher und Rechenkerne auf Hardware-Ebene getrennt werden, ist es die sicherste Methode für Multi-Tenant-Cluster oder kritische Produktionsumgebungen, erfordert jedoch Hardware der Ampere-Generation (z.B. A100) oder neuer.

Kann ich GPUs auch auf älterer Hardware teilen? Ja, durch “Time-Slicing”. Hierbei teilt der Treiber die GPU-Zeit zwischen den Pods auf. Da hierbei jedoch keine echte Speicher-Isolation stattfindet, müssen die Entwickler sicherstellen, dass die Applikationen den Grafikspeicher (VRAM) nicht überlasten.

Wie wirkt sich GPU-Slicing auf die Performance aus? Bei MIG gibt es nahezu keinen Performance-Verlust, da die Ressourcen dediziert zugewiesen werden. Bei Time-Slicing kann es durch den Kontextwechsel zu minimalen Latenzen kommen. In den meisten Inference-Szenarien ist dieser Effekt jedoch vernachlässigbar im Vergleich zu den Kosteneinsparungen.

Unterstützt ayedo Managed GPU-Infrastrukturen? Ja, ayedo integriert GPU-Support nativ in Managed Kubernetes Umgebungen. Wir konfigurieren den NVIDIA GPU Operator und unterstützen Unternehmen dabei, Slicing-Strategien zu implementieren, die sowohl wirtschaftlich effizient als auch technisch stabil sind.

Ähnliche Artikel