Lo standard per l'orchestrazione HPC e IA.
Slurm è un gestore di carico di lavoro open source progettato per gestire in modo efficiente quasi qualsiasi carico di lavoro e offrire una produttività collaudata su larga scala. Utilizza una struttura gerarchica composta da un controller, nodi e partizioni per allocare lavori in base a policy e risorse, ottimizzando la distribuzione del carico di lavoro, massimizzando l'utilizzo dei cluster e garantendo un'esecuzione efficiente dei lavori. Sviluppato e gestito dagli ingegneri di SchedMD (ora parte di NVIDIA) con una profonda esperienza nel calcolo ad alte prestazioni (HPC) e nell'IA, Slurm è lo scheduler preferito per oltre la metà dei primi 100 sistemi nella TOP500.
Slurm è il gestore di carichi di lavoro open source leader di mercato per HPC e IA, scelto da molti dei più grandi ambienti di supercalcolo e IA al mondo.
Slurm assegna agli utenti l'accesso esclusivo e/o non esclusivo alle risorse (nodi di calcolo) per un certo periodo di tempo in modo che possano svolgere il proprio lavoro. Fornisce quindi un framework per avviare, eseguire e monitorare il lavoro (normalmente un lavoro parallelo) sul set di nodi allocati. Infine, Slurm arbitra le richieste di risorse in conflitto gestendo una coda di lavoro in sospeso.
Il gestore del carico di lavoro per i principali supercomputer del mondo.
Slurm è completamente open source e indipendente dall'hardware, fornendo completa trasparenza e flessibilità per la gestione delle risorse e la pianificazione dei lavori. Distribuisci Slurm, contribuisci alla sua crescita e integralo perfettamente nello stack della tua infrastruttura.
Dai un'occhiata su GitHub e unisciti alla community!
La base di Slurm è quella di allocare risorse, gestire il lavoro in sospeso ed eseguire lavori, ma sono i dettagli dell'architettura di Slurm che lo rendono il sistema di gestione leader per i carichi di lavoro HPC e IA.
Scopri come gestire le risorse di calcolo utilizzando il gestore del carico di lavoro open source di cui si fidano i laboratori di ricerca e i leader dell'IA di frontiera.
Gestire simultaneamente centinaia di migliaia di core, milioni di lavori e hardware diverso richiede più di una pianificazione di base. Slurm gestisce la concorrenza estrema con code di lavoro gerarchiche, routing basato sulla topologia e job packing intelligente che massimizza la produttività. La gestione dell'energia integrata, l'applicazione delle policy e il reporting dettagliato consentono un'esecuzione efficiente e responsabile di grandi distribuzioni su qualsiasi scala.
Nell'addestramento di modelli IA di grandi dimensioni o nell'esecuzione di simulazioni multi-fisiche, il posizionamento dei lavori conta quanto il calcolo grezzo. La pianificazione basata sulla topologia di Slurm per i carichi di lavoro multi-nodo su interconnessioni multi-livello assegna i job ai nodi fisicamente più vicini nel fabric di rete, aumentando le prestazioni grazie alla riduzione del sovraccarico di comunicazione. In combinazione con un'allocazione delle risorse basata su policy e ottimizzata per le GPU, i team possono eseguire carichi di lavoro distribuiti in modo prevedibile senza attendere lavori a bassa priorità o mal posizionati.
Slinky è un toolkit di componenti che consente il funzionamento di Slurm in ambienti Kubernetes, colmando il divario tra HPC tradizionale e ambienti cloud-native. I team possono eseguire carichi di lavoro Slurm e Kubernetes su pool di nodi condivisi, traducendo le richieste di risorse Kubernetes in lavori Slurm. Ciò offre a ricercatori e sviluppatori flussi di lavoro Kubernetes familiari, beneficiando al contempo della pianificazione dei batch e della governance delle risorse superiori di Slurm.
FAQ
Un gestore del carico di lavoro open source è un software che automatizza la pianificazione, l'esecuzione e il monitoraggio dei lavori di calcolo in infrastrutture condivise come cluster o ambienti cloud. Poiché è open source, le organizzazioni possono utilizzarlo liberamente, personalizzarlo ed estenderlo per soddisfare le proprie esigenze di prestazioni, scalabilità e operative, senza abbonamenti o licenze aziendali.
La TOP500 è una classifica dei sistemi di calcolo non distribuiti più potenti al mondo. Slurm è lo scheduler preferito per oltre la metà dei primi 100 sistemi nella lista TOP500, cosa che evidenzia la sua collaudata scalabilità e produttività su larga scala.
Sì, Slurm offre una gestione delle risorse delle GPU all'avanguardia, consentendo agli utenti di richiedere risorse sia GPU che CPU per garantire un'esecuzione rapida ed efficiente dei lavori, massimizzando l'utilizzo.
Guide ufficiali per l'avvio rapido per utenti e amministratori, note di rilascio e altra documentazione dettagliata sono disponibili sul sito web SchedMD (ora parte di NVIDIA). NVIDIA fornisce inoltre post tecnici su blog e video su richiesta relativi all'integrazione e alle funzionalità di Slurm.1
I ticket di supporto possono essere inviati attraverso il portale di supporto sul sito web SchedMD (ora parte di NVIDIA). È necessario un indirizzo e-mail con il dominio della tua organizzazione per convalidare il diritto al supporto. I servizi di supporto, formazione e consulenza Slurm e Slinky sono disponibili presso NVIDIA. Ciò fornisce supporto tecnico diretto da parte di esperti per l'implementazione e la personalizzazione.2
Slurm sfrutta la propria comprensione delle topologie complesse di rete e sistema per consentire un posizionamento efficiente del carico di lavoro su interconnessioni multi-livello. Ciò riduce al minimo la latenza, massimizza la larghezza di banda e migliora le prestazioni end-to-end, aspetto particolarmente critico per i carichi di lavoro di addestramento HPC e IA.
SchedMD (ora parte di NVIDIA) ha sviluppato Slinky come toolkit open source di componenti che consente il funzionamento di Slurm in ambienti Kubernetes, colmando il divario tra HPC tradizionale e ambienti nativi cloud. Consente ai team di eseguire carichi di lavoro Slurm e Kubernetes su pool di nodi condivisi, traducendo le richieste di risorse Kubernetes in lavori Slurm.3
Slurm è ottimizzato per la pianificazione in batch basata su code di lavori paralleli di grandi dimensioni, dando priorità alla produttività e all'efficienza dell'hardware. Kubernetes è progettato per l'orchestrazione dichiarativa e basata su eventi di microservizi containerizzati.4