O padrão para orquestração de HPC e IA.
O Slurm é um gerenciador de workload de código aberto criado para gerenciar com eficiência quase qualquer workload e oferecer taxa de processamento comprovada em escala maciça. Ele usa uma estrutura hierárquica que consiste em um controlador, nós e partições para alocar trabalhos com base em políticas e recursos, otimizando a distribuição de workload, maximizando a utilização do cluster e garantindo a execução eficiente de trabalhos. Desenvolvido e mantido por engenheiros da SchedMD (agora parte da NVIDIA) com profunda experiência em computação de alto desempenho (HPC) e IA, o Slurm é o agendador preferido de mais da metade dos 100 principais sistemas no TOP500.
O Slurm é o gerenciador de workload de código aberto líder de mercado para HPC e IA, no qual muitos dos maiores ambientes de supercomputação e IA do mundo confiam.
O Slurm aloca acesso exclusivo e/ou não exclusivo a recursos (nós de computação) para usuários por uma certa duração de tempo para que possam realizar o trabalho. Em seguida, ele fornece um framework para iniciar, executar e monitorar o trabalho (normalmente um trabalho paralelo) no conjunto de nós alocados. Por fim, o Slurm arbitra solicitações conflitantes de recursos ao gerenciar uma fila de trabalhos pendentes.
O gerenciador de workload para os principais supercomputadores do mundo.
O Slurm é totalmente de código aberto e independente de hardware, fornecendo transparência e flexibilidade completas para gerenciamento de recursos e agendamento de trabalhos. Implante o Slurm, contribua para seu crescimento e integre-o perfeitamente em seu Stack de infraestrutura.
Confira no GitHub e junte-se à comunidade!
A base do Slurm é alocar recursos, gerenciar trabalhos pendentes e executar trabalhos, mas são os detalhes da arquitetura do Slurm que o tornam o principal sistema de gerenciamento para cargas de trabalho de HPC e IA.
Saiba como você pode gerenciar recursos de computação usando o gerenciador de workload de código aberto em que laboratórios de pesquisa e líderes de IA de ponta confiam.
O gerenciamento de centenas de milhares de núcleos, milhões de trabalhos e diversos hardwares simultaneamente requer mais do que agendamento básico. O Slurm lida com a simultaneidade extrema com filas de trabalhos hierárquicas, roteamento consciente da topologia e empacotamento inteligente de trabalhos que maximiza a taxa de processamento. O gerenciamento de energia integrado, a aplicação de políticas e os relatórios detalhados mantêm as implantações em massa funcionando de forma eficiente e responsável em qualquer escala.
Ao treinar grandes modelos de IA ou executar simulações com várias físicas, a colocação de trabalhos é tão importante quanto a computação bruta. O agendamento com consciência da topologia do Slurm planeja cargas de trabalho de vários nós em interconexões de várias camadas, atribuindo trabalhos a nós fisicamente mais próximos na malha de rede, aumentando o desempenho ao reduzir a sobrecarga de comunicação. Combinado com a alocação de recursos ciente da GPU e orientada por políticas, as equipes podem executar cargas de trabalho distribuídas de forma previsível, sem esperar por trabalhos de menor prioridade ou mal colocados.
O Slinky é um kit de ferramentas de componentes que permite a operação do Slurm em ambientes Kubernetes, preenchendo a lacuna entre a HPC tradicional e os ambientes nativos de nuvem. As equipes podem executar cargas de trabalho do Slurm e Kubernetes em pools de nós compartilhados, traduzindo solicitações de recursos do Kubernetes em trabalhos Slurm. Isso oferece aos pesquisadores e desenvolvedores workflows familiares do Kubernetes, ao mesmo tempo em que se beneficiam do agendamento em lote e da governança de recursos superiores do Slurm.
Perguntas Frequentes
Um gerenciador de workload de código aberto é um software que automatiza o agendamento, a execução e o monitoramento de trabalhos de computação em infraestrutura compartilhada, como clusters ou ambientes de Cloud. Por ser de código aberto, as organizações podem usá-lo, personalizar e estendê-lo livremente para atender ao seu desempenho, escalabilidade e necessidades operacionais, sem assinaturas ou licenças empresariais.
O TOP500 é um ranking dos sistemas de computador não distribuídos mais poderosos do mundo. O Slurm é o agendador de escolha para mais da metade dos 100 principais sistemas da lista TOP500, que destaca sua escalabilidade e taxa de processamento comprovadas em escala maciça.
Sim, o Slurm oferece gerenciamento de recursos de GPU de ponta, permitindo que os usuários solicitem recursos de GPU e CPU para garantir que os trabalhos sejam executados de forma rápida e eficiente, ao mesmo tempo em que maximizam a utilização.
Guias oficiais de início rápido para usuários e administradores, notas de lançamento e outra documentação detalhada estão disponíveis no site SchedMD (agora parte da NVIDIA). A NVIDIA também fornece postagens de blog técnicas e vídeos sob demanda relacionados à integração e recursos do Slurm.1
Os tíquetes de suporte podem ser enviados por meio do portal de suporte no site SchedMD (agora parte da NVIDIA). Um endereço de e-mail com o domínio da sua organização é necessário para validar seu direito ao suporte. Os serviços de suporte, treinamento e consulta de Slurm e Slinky estão disponíveis na NVIDIA. Isso fornece ajuda direta de engenharia de especialistas para implementação e personalização.2
A Slurm aproveita sua compreensão de topologias complexas de rede e sistema para permitir o posicionamento eficiente de workload em interconexões de várias camadas. Isso minimiza a latência, maximiza a largura de banda e melhora o desempenho do trabalho de ponta a ponta, o que é especialmente crítico para workloads de treinamento de HPC e IA.
A SchedMD (agora parte da NVIDIA) desenvolveu o Slinky como um Kit de Ferramentas de código aberto de componentes que permite a operação do Slurm em ambientes Kubernetes, preenchendo a lacuna entre os ambientes de HPC tradicionais e os ambientes nativos de nuvem. Ele permite que as equipes executem workloads do Slurm e Kubernetes em pools de nós compartilhados, traduzindo solicitações de recursos do Kubernetes em trabalhos Slurm.3
O Slurm é otimizado para agendamento de grandes trabalhos paralelos baseado em fila, priorizando a taxa de processamento e a eficiência do hardware. O Kubernetes foi projetado para orquestração declarativa e orientada por eventos de microsserviços em contêineres.4