LSF:是IBM公司开发的对超算集群服务器的作业统一调度系统;
主要有:
作用:
概念:
登陆节点:主要用于日常操作,如提交作业、查看作业运行情况、编
辑、编译、压缩/解压缩等常用命令;
不要在登陆节点运行作业,即必须通过bsub提交作业;
作业节点:即真实作业提交运算节点;
所有需要运行的作业均必须通过作业提交命令bsub提交;
会看到列名:QUEUE_NAME PRIO. STATUS
2.$ bqueues -l dfbdv
进行查看队列的详细信息;
CPU计算队列:
GPU计算队列:
Principle:非GPU作业不得使用GPU计算队列**
申请核数尽量以 8或者其他的倍数,以为能独占单个节点,避免作业间相互干扰;
3.
1.$ lsload
ut表示利用率
2.$ lsload node --查看某节点运行情况;
类似lsload 命令
bsub [options] command [arguments]
command之前的options:设置队列、CPU核数等LSF的选项
command之后的arguments:设置具体作业的可执行程序本身所需要
的参数;
For understanding:
为了用户作业间不相互干扰,申请的核数最好为系统节点内CPU核
数的整数倍,以便同一个作业占据整个节点
比如对每个节点为8核的系统,申请核数为8的整数倍,节点核数
为12的系统,申请核数为12的整数倍
曙光TC4600百万亿次超级计算系统:每个节点24 CPU核
ChinaGrid高性能计算集群:每个节点16 CPU核
联想1800和7000G GPU集群:每个节点8 CPU核
需求:OpenMP等共享内存作业提交,则需要保证在同一个节点上运行;程序启动前利用OMP_NUM_THREADS设定指定的线程数,一般应
与申请的核数一致;-R ‘‘span[hosts=1]’’保证在同一个节点内。
bsub -q normal -n 8 -R ‘‘span[hosts=1]’’ OMP_NUM_THREADS=8 exec
排他性运行在运行期间,不允许其余的作业提交到运行此作业的节
点,并且只有在某节点没有任何其余的作业在运行时才会提交到此
节点上运行;
另外使用排他性运行时,哪怕只使用某节点内的一个CPU核,也将按
照此节点内的所有CPU核数进行机时计算;
即运行期间手动输入参数;
done(job_ID |“job_name” …):作业结束时状态为DONE时运行
ended(job_ID | “job_name”):作业结束时状态为DONE或EXIT时运行
exit(job_ID | “job_name” [,[operator] exit_code]):作业结束时状态
为EXIT,且退出代码满足一定条件时运行
external(job_ID | “job_name”, “status_text”):作业状态变为某状态时运
行,如变为SUSP
· · · · · ·
支持的条件之间的条件表达式:&&(和)、||(或)、!(否)
支持的条件内的条件算子:>、>=、<、<=、==、!=
Eg: :bsub -w ‘‘done(1456)’’
利用-b [[year:][month:]day:]hour:minute可以使得新提交的作业在特
定时间运行;
利用bjobs可以查看作业的运行情况;
bjobs -l job_id. 查看详细信息;
bjobs -p 查看作业仍在排队等待的原因;
利用bkill命令可以终止某个运行中或排队中的作业;
加 job_id 即可;
接 job_id即可;