Slurm

Slurm 是一个开源的集群资源管理和作业调度系统,具有简单、可扩展、可移植、容错和互连无关的特性,广泛用于高性能计算和 AI 训练集群的作业调度。

SchedMD · Since 2009-12-17
正在加载评分...

详细介绍

Slurm(Simple Linux Utility for Resource Management)是一个开源的集群资源管理和作业调度系统,广泛应用于全球的高性能计算(HPC)中心和 AI 训练集群。Slurm 以其简洁、可扩展、可移植、容错和网络无关的特性而闻名,目前仅在 Linux 环境下经过测试和使用。作为集群资源管理器,Slurm 提供三个关键功能:首先,它为用户分配独占或非独占的资源(计算节点)访问权限,以便他们在一定时间内执行工作;其次,它提供了一个框架,用于在分配的节点集上启动、执行和监控工作(通常是并行作业);最后,它通过管理待处理工作的队列来仲裁对资源的冲突请求。

主要特性

  • 高度可扩展:支持从小型集群到超大规模集群的部署,已被用于管理数万个节点的集群。
  • 容错设计:具备强大的容错能力,能够处理节点故障和网络中断,保证作业调度的可靠性。
  • 互连无关:支持各种互连网络架构,不依赖特定的网络技术。
  • 资源分配灵活:支持独占和非独占资源分配,满足不同作业的需求。
  • 作业调度高效:提供先进的调度算法,优化集群资源利用率。
  • 丰富的 API:提供完整的 API 和命令行工具,方便用户集成和自动化管理。

使用场景

  • 高性能计算(HPC)中心的作业调度和资源管理。
  • AI/ML 模型训练集群的 GPU 资源调度和任务分配。
  • 大规模科学计算和工程仿真集群的管理。
  • 高校和研究机构的计算集群资源调度。
  • 云计算平台的底层资源管理系统。
  • 生物信息学、气象预报、计算流体动力学等需要大规模并行计算的场景。

技术特点

  • 采用 GPL 许可证开源性,拥有活跃的开源社区支持。
  • 仅支持 Linux 操作系统,针对 Linux 环境进行了深度优化。
  • 提供三种核心功能:资源分配、作业执行监控、作业队列管理。
  • 支持多种作业启动器和执行环境,包括 MPI、OpenMP 等并行计算框架。
  • 提供完善的文档和测试套件,包括 Check、Expect 和 Pytest 测试。
  • 支持丰富的插件和扩展机制,可根据需求进行定制化开发。
  • 提供 REST API 和命令行接口,方便集成到自动化运维系统中。
Slurm
评分详情

状态标签

属性标签

🛠️ 开发工具 💻 命令行 🧰 工具