LSF作业管理系统使用方法

查看LSF计算节点列表bhosts

# bhosts
HOST_NAME          STATUS       JL/U    MAX  NJOBS    RUN  SSUSP  USUSP    RSV
fat01              ok              -     16      0      0      0      0      0
fat02              ok              -     16      0      0      0      0      0
fat03              ok              -     16      0      0      0      0      0
fat04              ok              -     16      0      0      0      0      0
fat05              ok              -     16      0      0      0      0      0
fat06              ok              -     16      0      0      0      0      0
fat07              ok              -     16      0      0      0      0      0
fat08              ok              -     16      0      0      0      0      0
fat09              ok              -     16      0      0      0      0      0
fat10              ok              -     16      0      0      0      0      0
......

查看LSF队列bqueues

查看所有队列的整体信息:

# bqueues
QUEUE_NAME      PRIO STATUS          MAX JL/U JL/P JL/H NJOBS  PEND   RUN  SUSP
cpu              40  Open:Active       -    -    -    -  2072     0  2072     0
fat              40  Open:Active       -    -    -    -     0     0     0     0
gpu              40  Open:Active       -    -    -    -   288     0   288     0
mic              40  Open:Active       -    -    -    -     0     0     0     0
cpu-fat          40  Open:Active       -    -    -    -    16     0    16     0

查看某个队列的信息:

# bqueues fat
QUEUE_NAME      PRIO STATUS          MAX JL/U JL/P JL/H NJOBS  PEND   RUN  SUSP
fat              40  Open:Active       -    -    -    -     0     0     0     0

查看计算节点负载lsload

查看整体负载:

# lsload
HOST_NAME       status  r15s   r1m  r15m   ut    pg  ls    it   tmp   swp   mem
node011             ok   0.0   0.3   0.4   0%   0.0   0 49024  193G   62G   61G
node039             ok   0.0   0.6   0.5   0%   0.0   0 49024  194G   62G   61G
node041             ok   0.0   0.0   0.0   0%   0.0   0 49024  194G   62G   61G
node050             ok   0.0   0.0   0.0   0%   0.0   0 49024  194G   62G   60G
node064             ok   0.0   0.7   0.6   0%   0.0   0 49024  194G   62G   61G
node077             ok   0.0   0.7   0.5   0%   0.0   0 49024  194G   62G   61G
.....

查看某个节点的负载:

# lsload node001
HOST_NAME       status  r15s   r1m  r15m   ut    pg  ls    it   tmp   swp   mem
node001             ok   0.3   0.1   0.1   1%   0.0   0   332  152G   62G   61G

使用LSF提交作业bsub

手动提交作业

LSF使用bsub提交作业。bsub命令的格式是:

bsub -n Z -q QUEUENAME -i INPUTFILE -o OUTPUTFILE COMMAND

其中:Z提交作业需要的线程数,-q指定作业提交的队列。如果不添加-q选项,系统将把作业提交到默认的作业队列。 INPUTFILE表示程序需要读入的文件名,OUTPUTFILE表示输出文件名,作业提交后的输出到标准输出信息将会保存在这个文件中。

对于串行作业,COMMAND可以直接使用您的程序名。 例如,将串行程序mytest的通过LSF提交:

bsub -n 1 -q q_default -o mytest.out ./mytest

对于MPI并行作业,COMMAND的格式为-a mpich_gm mpirun.lsf PROG_NAME。 例如,将并行程序mytest,通过LSF提交,使用16个线程运行这个作业:

bsub -n 16 -q q_default -o mytest.out -a mpich_gm mpirun.lsf ./mytest

交互式批量提交

使用bsub还可以启动一个交互式的shell环境,一次提交多个运行参数相同的并行作业。例如下面的操作:

# bsub
bsub> -n 16
bsub> -q q_default
bsub> -o output.txt
bsub> COMMAND1
bsub> COMMAND2
bsub> COMMAND3

等价于:

bsub -n 16 -q q_default -o output.txt COMMAND1
bsub -n 16 -q q_default -o output.txt COMMAND2
bsub -n 16 -q q_default -o output.txt COMMAND3

编写LSF作业控制脚本

