Eszközök

Mesterséges intelligenciával generált szöveg

NVIDIA nyílt forrású eszköze bizonyítja a GPU-klaszterek valós készenlétét Kubernetes alatt

A főszereplő az NVIDIA Cluster Readiness Engine (NVCRE), egy nyílt forráskódú Kubernetes-vezérlő, amely valós, elosztott GPU-munkaterheléseket futtatva igazolja a klaszterek készenlétét.

NVIDIA nyílt forrású eszköze bizonyítja a GPU-klaszterek valós készenlétét Kubernetes alatt

Az NVIDIA nyílt forrású Cluster Readiness Engine (NVCRE) célja, hogy a Kubernetes-alapú GPU-klasszterekről konkrét, futásalapú bizonyítékot adjon arra nézve, hogy készen állnak-e valós, többnode-os AI-munkaterhelések futtatására. A projektet controller formájában adták ki, amely tényleges elosztott munkaterheléseket indít topology-aware node-csoportokon, mér adatokat és pontosan megnevezi, hogy mely node-ok okozták a hibákat vagy nem teljesítették a kritériumokat.

Miért van erre szükség?

Hagyományos egészségellenőrzések és telemetria-értesítések mellett is előfordulhat, hogy egy GPU-klasszter nem képes elfogadható teljesítményt nyújtani egy nagy, szinkronizált tréningfeladaton. Egyetlen lassú GPU, egy terhelés alatt degradálódó hálózati link vagy egy lassabb útvonalra irányító konfiguráció a futás óráival később hozza felszínre a problémát. A csapatok ilyenkor sok időt tölthetnek kézi biszekcióval és hibaelhárítással, miközben a kapacitás kihasználatlan marad.

NVCRE célja, hogy a gyártásba kerülés előtti állapotot bizonyított tulajdonsággá tegye: a rendszer lefuttatja a valós terheléseket, és a hibákat node-szinten, kategóriánként rögzíti, így elkerülhető, hogy a problémákat vásárlói jegyek vagy hosszú kézi vizsgálatok tárják fel.

Hogyan működik az NVCRE?

A felhasználói felület az API. Az eszköz Custom Resource Definition-öket (CRD-ket) használ, így az erőforrások megtekinthetők és GitOps-munkafolyamatokba illeszthetők a kubectl-lel.

Rétegzett API és erőforrások

Az API három hierarchikus erőforrást definiál:

  • Certification: a főkonstrukció, amely megnevezi a tesztelendő node-okat és a futtatandó kategóriákat.
  • Workflow: egy-egy kategóriát menedzsel; alkalmaz platform-, katalógus- és GPU-override-okat, iterációszámot és létrehozza a gyermek Job-ot.
  • Job: lefuttatja a munkaterhelést a cél node-csoporton, figyeli a node-ok egészségét és rögzíti a méréseket és hibákat.

Egy certification létrehoz egy workflow-t minden kategóriához; a workflow pedig létrehozza a saját job-ját. A job-ok jelentik, mely node-ok hibáztak és miért; ezek a jelentések feljebb aggregálódnak a workflow és a certification szintjén, így minden hiba hozzárendelhető egy adott node-hoz és kategóriához.

Passz/Fail kritériumok és mérések

A sikerességi feltételek Common Expression Language (CEL) kifejezésekkel adhatók meg, és a rendszer a mért metrikák ellenőrzése alapján dönt. Alapértelmezett küszöbök nem kerülnek telepítésre — a példák illusztratívak, például GB200 NVL72 osztályú rendszerekre:

  • communication / nccl-all-reduce: busBandwidthGBps: "value >= 900"
  • training / nemotron5-8b: goodputRatio: "value >= 0.9", avgTFLOPsPerGPU: "value >= 800"

Ha egy mérőszám nem éri el a célt, a rendszer ValidationFailed állapotot állít be, amely külön nyomon követi a futás sikerességétől.

Skálaválasztás és topology-aware tesztelés

Egyes hibák csak adott skálán jelennek meg; ezért az NVCRE explicit csoportosítási stratégiákat kínál a testScale mezővel:

  • intra-node: minden node külön
  • intra-rack: topológiai domainek (például nvidia.com/gpu.clique) alapján
  • full-scale: minden node egy csoportban
  • diagnose: adaptív hibaiszoláció (lásd alább)

Például egy NVLink-domain belüli NCCL-mérés a NVLink sávszélességét vizsgálja, míg több rackre kiterjedő teszt a scale-out hálózatot méri.

Adaptív hibaiszoláció

Amikor egy teljes csoport teljesítménye rossz, de egyetlen node sem emelkedik ki, a kézi izoláció lassú lehet. testScale: diagnose módban az NVCRE hierarchikusan felosztja a csoportot, újrafuttatja a felére osztott teszteket és addig folytatja, amíg el nem éri a minGroupSize értéket. Azok a csoportok, amelyek még ekkor is hibáznak, gyanúsítottként kerülnek jelölésre. maxConcurrent korlátozza a párhuzamosan futó job-ok számát, hogy a mérési alapot ne telítse a teszt maga.

WorkloadRun: bármilyen többnode-os munkaterhelés futtatása

A WorkloadRun CRD kezeli a multi-node GPU munkaterhelések Kubernetes-en való indításának ismétlődő, hibaforrásra hajlamos lépéseit: platformdetektálás, keretrendszer-specifikus konfiguráció, GPU és RDMA erőforrások kérése, közös memória kötet injektálása és a rendezvény/synchronizáció biztosítása.

