Forschungsbericht 2025 - Gesellschaft für wissenschaftliche Datenverarbeitung mbH Göttingen (GWDG)

Sichere HPC-Ressourcennutzung für Cloud- und HPC-Workloads

Enabling secure HPC resource utilization for cloud and HPC workloads

Autoren
Decker, Jonathan
Abteilungen
Gesellschaft für wissenschaftliche Datenverarbeitung mbH Göttingen (GWDG), Göttingen – Arbeitsgruppe „Computing“

High-Performance Storage (HPS)-Forschungsgruppe der Georg-August-Universität Göttingen
Zusammenfassung
Das Bereitstellen von KI-Modellen erfordert Zugriff auf GPUs in Hochleistungsrechenzentren von Universitäten und Forschungsinstituten. Da diese GPUs meist bereits in Batch-Scheduling-Systeme eingebunden sind, braucht es Strategien für die gemeinsame Nutzung mit regulären HPC-Arbeitslasten und KI-Inferenz. Wir haben dazu verschiedene Ansätze untersucht; einer bildet die Grundlage der aktuellen KI-Dienste der GWDG. In diesem Artikel stellen wir zwei weitere Ansätze vor, die Kubernetes in HPC-Umgebungen ermöglichen.
Summary
Serving AI-models to users requires access to GPUs, which are available in HPC centers of universities and research institutes. However, these GPUs are already part of existing batch-scheduling systems and require a strategy for utilizing them for both serving regular HPC workloads and AI inference. To this end, we have explored multiple approaches, one of which forms the foundation of the GWDG AI service offerings. In this article we discuss two other approaches that we have published about that enable the operation of Kubernetes in HPC environments along with regular HPC workloads.

Ausgangslage und Anforderungen

HPC-Zentren wie die GWDG setzen in der Regel Batch-Scheduling-Systeme ein, die sich gut für wissenschaftliche Anwendungsfälle wie die Genomsequenzierung oder das Training von KI-Modellen eignen. Mit dem Aufkommen von Large Language Models (LLMs) werden die wertvollen GPU-Ressourcen in HPC-Zentren jedoch zunehmend auch für das Bereitstellen von KI-Modellen benötigt.

Das Bereitstellen von KI-Modellen erfordert ein anderes Paradigma: Service-Scheduling. Dieses weist Ressourcen dynamisch basierend auf der Nutzungsnachfrage zu und antwortet sofort, anstatt auf die Zuweisung von Ressourcen und das Laden von KI-Modellen in den GPU-Speicher zu warten. Zudem erwarten Nutzende, dass sie KI-Modelle über Webseiten und Programmierschnittstellen (APIs) nutzen können, was eine sichere Methode erfordert, HPC-Knoten über das Internet zugänglich zu machen.

