Slurm工作负载管理器软件是一个免费的开源工作负载管理器,专为满足高性能计算的苛刻需求而设计。LSF(Load Sharing Facility)是分布资源管理的工具,用来调度、监视、分析联网计算机的负载。Slurm通过openlava接口提供了对LSF的必要兼容,可以实现作业提交、取消、查询等功能。
slurm-18.08源码中,openlava接口位于slurm-18.08.2/contribs/openlava,该目录有bjobs.pl、bkill.pl、bsub.pl、lsid.pl等几个perl脚本,这几个脚本依赖于perlapi实现其功能。slurm18.08源码中集成了perlapi,perlapi位于slurm-18.08.2/contribs/perlapi。
分别进入两个目录执行make && make install,则在slurm的安装目录下(例如:/opt/slurm18/bin)出现bsub、bkill、bjobs、lsid等命令,如图:
执行bsub --help,出现报错:
原因是perl脚本中使用Switch包,如图:
解决办法:yum install libswitch-perl。或者去搜perl-Switch的rpm包,手动安装。
编写slurm测试脚本test.slurm:
使用bsub test.slurm提交多次测试作业,如图:
使用bjobs查询作业,如图:
使用bjobs 30查询作业号为30的作业,如图:
使用bkill取消作业,如图:
PS:Slurm与LSF、PBS等调度器的命令、环境变量和提交参数的对比: