服务器集群任务调度系统大比拼!

时间:2022-06-23
本文章向大家介绍服务器集群任务调度系统大比拼!,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

有幸在工作中体验了几个计算集群的使用,几乎每个计算集群都有专门的集群调度系统,而当需要在短时间对多个系统做测试是第一道障碍就是熟悉各个调度系统的操作指令,以下列举近期使用到的几个分布式作业调度系统的常用操作指令和几个超算中心使用体验

广州超算天河二号

普通刀片节点配备 两颗 Intel(R) Xeon(R) CPU E5-2692 v2 @ 2.20GHz 共24物理核,内存为64G 调度系统为 Slurm, 以下为常用指令

  • yhi(sinfo): 显示系统资源使用情况 yhi命令可查看当前账号可用队列的状态信息,主要用于查看队列中空闲节点情况,常用命令还有yhi -n cn12345查看指定节点信息, yhi -p paratera 查看指定队列信息
  • yhq(squeue): 显示作业状态 yhq可查看已投递任务的简要信息,包括任务状态、所在计算节点等信息,常用参数有-j 指定jobid,-u 指定用户, -p 指定队列, -w 指定计算节点进行查看任务信息
  • yhrun(srun): 交互式作业提交 常用命令 yhrun -N 1 -n 1 -c 24 -p paratera job.sh,由于天河服务器采用任务独占节点形式,所以每节点的任务最好设置为24
  • yhbatch(sbatch): 批处理作业提交 后台提交任务,功能与yhrun相同,命令yhbatch -N 1 -n 1 -c 24 job.sh
  • yhcancel(scancel): 取消已提交的作业 命令用法yhcancel JOBID
  • yhacct(sacct) 查看历史作业信息 yhacct -u pp100 -S 03/01/17 -E 03/31/17 --field=jobid,partition,jobname,user,nnodes,start,end,elapsed,state

国家超算无锡中心神威-太湖之光

国家超算无锡中心神威-太湖之光包括商用x86平台和国产平台,国产平台采用申威26010处理器,有专用编译器,尚不支持JAVA, python, R等语言,x86平台普通节点配备两颗 Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz CPU,共24物理核,内存为128G 调度系统不明,可能是自研的, 以下为常用指令

  • qload -w: 显示可用队列资源使用情况
  • bsub: 提交作业 常用参数 bsub -q q_x86_share -N 1 -o job.out /path/job.sh, 注意投递任务脚本路径必须填写绝对路径
  • bjobs: 显示作业状态
  • bkill JOBID: 取消已提交的作业

福建省超算中心曙光集群

福建省超算中心曙光集群普通计算节点配备 2颗 Intel(R) Xeon(R) Gold 6132 CPU @ 2.60GHz 共28物理核,内存为188G,在体验期间曾遇到频繁开启关闭超线程现象,同时也有幸在同系统内对开启或关闭超线程做了点小测试,测试结果显示开启超线程对计算密集型进行有小幅加速效果,但在以核时计费的系统中需要注意,开启超线程将会导致耗费核时为实际情况的两倍,此集群只有一个登录节点,节点运行程序较多,有mysql运行在登录节点,从一定程度上反映出集群管理不是很专业 调度系统为PBS, 以下为常用指令

  • pestat: 查看计算节点使用情况
  • qsub job.pbs: 提交作业 job.pbs中填写提交参数与执行程序,参数格式为 #PBS -q queue
  • qstat: 查看已提交作业 可通过-u 参数指定用户名进行只查看自己的任务
  • qdel JOBID: 取消已投递作业

某高校计算集群

普通计算节点配备两颗Intel(R) Xeon(R) Gold 6150 CPU @ 2.70GHz CPU,36物理核,内存188G,是体验中单节点性能最好的集群 调度系统为 LSF, 以下为常用指令

  • bqueues: 查看可用队列信息
  • bhosts: 查看计算节点使用情况
  • bsub: 提交作业 简单任务参数,bsub -q queue -J name -n 36 -R span[hosts=1] -o name.out -e name.err /path/job.sh
  • bjobs: 查看已提交作业
  • bkill JOBID: 取消已提交作业

自建计算集群

调度系统为 SGE, 以下为常用指令

  • qconf -sql: 显示队列 qconf -sq QUEUE: 显示指定队列信息
  • qhost: 查看计算节点使用情况
  • qsub: 提交作业
  • qstat:查看已提交作业
  • qdel JOBID: 取消已提交作业

分布式管理系统常用指令速查表

欢迎您继续补充完善

那我就补充一下,早在 2015年9月29日 我就介绍过关于qsub和condor两种在集群上面提交任务的方式比对

  • condor_q 可以用来查看任务提交情况
  • condor_rm 可以用来杀掉提交的任务。