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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM