weiqi7777

bsub命令

0
阅读(798) 评论(0)

一、            bsub

bsub,提交给lsf作业的命令。

命令格式
       bsub  [options]   command   [argument]

       bsub   -pack  job_submission_file

 

-q    选择队列

-i     指定输入文件  

-I      交互模式,此时终端不能输入

-o     指定输出文件,作业提交后标准输出的信息会保存到这个文件中。

-e     指定输出文件,作业提交后标准错误的信息会保存到这个文件中。

-n     指定作业需要的CPU

-J     作业的名字

-w  ‘dependecy_expression’  , 提交作业前,指定操作。

              操作有: done  

                             ended –e “ended(aaaa*)” 表示作业名中有aaaa的作业,完成之后才可以提交作业

                             exit

-W    限定作业运行时间

-K     提交作业,并且等待作业完成。当提交作业后,终端打印“waiting for dispath”。当作业完成后,终端打印“job is finished”。作业没有完成,不能提交新的作业。

 

%J,可表示作业号

       LSF(load sharing facility)是分布资源管理的工具,用来调度、监视、分析联网计算机的负载。

目的:

       通过集中监控和调用,充分共享计算机的CPU、内存、磁盘、license等资源

 

       一组安装了LSF软件的计算机组成了一个clustercluster内的资源统一监控和调度。

clip_image002

       server hostcluster内提交和执行job的计算机

       client hostcluster内仅仅提交job的计算机

JOB

-提交给LSF的命令

-LSF负责调度、控制、跟踪job

 

命令

l  bjobs :查看系统的job

l  bsub:提交作业

l  bhist:查看作业历史

l  bkill kill一个作业

 

bqueues命令,可以查看队列情况

clip_image004

参数

解释

QUEUE_NAME

队列的名字

PRIO

队列的优先级,数字越大,优先级越高

STATUS

状态

Open:Active :  表示已激活,可使用

Closed:Active 表示已关闭,不可使用

MAX

队列对应的最大CPU核数

l  表示无限

JL/U

单个用户同时可以使用的CPU核数

NJOBS

排队、运行和被挂起的总作业所占CPU核数

PEND

排队中的作用所需CPU核数

RUN

运行中的作业所占CPU核数

SUSP

被挂起的作业所占CPU核数

 

bsub提交的作业,有一个JOBIDJOB_NAMEJOBID不可设置,JOB_NAME可以设置。

bsub命令的 –J 参数,可以指定 JOB_NAME

clip_image006

二、            例子

       一个c程序,如下所示:

clip_image007

       编译生成a.out可执行文件,然后将该文件通过bsub提交,执行。

 

       通过busb命令,将该a.out可执行文件,提交8次作业。-J参数,执行作业的名字。-o参数指定lsf执行该可执行文件的输出,保存到指定文件。

       最后要等待这些作业完成,通过以下bsub命令。

              bsub –I –w “ended(aaaaaaaaaa*)”  echo “a.out finished”

       提交一个作业,只是打印信息:

l  -I参数,表示和终端交互,后续提交的任务要等这个任务完成后,才可以提交

l  -w ”ended..” 指定该作业要等作业名中有aaaaaaaa的作业都完成后,才可以提交。

clip_image009

       执行这些命令的打印信息。每个任务有一个JOB_ID

clip_image011

       执行的过程中,通过bjobs 命令,可以查看作业情况。对于最后一个任务,状态是PEND的,因此要等之前的任务都完成之后,才可以执行。

clip_image013