NVIDIA Integrasikan Slurm dengan Kubernetes untuk Workload GPU Skala Besar
Taufiq M
Taufiq M

Dipublikasikan 26 Mei 2026

NVIDIA Integrasikan Slurm dengan Kubernetes untuk Workload GPU Skala Besar

Slurm telah menjadi standar de facto untuk job scheduling di sistem HPC, mengelola lebih dari 65 persen dari sistem TOP500. Namun tantangan bagi organisasi yang menjalankan training AI skala besar adalah bagaimana mendapatkan kemampuan scheduling Slurm di atas Kubernetes, platform standar untuk manajemen GPU infrastructure, tanpa harus memelihara dua environment terpisah.

Menurut NVIDIA Developer Blog, Slinky, proyek open source yang dikembangkan oleh SchedMD yang kini menjadi bagian dari NVIDIA, menawarkan dua pendekatan integrasi. Slurm-bridge membawa scheduling Slurm ke workload Kubernetes native, sementara slurm-operator menjalankan cluster Slurm penuh di infrastruktur Kubernetes dengan mengelola lifecycle Slurm daemons sebagai pod.

Artikel ini berfokus pada slurm-operator, cara NVIDIA menjalankan Slurm di Kubernetes untuk cluster training GPU skala besar. Setiap komponen Slurm seperti slurmctld untuk scheduling, slurmdbd untuk accounting, slurmd untuk compute workers, dan slurmrestd untuk API access direpresentasikan sebagai Kubernetes Custom Resource Definition. Sebuah cluster Slurm didefinisikan menggunakan Custom Resources, dan Slinky membuat containerized Slurm daemons yang berjalan di pod mereka sendiri.

Sinkronisasi konfigurasi terjadi secara otomatis melalui Kubernetes ConfigMaps dan Secrets yang di-mount ke control plane pod. Slurmctld mendeteksi perubahan dan mempropagasikan konfigurasi baru ke workers tanpa downtime scheduler. Fitur autoscaling didukung melalui HorizontalPodAutoscaler berdasarkan metrik cluster. Saat scale-in, Slinky sepenuhnya meng-drain node Slurm sebelum menghentikan pod, memastikan workload yang sedang berjalan selesai terlebih dahulu. Slinky bahkan memprioritaskan pod yang workload-nya akan selesai paling cepat untuk scale-in.

NVIDIA GPU Operator secara otomatis mengelola instalasi driver GPU, konfigurasi container runtime, dan deployment device plugin. DCGM Exporter yang di-deploy oleh GPU Operator mengumpulkan telemetry GPU. Dengan integrasi Slinky DCGM dan HPC job mapping support, tim bisa mengaktifkan metrik GPU per-job yang dilabel dengan Slurm job ID.

Untuk arsitektur GPU seperti NVIDIA GB200 NVL72, di mana GPU berkomunikasi antar node melalui multinode NVLink, Slinky mengaktifkan akses ke ComputeDomains. Ini adalah abstraksi Kubernetes yang disediakan oleh NVIDIA DRA driver untuk mengelola Internode Memory Exchange domains secara dinamis. Slurm dikonfigurasi dengan SwitchType switch/nvidia_imex untuk menggunakan NVIDIA IMEX dalam komunikasi GPU cross-node.

NVIDIA menjalankan Slinky slurm-operator di production di beberapa cluster, dengan beberapa deployment mencapai lebih dari 8 ribu GPU. Benchmark komunikasi GPU seperti NCCL all-reduce dan all-gather mencocokkan performa deployment Slurm non-containerized, tanpa dampak terukur dari layer Kubernetes. Cluster baru bisa berjalan dari nol ke production dalam hitungan jam menggunakan Helm charts dan konfigurasi deklaratif.

Rilis slurm-operator v1.1.0 baru-baru ini menambahkan dukungan dynamic topology, DaemonSet-style worker pod scaling, dan unregistered worker pod remediation. Tim juga sedang mengerjakan graceful Slurm cluster upgrades, planned outage workflows, dan configuration rollback untuk membuat operational model semakin dekat dengan ekspektasi platform teams terhadap workload Kubernetes production.

Sumber: NVIDIA Developer Blog