Slurm 是一个开源、容错、高可伸缩的集群管理和大型小型 Linux 集群做业调度系统。slurm不须要对操做系统内核进行修改,而是相对独立的。
做为集群工做负载管理器。slurm有三个关键功能:node
以下图2.1所示,slurm构成有:网络
这些分区能够被视为做业队列, 其中每个都有各类约束, 如做业大小限制、工做时间限制、容许使用它的用户等。
按照优先级排序的做业,从队列中分配节点,直至该队列分资源,如节点,处理器,内存等耗尽。
一旦一个job分配了一组节点后, 用户就可以按照任何分配配置,以做业步骤形式启动并行工做。
例如, 能够启动一个做业步骤, 利用分配给做业的全部节点, 或者多个做业步骤能够独立地使用分配的一部分。架构
在部署了slurm的系统上,slurm daemons,slurm commands,和API functions都可经过帮助选择查看。
命令选择--help也可以提供一个简洁的功能选项总结。须要注意的是,命令选项都区分大小写。框架
sacct 用于汇总报告正在活动或者已经结束的job和job step的审计信息。工具
sattach用于input、output和error plus signal功能附加到当前正在运行的做业或做业步骤中。你能够屡次链接和分离工做。性能
sbatch用于提交做业脚本以供之后执行。脚本一般包含一个或多个 srun 命令来启动并行任务操作系统
sbatch用于将文件从本地磁盘传输到分配给做业的节点上的本地磁盘。这可用于有效地使用无盘计算节点或提供相对于共享文件系统的改进性能blog
scancel用于取消挂起或正在运行的做业或做业步骤。它还可用于向与正在运行的做业或做业步骤关联的全部进程发送任意信号。排序
scontrol是用于查看和/或修改 Slurm 状态的管理工具。请注意, 许多 scontrol 命令只能做为用户根执行。队列
sinfo报告由 Slurm 管理的分区和节点的状态。它具备多种筛选、排序和格式设置选项。
smap报告由 Slurm 管理的做业、分区和节点的状态信息, 但以图形方式显示信息以反映网络拓扑。
报告做业或做业步骤的状态。它具备多种筛选、排序和格式设置选项。
默认状况下, 它以优先级顺序报告正在运行的做业, 而后按优先级顺序报表挂起的做业。
用于提交执行任务或实时启动做业步骤。
srun 有各类各样的选项来指定资源需求, 包括: 最小和最大节点数、处理器计数、要使用或不使用的特定节点以及特定节点特征 (内存、磁盘空间、某些必需的功能等)。
做业能够包含在做业节点分配中按顺序或并行执行的多个做业步骤。
strigger用于设置、获取或查看事件触发器。事件触发器包括节点降低或工做接近其时间限制等内容。
是一个图形用户界面, 用于获取和更新由 Slurm 管理的做业、分区和节点的状态信息。