引自 简书
LSF (Load Sharing Facility)是一个被广泛使用的作业管理系统,具有高吞吐、配置灵活的优点。通过 LSF 集中监控和调度,可以充分利用计算机的CPU、内存、磁盘等资源。
常用命令
可以通过以下三种方法使用 bsub 来提交作业:
可以直接在 bsub 的命令行中输入完整的参数来提交一个作业,比如:
$ bsub -n 4 -q example-queue -o example.out ./example "-input data.txt"
其中所用的参数说明如下:
这种方式比较适合提交简单的作业,更复杂的作业控制需要编写作业脚本。
LSF 作业脚本本质上也是一个 shell 脚本,在其中可以用 #BSUB开头的行来指明 bsub作业参数。下面是一个 LSF 作业脚本示例:
# example.lsf
#BSUB -L /bin/bash
#BSUB -J example-mpi4py
#BSUB -q example-queue
#BSUB -n 4
#BSUB -o example.out
#BSUB -e example.err
mpirun python example-mpi4py.py
其中各参数说明如下:
提交作业脚本,使用下面的命令:
$ bsub < example.lsf
在终端中输入 bsub 并回车后会进入 bsub 交互环境,在其中可输入作业参数和执行作业程序。在 bsub 交互环境下可以一次提交多个参数相同的作业,例如:
$ bsub
bsub> -n 4
bsub> -q example-queue
bsub> -o example.out
bsub> PROG1
bsub> PROG2
bsub> PROG3
bsub> Ctrl+D
使用 Ctrl+D 可退出 bsub 交互环境。
可以用 bjobs 命令查看用户正在运行中的作业:
$ bjobs
使用 -l参数和某个作业的 JOBID,可以查看该作业的详细信息:
$ bjobs -l JOBID
使用 bkill 命令中止某个作业:
$ bkill JOBID
以上简要介绍了 LSF 作业管理系统。