SLURM 资源管理系统

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SLURM 资源管理系统相关的知识,希望对你有一定的参考价值。

参考技术A 在 上一篇 中我们简要介绍了 LSF 作业管理系统,下面将介绍 SLURM 资源管理系统。

SLURM (Simple Linux Utility for Resource Management)是一种可用于大型计算节点集群的高度可伸缩和容错的集群管理器和作业调度系统,被世界范围内的超级计算机和计算集群广泛采用。SLURM 维护着一个待处理工作的队列并管理此工作的整体资源利用。它以一种共享或非共享的方式管理可用的计算节点(取决于资源的需求),以供用户执行工作。SLURM 会为任务队列合理地分配资源,并监视作业至其完成。如今,SLURM 已经成为了很多最强大的超级计算机上使用的领先资源管理器,如天河二号上便使用了 SLURM 资源管理系统。

下面是一些最常用的 SLURM 命令:

下表是 SLURM 环境变量:

SLURM 资源管理系统的管理对象包括:节点,分区,作业和作业步。

SLURM 系统有三种作业运行模式:

交互模式作业的使用过程为:

例如使用 srun 申请 4 个进程生成一个作业步:

批处理模式作业的使用过程为:

下面给出作业脚本示例:

用以下命令提交批处理作业:

分配模式作业的使用过程为:

分配模式通过 salloc 命令运行,举例如下(使用 2 个节点,4 个进程,预计运行时间 100 秒):

资源分配请求成功后会进入 bash shell 终端,在其中可以使用 srun 交互式地执行作业任务。在终端输入 exit 命令或 Ctrl+D 退出分配模式。

天河二号上使用的是 SLURM 资源管理系统,不过天河二号上使用的 SLURM 命令都是将标准的 SLURM 命令开头的 s 改成了 yh,如下:

以上介绍了 SLURM 资源管理系统,在 下一篇 中我们将介绍 MPI-3 的新特性。

Slurm的NODE配置

Slurm节点管理的配置在/etc/slurm.conf文件中指定,更改节点配置(例如添加节点、更改处理器数量等)需要重新启动slurmctld守护进程和slurmd守护进程。所有slurmd守护进程必须知道系统中的每个节点,才能转发消息以支持分层通信。注册到系统的节点的资源少于配置的资源(例如内存

以上是关于SLURM 资源管理系统的主要内容,如果未能解决你的问题,请参考以下文章

Slurm的NODE配置

Slurm任务调度系统部署和测试

Slurm 作业不能为多个节点请求 GPU 资源

Slurm 作业数组提交严重未充分利用可用资源

如何使用同一个 GPU 设备在 SLURM 中定义多个 gres 资源?

基于HPC场景的集群管理系统(slurm系统初相识)