slurm用户快速入门手册

1. 概述

Slurm 是一个开源、容错、高可伸缩的集群管理和大型小型 Linux 集群做业调度系统。slurm不须要对操做系统内核进行修改,而是相对独立的。
做为集群工做负载管理器。slurm有三个关键功能:node

  1. 首先,它在一段时间内为用户分配独占或者非独占的计算资源,以便他们可以执行工做任务
  2. 其次,它能提供一个框架,用于在分配的节点集上启动,执行,监视工做,一般是并行做业任务
  3. 最后,它经过管理挂起的工做队列,来仲裁资源争夺问题

2. 架构

以下图2.1所示,slurm构成有:网络

  1. 运行在每一个计算节点上的slurmd守护进程
  2. 运行在管理节点上的中央slurmctld守护进程(可选的故障切换节点模式)

    用户命令,包括:sacct,salloc,sattach,sbatch,sbcast,scancel,scontrol,sinfo,smap,squeue,srun,strigger,sviw,sreport等,都可以在集群的任何地方运行。
    以下图所示,由这些 Slurm 守护程序管理的实体,包括:
  • 计算资源node
  • 计算资源组成的逻辑集partition
  • 分配给用户指定的时间量的资源分配job
  • 做业中的一组任务(有多是并行任务)


这些分区能够被视为做业队列, 其中每个都有各类约束, 如做业大小限制、工做时间限制、容许使用它的用户等。
按照优先级排序的做业,从队列中分配节点,直至该队列分资源,如节点,处理器,内存等耗尽。
一旦一个job分配了一组节点后, 用户就可以按照任何分配配置,以做业步骤形式启动并行工做。
例如, 能够启动一个做业步骤, 利用分配给做业的全部节点, 或者多个做业步骤能够独立地使用分配的一部分。架构

3. 命令

在部署了slurm的系统上,slurm daemons,slurm commands,和API functions都可经过帮助选择查看。
命令选择--help也可以提供一个简洁的功能选项总结。须要注意的是,命令选项都区分大小写。框架

3.1 sacct

sacct 用于汇总报告正在活动或者已经结束的job和job step的审计信息。工具

3.2 sattach

sattach用于input、output和error plus signal功能附加到当前正在运行的做业或做业步骤中。你能够屡次链接和分离工做。性能

3.4 sbatch

sbatch用于提交做业脚本以供之后执行。脚本一般包含一个或多个 srun 命令来启动并行任务操作系统

3.5 sbcast

sbatch用于将文件从本地磁盘传输到分配给做业的节点上的本地磁盘。这可用于有效地使用无盘计算节点或提供相对于共享文件系统的改进性能blog

3.6 scancel

scancel用于取消挂起或正在运行的做业或做业步骤。它还可用于向与正在运行的做业或做业步骤关联的全部进程发送任意信号。排序

3.7 scontrol

scontrol是用于查看和/或修改 Slurm 状态的管理工具。请注意, 许多 scontrol 命令只能做为用户根执行。队列

3.8 sinfo

sinfo报告由 Slurm 管理的分区和节点的状态。它具备多种筛选、排序和格式设置选项。

3.9 smap

smap报告由 Slurm 管理的做业、分区和节点的状态信息, 但以图形方式显示信息以反映网络拓扑。

3.10 squeue

报告做业或做业步骤的状态。它具备多种筛选、排序和格式设置选项。
默认状况下, 它以优先级顺序报告正在运行的做业, 而后按优先级顺序报表挂起的做业。

3.11 srun

用于提交执行任务或实时启动做业步骤。
srun 有各类各样的选项来指定资源需求, 包括: 最小和最大节点数、处理器计数、要使用或不使用的特定节点以及特定节点特征 (内存、磁盘空间、某些必需的功能等)。
做业能够包含在做业节点分配中按顺序或并行执行的多个做业步骤。

3.12 strigger

strigger用于设置、获取或查看事件触发器。事件触发器包括节点降低或工做接近其时间限制等内容。

3.13 sview

是一个图形用户界面, 用于获取和更新由 Slurm 管理的做业、分区和节点的状态信息。

相关文章
相关标签/搜索