LSF
LSF(load sharing facility)是一个被广泛使用的作业管理系统,具有高吞吐、配置灵活的优点。通过 LSF 集中监控和调度,可以充分利用计算机的CPU、内存、磁盘等资源。
命令:
bjobs :查看系统的job
bsub:提交作业
bhist:查看作业历史
bkill: kill一个作业
bqueues:可以查看队列情况
使用步骤
1. 登陆超算服务器
命令行窗口使用ssh登陆
ssh swyw@40.0.1.82
# mm: 123456
2. 写Job.s脚本
#BSUB -L /bin/sh //指定所用的执行shell,默认调用/bin/sh
#BSUB -J Jobname //指定作业名,JobName用于在使用bjobs查看任务时,区分不同的Job
#BSUB -n Number //指定作业所需的进程数
#BSUB -o %J.out //J.out是程序运行结果的标准输出文件,J就是前面的JobName
#BSUB -e %J.err //同上,错误输出文件
#BSUB -R span[ptile=number] //请求使用每个节点中的number个核数
#BSUB -m "c07n13" //指定提交的节点,如果提交到多个节点,节点之间用space分开
#BSUB -q dynamo //指定提交的队列,动力学中心使用dynamo
mpirun -np 32 ./mhdcase0H2_cylinder //mpirun指定使用并行运算,-np是使用的核数,这里是32,后面的是可执行文件的相对路径文件名
bsub指令提交作业
bsub < Job.s
查看自己提交的所有作业
bjobs -l JOBID 加上-l和某个作业的JOBID,可以查看该作业的详细信息
中止作业
bkill JOBID
查看节点使用情况
# 如果RUN列是0,就表示没有该节点没有人使用,
# MAX是该节点的进程数,
# status为closed就是不可用状态,
# Host_name就是节点名
bhosts
---
济南超算
bqueues –l q_sw_share #可查看剩余多少核,idle nodes number is
nohup ./md.sh 192 & #./表示执行命令,运算核数需为N的偶数倍数。
bjobs #类似于top,查看后台进程,需杀死后台文件:bkill+序号
---
几个常用的指令:
bsub 命令常见用法如下:
bsub –n z –q QUEUENAME –i inputfile –o outputfile COMMAND
z代表提交作业需要的cpu数,–q指定作业提交到的队列,如果不采用–q选项,系统把作业提交到默认作业队列。inputfile 代表程序需要读入的文件名(例如 namelist等),outputfile 代表一个文件,作业提交后标准输出的信息将会保存到这个文件中。COMMAND是用户要运行的程序。
(1)对于串行程序COMMAND可以直接使用用户的程序名
例如,对一个运行时间12小时内完成的串行作业mytest, 提交方式为:
bsub –n 1 –q QS_Norm –o mytest.out ./mytest
(2) 对于并行作业COMMAND为“–a mpich_gm mpirun.lsf 程序名”
因为并行作业必须用到MyriNET库,所以提交的时候必须使用
–a mpich_gm mpirun.lsf
例如对于一个12个小时内完成,使用16个cpu的并行作业mytest,提交方式为:
bsub –n 16 –q QN_Norm –o mytest.out –a mpich_gm mpirun.lsf ./mytest
目前,系统规定每个用户最多只能使用16个cpu。
3、使用脚本提交作业
bsub 命令可以使用输入脚本多次提交具有相同参数的作业,格式为:
#BSUB –n Z #BSUB –q QUEUENAME #BSUB –o OUTPUTFILE COMMAND
该脚本的参数与命令行
“ bsub –n Z –q QUEUENAME –o outputfile COMMAND”参数相同。
提交时为 bsub < 脚本名
例如要提交一个12小时内完成,需要16个cpu的并行作业mytest,可以编写作业脚本 bsub.scriptfile
#BSUB –n 16
#BSUB –q QN_Norm
#BSUB –o mytest.out
–a mpich_gm mpirun.lsf ./mytest
LSF队列状况
1、长时间并行作业组(LSF管理)
(1) QL_Norm 队列 创建时间:2006-12-12 15:54:00 3
该队列用于运行长时间并行作业,作业不限执行时间。作业规模限制为:最多使用16个CPU。
2、串行作业组(LSF管理)
(1) QS_Norm 队列 该队列用于串行短时间作业,最长作业执行时间为 12小时。
(2) QS_Long 该队列专用于长时间串行作业,作业不限执行时间。
3、短时间并行作业组(LSF管理)
(1) QN_Norm 队列 该队列用于运行短时间并行作业,最长作业执行时间为12小时。
(2) QN_Debug队列
该队列用于调试或试算,最长作业执行时间为5分钟。
请用户根据自己的需求,选择适当的作业组进行作业提交。
1. bjobs 检查提交作业状态
bjobs
bjobs -w
bjobs –r 显示正在运行的作业
bjobs –a 显示正在运行的和最近完成的作业
bjobs -p 显示等待运行的作业和等待原因
bjobs –s 显示正在挂起的作业和挂起的原因
bjobs -l 显示该作业的所有信息
2. bhist 显示最近完成作业或正在运行作业的历史情况
bhist
3. bkill 删除不需要的作业
bkill
bkill –r
4. bpeek 当作业正在运行时显示它的标准输出,监视作业运行
bpeek
5. bqueues 显示队列信息
bqueues
bqueues –l
6. bhosts 显示各节点作业相关情况
bhosts
bhosts
7. lsload 显示各节点负载信息
lsload
lsload
8. lshosts处理各节点静态资源信息
lshosts
lshosts