SLURM (Simple Linux Utility for Resouce Management)
非常成熟的开源社区集群批处理调度系统。
介绍
- 2008年左右起源于LLNL实验室, 最新版本20.11
- 开源软件(约50万行c源码),开发和发布一直活跃
- 用户群: Top10里有5家使用(天河HPC是其一)
- 商业公司SchedMD提供顾问咨询服务
- 完善的插件为用户提供较便利的扩展功能
- 特点:结构清晰、功能丰富、接口明确
架构
SLURM由一组运行在控制节点与计算节点上的服务和一组用户命令组成
- 控制节点:节点管理、分区管理、作业管理等
- 计算节点:节点状态、作业状态与控制、IO流拷贝等
核心概念
- Partition:分区,硬件上可看做是节点的逻辑划分,可以对分区设置约束,例如哪个用户可以使用,分区内的作业时限等。作业不能跨分区。软件上可看做是一个作业队列。
- Job: 作业,用户提交的一个批处理作业
- Job step: 作业步,属于某个作业的一组任务(可能串行也可能并行)