#BSUB -n 16
#BSUB -q q_default
#BSUB -o output.txt
-a mpich_gm mpirun.lsf ./mytest

bsub还接受来自标准输入的作业说明。 因此,我们可以编写LSF脚本提交作业。 bsub脚本简单易写,上面一段代码是名为bsub.script的完整例子,将bsub.script通过输入重定向,提交给LSF:

bsub < bsub.script  

这等价于:

bsub -n 16 -q q_default -o output.txt -a mpich_gm mpirun.lsf ./mytest

一个功能更完整的LSF作业控制脚本

#BSUB -J HELLO_MPI
#BSUB -o job.out
#BSUB -e job.err
#BSUB -n 256
source /lustre/utility/intel/composer_xe_2014.3.163/bin/compilervars.sh intel64
source /lustre/utility/intel/mkl/bin/intel64/mklvars_intel64.sh
source /lustre/utility/intel/impi/4.1.1.036/bin64/mpivars.sh
MPIRUN=`which mpirun`
EXE="./mpihello"
CURDIR=$PWD
cd $CURDIR
rm -f nodelist nodes >& /dev/null
touch nodelist
touch nodes
NP=0
for host in `echo $LSB_MCPU_HOSTS |sed -e ‘s/ /:/g‘|  sed ‘s/:n/\nn/g‘`
do
echo $host >> nodelist
echo $host | cut -d ":" -f1 >> nodes
nn=`echo $host | cut -d ":" -f2`
NP=`echo $NP+$nn | bc`
done

其他作业管理操作

查看作业状态bjobs

检查已提交的作业的运行状态:

bjobs

以宽格式来显示作业运行状态:

bjobs -w

显示所有作业:

bjobs -a

显示正在运行的作业:

bjobs -r

显示等待运行(pending)的作业和等待的原因:

bjobs -p

显示已经挂起(suspending)的作业和挂起的原因:

bjobs -s

显示JOBID这个作业的所有信息:

bjobs -l JOBID

终止作业bkill

终止不需要的作业:

bkill

终止JOBID这个作业:

bkill JOBID

直接将作业JOBID从LSF中移除,而不等待该作业的进程在操作系统中终结:

bikill JOBID

监视作业输出bpeek

当作业正在运行时,显示它的标准输出,监视作业运行:

bpeek

查看JOBID的标准输出:

bpeek JOBID

作业历史信息bhist

显示作业的历史情况:

bhist

显示JOBID作业的历史情况:

bhist JOBID
时间: 2024-08-12 06:31:49

LSF作业管理系统使用方法的相关文章

ThinkPHP5作业管理系统中处理学生未交作业与已交作业信息

在作业管理系统中,学生登陆到个人中心后可以通过左侧的菜单查看自己已经提交的作业和未提交作业.那么在系统中如何实现这些数据的查询的呢?首先我们需要弄清楚学生(Student).班级(class).作业提交表(Submit)这三个表之间的关系. 每个学生都属于一个班级 班级里的每个学生都会被布置同样的作业 学生提交作业后会在作业提交表中添加响应的记录,如学生的ID,作业的ID,提交的内容等. 可以按照以下步骤获取学生已交作业和未交作业 获取学生所在班级的所有作业 //获取学生所在班级的所有作业  p

学校作业管理系统简单实现

作业管理系统 ---------------------------------------------------------2016-09-21--------------------------------------------------------------- 一.业务需求: 1.前台 学生注册(指定小组) 学生注册,添加一个用户 学生登录 查询操作 提交作业(不指定小组和班级,会自动判断小组和班级,作业必须是rar文件,每次作业放入指定目录下) 查看排名 查看个人某次作业和所有作

[作业管理系统开发实战三 ]用户登陆模块的后端代码(thinkphp5)