Die Sicherheit der HPC-Umgebung hat oberste Priorität [1], da Angreifer sensible Forschungsdaten stehlen oder die Rechenknoten für Denial-of-Service-Angriffe sowie Crypto-Mining missbrauchen könnten. Wir haben verschiedene Ansätze untersucht, um dieses Problem zu lösen. Einer davon bildet unsere Scalable AI Accelerator (SAIA)-Plattform [2], auf der aktuell die KI-Dienste der GWDG betrieben werden (siehe https://www.mpg.de/24124791/gwdg_jb_2024?c=901669).

Bei der Entwicklung von SAIA mussten wir viele Funktionen neu implementieren, die in bestehenden Service-Scheduling-Plattformen bereits enthalten sind – etwa in Kubernetes, einem Open-Source-System zur Automatisierung der Bereitstellung, Skalierung und Verwaltung von containerisierten Anwendungen. Da Kubernetes der De-facto-Standard zur Orchestrierung von Diensten in Cloud-Umgebungen ist, haben wir zwei Ansätze untersucht, um die Nutzung von Kubernetes in HPC-Umgebungen zu ermöglichen, ohne den Zugriff auf Ressourcen für Batch-Scheduling-Arbeitslasten zu beeinträchtigen.

Ephemeral Kubernetes

Der erste Ansatz wird Ephemeral Kubernetes [3] genannt. Er nutzt Warewulf, um HPC-Knoten über Knotenbilder zu starten, die die Softwarepakete für Kubernetes-Worker- oder Kontrollknoten enthalten. Warewulf ist ein häufig in HPC-Umgebungen eingesetztes Knotenverwaltungssystem. Es stellt das Betriebssystem der Knoten über das Netzwerk bereit und ermöglicht so eine zentrale Steuerung der Softwarepakete und Konfigurationen aller Knoten in einem Cluster.

Durch das Bereitstellen separater Knotenbilder über Warewulf können alle Softwarepakete bei Bedarf ausgetauscht werden, was die Angriffsfläche minimiert. Zudem bleibt Ephemeral Kubernetes selbst dann betriebsbereit, wenn einzelne Knoten entfernt werden – beispielsweise um sie über einen Batch-Scheduler wieder in ihren regulären Betrieb zurückzuführen.

Rootloses Kubernetes

Unser zweiter Ansatz verwendet rootloses Kubernetes innerhalb von Slurm-Jobs [4]. Der Batch-Scheduler Slurm, der auf den HPC-Plattformen der GWDG eingesetzt wird, ermöglicht uns das Betreiben von Kubernetes-Clustern mit regulären Benutzerberechtigungen. Während bestehende Lösungen oft versuchen, Kubernetes und Slurm zu kombinieren [5], bietet unser Ansatz ein voll funktionsfähiges, rootloses Kubernetes.

Besonders hervorzuheben ist, dass wir unsere Lösung seit der Erstveröffentlichung [4] kontinuierlich weiterentwickelt haben, um offene Herausforderungen wie Einschränkungen bei der Netzwerkleistung und die Unterstützung mehrerer Knoten zu beheben. Wir planen, diese Verbesserungen in Q4/2025 oder Q1/2026 zu veröffentlichen.

HPC-Koexistenz

Basierend auf diesen beiden Ansätzen möchten wir einen möglichen alternativen Entwurf für SAIA diskutieren, den wir intern unter dem Namen Scalable Kubernetes Inference Platform (SKIP) führen. Obwohl SKIP viele weitere Details umfasst, konzentrieren wir uns hier auf die HPC-Umgebung, welche die Backend-Infrastruktur der Inferenzplattform bildet.

Wenn entweder Ephemeral Kubernetes oder rootloses Kubernetes eingesetzt wird, ist ein Meta-Scheduler erforderlich, um die Ressourcenverhandlung zwischen den Kubernetes- und Slurm-Controllern zu steuern. Wir gehen von einem Anwendungsfall aus, der unserer Chat AI-Plattform (https://chat-ai.academiccloud.de/) ähnelt: Diese benötigt einen über Kubernetes betriebenen Backend-Bereich mit Zugriff auf GPU-Knoten. Wie in Abbildung 1 unter „Login“ dargestellt, dienen Nicht-GPU-Knoten als Einstiegsstellen für Slurm-Nutzende oder für Anfragen aus einer Frontend-Umgebung. Weitere Nicht-GPU-Knoten stellen die jeweiligen Kontrollplattformen für Slurm bzw. Kubernetes bereit. Schließlich gibt es einen Pool von GPU-Worker-Knoten, die flexibel entweder dem Kubernetes-Cluster (zur Bereitstellung von KI-Modellen) oder dem Slurm-Cluster (zur Verarbeitung von Batch-Jobs) zugewiesen werden.

Je nach gewähltem Ansatz steuert der Meta-Scheduler entweder Warewulf, um Knoten einem Ephemeral-Kubernetes-Cluster hinzuzufügen oder zu entziehen, oder er steuert Slurm, um Jobs zu übermitteln, die Kubernetes-Worker bereitstellen. Der vom Meta-Scheduler genutzte Algorithmus zur Knotenverteilung kann auf einem statischen Zeitplan basieren oder als dynamischer Scheduler die aktuelle Auslastung beider Cluster berücksichtigen.

Bei einem Cluster mit 20 GPU-Knoten könnten beispielsweise zehn Knoten basierend auf einem Zeitplan dynamisch zwischen dem Kubernetes- und dem Slurm-Scheduler wechseln, während jeweils fünf Knoten dauerhaft fest zugewiesen bleiben. Da bei einer KI-Dienstplattform die meisten Anfragen tagsüber eingehen, ließen sich die zehn flexiblen Knoten tagsüber der Inferenzplattform und nachts dem Slurm-Scheduler zuteilen, um anstehende Batch-Jobs abzuarbeiten.

Die in diesem Artikel vorgestellte Forschung zeigt, wie wir Innovationen entwickeln, um HPC-Ressourcen optimal für neue Anwendungsfälle zu nutzen. Zudem legen wir Wert darauf, unsere Entwicklungen direkt in den Produktivbetrieb zu überführen – wie etwa als Teil der Chat AI-Plattform. So kann rootloses Kubernetes beispielsweise im Scientific Compute Cluster (SCC) der GWDG genutzt werden, um Forschung auf Basis von Kubernetes zu ermöglichen.

Literaturhinweise

Wei, J.; Chen, M.; Wang, L.; Ren, P.; Lei, Y.; Qu, Y.; Jiang, Q.; Dong, X.; Wu, W.; Wang, Q.; Zhang, K.; Zhang, X.
Status, Challenges and Trends of Data-Intensive Supercomputing
CCF Transactions on High Performance Computing, 211-230 (2022)
Doosthosseini, A.; Decker, J.; Nolte, H.; Kunkel, J.
SAIA: A Seamless Slurm-Native Solution for HPC-Based Services
Research Square (2025)
Decker, J.; Kunkel, J.
Ephemeral Kubernetes: Dynamically Deleting and Recreating Clusters Using Warewulf
The Journal of Supercomputing, 1491 (2025)
Decker, J.; Metje, S.; Kunkel, J.
Running Kubernetes Workloads on Rootless HPC Systems Using Slurm
CLOUD COMPUTING 2025, 100-107 (2025)
https://www.thinkmind.org/library/CLOUD_COMPUTING/CLOUD_COMPUTING_2025/cloud_computing_2025_2_60_20036.html
Chazapis, A.; Maliaroudakis, E.; Nikolaidis, F.; Marazakis, M.; Bilas, A.
Running Cloud-native Workloads on HPC with High-Performance Kubernetes
arXiv (2024)
http://arxiv.org/abs/2409.16919
Zur Redakteursansicht