LSF 作業管理系統

本文從本人簡書博客同步過來

上一篇中我們簡要介紹了 PBS 作業管理系統,下面我們將介紹 LSF 作業管理系統。

簡介

LSF (Load Sharing Facility)是一個被廣泛使用的作業管理系統,具有高吞吐、配置靈活的優點。通過 LSF 集中監控和調度,可以充分利用計算機的CPU、內存、磁盤等資源。

常用命令

  • bqueues:查看計算隊列
  • bhosts:查看計算節點列表
  • lsload:查看負載
  • bsub:提交作業
  • bjobs:查看作業狀態
  • bkill:終止作業
  • bpeek:查看作業的標準輸出
  • bhist:作業歷史信息

作業提交bsub

bsub調用方法

可以通過以下三種方法使用 bsub 來提交作業:

  1. 直接在命令行中輸入完整參數:
  2. 進入 bsub 環境交互提交:
  3. 編寫作業提交腳本供 bsub 處理。

直接輸入完整參數

可以直接在 bsub 的命令行中輸入完整的參數來提交一個作業,比如:

$ bsub -n 4 -q example-queue -o example.out ./example "-input data.txt"

其中所用的參數說明如下:

  • -n 指定所需的處理器數目;
  • -q 指定作業運行的隊列;
  • -o 指定作業運行信息的輸出文件;
  • “-input data.txt” 是傳遞給執行程序 example 的命令行參數。

這種方式比較適合提交簡單的作業,更復雜的作業控制需要編寫作業腳本。

使用作業提交腳本

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

其中各參數說明如下:

  • -L 指明所用的執行 shell,默認會調用 /bin/sh 執行腳本;
  • -J 指定作業名;
  • -q 指定作業隊列;
  • -n 指定作業所需的進程數;
  • -o 指定作業的標準輸出文件;
  • -e 指定作業的錯誤輸出文件。

提交作業腳本,使用下面的命令:

$ 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 作業管理系統,在下一篇中我們將介紹 SLURM 資源管理系統。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章