跳到主内容
快讯直播
AI智模界
AI 词典

Slurm:超算集群里管排队发卡的老牌调度器

一句话定义:Slurm(Simple Linux Utility for Resource Management,如今更多叫 Slurm Workload Manager)是一套跑在 Linux 集群上的作业调度系统,它决定"谁的活先干、干在哪几台机器上、能干多久"。

把一个大模型训练集群想象成宿舍楼里的公共洗衣房:洗衣机就那么几十台,想用的人排着队。Slurm 就是这个洗衣房的预约叫号系统。你交一张单子(作业脚本),写清楚要占用几台机器、几张 GPU、预计跑多久;Slurm 先看有没有空闲机器,有就立刻开工,没有就把你扔进队列。跑完自动释放,轮到下一位。它本身不参与计算,只负责分配和记账——但这套规则决定了你能不能拿到卡。

它有几个必须认识的词:

  • 节点(node):一台物理机器。
  • 分区(partition):一组节点的逻辑分组,比如 gpu 分区和 cpu 分区,不同分区资源和时限不同。
  • 作业(job):一次提交的计算任务,可以是脚本,也可以是交互式会话。
  • 命令:sbatch 提交脚本、srun 启动并行任务、squeue 看队列、sinfo 看节点状态、scancel 取消作业。

很多人会把 Slurm 和 Kubernetes 混着理解,其实两者气质完全不同:

SlurmKubernetes
调度对象批处理作业,跑完即释放长期运行的容器服务
资源粒度整节点、整卡Pod、容器,可细粒度切分
典型场景科研超算、大模型训练集群互联网后端、在线业务
使用感受提交、排队、等待叫号声明式、自动拉起、弹性伸缩

另一个容易混淆的是 MPI。MPI(Message Passing Interface)是并行程序之间通信的库,Slurm 负责把进程铺开到多台机器上——一个是"把活分下去",一个是"分下去之后互相喊话",二者经常配合使用。同类调度器还有 PBS、LSF、SGE 等,思路类似,具体语法各有差异。

对从业者的意义很直接:进入大模型训练或 HPC 岗位,第一件实操往往不是改模型,而是写一份 sbatch 脚本、估算资源、盯着 squeue 看排到第几位。资源申请是门手艺——报多了排不上队,报少了跑到一半被系统杀掉。云上按需实例是"花钱立刻有",Slurm 则是"排到才有",这是两种完全不同的资源心态。

Slurm 起源自 HPC 社区,至今仍是许多超算和训练集群的默认调度层,具体版本特性、分区策略与配额规则请以所在集群的官方文档和管理员说明为准。一句话收尾:它不显眼,却是决定你何时拿到那张卡的"发牌规则"。

AI 生成本文由 AI 基于公开信息自动生成,仅供参考。