前述两篇文章已经将用户登陆的界面和验证进行了实现,现在看看后端要做的事情(基于ThinkPHP5).举例来说,比如当学生登陆成功后则进入学生界面,在这个界面中,学生可以提交作业,查看自己作业的批改情况.当用户在前述界面中输入了用户名和密码,选择了学生用户后,点登陆,会进入dologin方法(位于controller\index\account\dologin),代码如下: public function dologin() { $kind=$_POST['kind']; if($kind=='t

团队项目-作业管理系统

在本次团队项目中,这一周的工作-撰写需求说明文档的任务中,本人于结对伙伴刘京维撰写资源模块的系统功能概述.内容如下: 用例名称:上传资源 涉及的参与者:老师.学生 描述:老师和学生通过用例向系统上传资源 前置条件:老师和学生必须登录到这个系统 后置条件:公告栏显示资源更新: 上传资源信息同步到账户: 系统记录上传时间以及上传者ID. 正常事件流: 1.用户点击上传资源按钮 2.用户添加文件描述 3.用户从本地选择所需上传的文件 4.用户点击确定按钮 5.系统接收用户所提交的文件及描述 6.新添加

LMT NEW PBS作业排队管理系统分布式并行计算

LMT NEW PBS作业排队管理系统分布式并行计算 LMT NEW PBS作业排队管理系统,利用集群系统来构建分布式并行环境,将一个海量的计算请求看作一个作业,提交给集群系统,管理节点将这个作业分解为多个子任务,再根据收集的节点负载信息将这些任务分别映射到各个节点上进行计算. 一个作业在集群系统中的完整调度过程分为6个部分,分别为:提交作业,调度作业,分发作业,运行作业,返回输出和返回结果到提交节点. 基于集群系统的分布式并行计算结构如下图所示: (分布式并行计算结构图) 分布式并行计算结构包

LMT NEW PBS作业调度管理系统应对金融行业作业批处理

LMT NEW PBS作业调度管理系统应对金融行业作业批处理 大集中之后,要改变批处理作业管理的现状,各公司急需引进成熟统一的解决方案,以提高作业效率,节约管理成本,规避作业失败的风险. 经过近几年的努力,金融行业的业务和数据都实现了区域集中,有的已经实现数据的全国集中.在业务集中度不断提高的同时,原来在各个系统中普遍存在的各种批处理作业自然也被集中到了中心节点. 大集中后的挑战 业务和数据集中之后,银行必须相应改造原有业务系统的处理方式,并添加新的批处理作业来提升业务处理的效率.如何合理有效地

第五次作业-系统实现可能需要用到的技术,及学习相关技术的心得

一.系统实现可能需要用到的技术: 我们团队的项目是学生作业管理系统,为了实现这个系统,我们可能需要用到的技术有面向对象编程.UML建模.ASP.NET.C#.SQL server.JQuery 等. (1)面向对象程序设计(Object-Oriented Programming)是一种起源于六十年代,发展已经将近三十年的程序设计思想.对象是对现实世界实体的模拟,由现实实体的过程或信息来定义.一个对象可被认为是一个把数据(属性)和程序(方法)封装在一起的实体,这个程序产生该对象的动作或对它接受到的

软件项目与过程管理第七周作业

问题:关于文档修订方面内容的总结及本次项目中所编写的文档的重要性说明. 一.立项说明书 1.立项说明书能详细地说明项目的可交付成果和为提交这些可交付成果而必须开展的工作. 2.立项说明书是项目利害关系者对项目范围的共同理解,说明了项目的主要目标. 3.立项说明书能够使项目团队能够实施更详细的规划,在执行过程中指导项目团队的工作,并构成评价变更请求或增加的工作是否超出项目边界的基准. 4.立项说明书能够明确提出了哪些工作要做,哪些工作不要做,以及要做的水平,这决定了项目管理团队控制整个项目范围的好

软件项目与过程管理第八周作业

内容:软件项目与过程管理课程内容总结 经过八周时间的学习,软件项目与过程管理课程已经逐渐接近了尾声.通过这八周的学习,我对软件项目与过程管理课程有了更深的理解. 一.关于团队项目. 团队项目是本次软件项目与过程管理课程中最重要的一部分.我们团队项目是作业管理系统.在项目开发的整个过程中,我们在项目经理的带领下,项目团队的每一个成员团结合作.相互沟通,团队成员之间相互学习彼此的优点和技术,在每个成员的共同努力下,基本完成了此次软件开发项目. 通过这次团队项目, 我的总结如下: 1.在项目的开发过程