Például egy MPI alapú all-reduce teszt konfigurációja a következő lehet:

apiVersion: nvcre.nvidia.com/v1alpha1 kind: WorkloadRun metadata: name: nccl-all-reduce spec: image: nvcr.io/nvidia/pytorch:26.01-py3 framework: mpi: binary: /usr/local/bin/all_reduce_perf_mpi args: ["-b", "8", "-e", "32G", "-f", "2", "-n", "100"] mpirunPath: /usr/local/mpi/bin/mpirun numNodes: 4 bandwidthMeasurement: logProfileRef: nccl-bandwidth testType: all_reduce

A framework mező jelenleg pontosan egy opciót támogathat: torch (torchrun), mpi (NCCL és MPI munkák), vagy exec (tetszőleges parancs). NVCRE automatikusan létrehozza a szükséges Kubeflow TrainingRuntime-ot, beállítja a NCCL- és platform-környezeti változókat, injektálja a megosztott memóriát, és engedélyezi a NVIDIA NVLink scale-up hálózatot, ha a hardver támogatja.

A gang-scheduler hiányában a Kubernetes alapértelmezett ütemezője külön helyezi el a podokat, és a rangok a rendezvényen várakoznak; telített klaszterben ez deadlockhoz vezethet. A spec.gangScheduler beállítással a munkaterhelás részt vesz egy gang-aware ütemezőben (például KAI Scheduler), amely csak akkor helyezi ki a podokat, ha az egész gang elérhető egyszerre.

Mivel a WorkloadRun egyszerű CRD, külső eszközök is használhatják anélkül, hogy az NVCRE többi részétől függenének: az NVCRE végrehajtási utat biztosít, a hívó eszköz pedig adja a tesztet.

Integráció: konfigurálás, érvényesítés és folyamatos monitorozás

NVIDIA három réteget különít el:

  • NVIDIA AI Cluster Runtime (AICR): konfigurációs recepteket (driverek, operátorok, kernel és rendszerbeállítások) rögzít és verziózva biztosítja a reprodukálható, validált konfigurációkat.
  • NVCRE: aktív, futásalapú érvényesítés, amely terhelést generál és olyan hibákat is megtalál, amelyek nem hagynak telemetriát.
  • NVIDIA NVSentinel: passzív, folyamatos monitorozás DCGM-metrikákra, Xid hibákra, rendszerlogokra és felhőszolgáltató karbantartási eseményeire; képes karantént, drain-t és javító munkafolyamatokat elindítani.

Együttesen ezek a rétegek külön-külön is értéket hoznak, de integrálva lehetővé teszik a konfigurációk fenntartását, az aktív validációt és a folyamatos felügyeletet anélkül, hogy az aktív tesztelés összeakadna a termelési munkákkal. NVCRE maga nem végrehajt node-cordon/taint/patch műveleteket; ehelyett a NVSentinel Certification Monitor lefordítja a sikertelen certification-eredményeket egészségügyi eseményekké, és a konfigurált NVSentinel szabályok végrehajthatnak elszigetelő vagy javító lépéseket. Egy későbbi sikeres certification megtisztíthatja a hibajelet.

Kezdés, követelmények és példa futtatás

Követelmények: Kubernetes 1.29 vagy újabb, kubectl, Helm 3.x, és az NVIDIA GPU Operator telepítve a célklaszteren. Bizonyos katalógus bejegyzések (NVIDIA GB200 NVL72, NVIDIA GB300 NVL72) megkívánják az NVIDIA DRA Driver-t és ComputeDomain erőforrásokat; a DCGM level-4 kategória a különálló DCGM szolgáltatást használja. Egy gang-aware ütemező, például KAI Scheduler, opcionális, de ajánlott nagy, megosztott klasztereknél.

Telepítés és egy gyors indulás:

  • Telepítse az CLI-t és inicializálja a környezetet:

$ curl -fsSL https://github.com/NVIDIA/cluster-readiness-engine/releases/latest/download/installer | bash $ nvcrectl setup init

  • Futtasson egy end-to-end validációt:

$ nvcrectl certification run --cert-file certification.yaml --wait $ nvcrectl certification report gpu-cluster-cert -n <namespace>

A riport kategóriánként kilistázza az állapotot, futásidőt, mért sávszélességet és a hibás node-okat a hiba okával együtt.

Példa riport (összefoglaló)

Name: gpu-cluster-cert Platform: aws GPU: gb300 Nodes: 16

communication/nccl-all-reduce Status: Succeeded Runtime: 3m 56s Scale: full-scale Nodes/Job: 16

Bandwidth: Size AlgBW BusBW Samples 16 GB 473.44 GB/s 932.09 GB/s 9

Summary Categories: 1/1 passed Failed Nodes: none Result: PASSED

Nyílt forrás és hozzájárulás

NVCRE Apache 2.0 licenc alatt fejlesztett, nyílt projekt. Jelentsen hibát, kérjen funkciót vagy küldjön változtatási javaslatot a GitHubon — katalógusbejegyzések, munkaterhelés-adapterek, tesztek és dokumentáció is hozzájárulhatnak.

A projekt az NVIDIA DSX OS része, amely az NVIDIA DSX AI Factory Platform operációs rétege; használatával a GPU-klasszterek validáción átesett állapotban helyezhetők üzembe, mielőtt a termelési munkák rákerülnének.