SGE作業調度系統

1. 作業調度系統概述

Sun網格引擎(Sun Grid, SGE)是一種來自於 SUN Microsystem的分佈式資源管理和調度系統,它用來在基於UNIX的計算環境中優化軟件和硬件資源的使用。

爲了有效利用集羣系統計算能力,合理分配計算資源,採用基於 SGE 的作業調度系統之後,用戶僅需把注意力放在作業內容上,而計算節點和核心數的分配 都由作業調度系統完成,既方便戶使用,也提高集羣系統整體的利用效率。

2、SGE 如何工作:
  1. 接受用戶投放的任務
  2. 在任務運行以前,將任務放到一個存儲區域
  3. 發送任務到一個執行設備,並監控任務的運行
  4. 運行結束寫回結果並記錄運行日
3、SGE 常見指令
3.1 qhost -- 顯示執行節點的狀態信息

其中:

  • ARCH:CPU架構
  • NCPU:CPU核數
  • LOAD:負載情況
3.2 qsub- 提交任務參數
參數 含義
-cwd #從當前工作路徑運行作業
-wd working_dir #定義工作目錄
-o path 定義標準輸出文件路徑、文件名
-e path #定義標準錯誤輸出文件路徑、文件名
-j y[es]|n[o] #定義作業的標準錯誤輸出是否寫入到輸出
文件中
-now y[es]|n[o] #立即執行作業
-a date_time #作業開始運行時間
-b y[es]|n[o] #指定運行程序是二進制文件還是腳本文件,
默認 n -m b|e|a|s|n #定義郵件發送規則。
b:作業開始時發送。e:作業結束時發送。a:作業失敗時發送 s:作業掛起時發送。n:不發送
-M user[@host] #定義郵件地址
-l resource=value #表明作業運行所需要的資源。【-l vf=10G,mf
=750M,p=20】 -N job_name #重命名作業名
-q queue_name #定義作業運行隊列
-S shell_path #指定運行 Shell 環境
-P project_name #定義項目名稱,前提是存在該項目
-p priority #定義優先級,-1023 到 1024 , 默認值 0 -r y[es]|n[o] #定義作業失敗後是否重新運行 - v variable #定義環境變量
-dl date_time #定義作業到期時間,在作業到期時間之前,作業的優先級會逐步提高,直到管理員指定的最高級別

舉例

qsub –cwd -l vf=5G,p=4 -q baseline.q,dynamic1.q work.sh

其中:
-cwd 在當前工作目錄;
-l 資源申請/限制,用逗號隔開
-q 申請隊列
baseline.q,dynamic1.q是兩個處理任務的隊列

3.3 qstat- 查看任務狀態
qstat -u username 查看某個用戶的任務
qstat -u \* 查看所有用戶的任務
qstat -j jobID 查看某個任務的詳細信息
qstat -u \* | grep proj.q 查看某個隊列下所有任務
qstat -u \* | grep Gene-node58 查看某一節點下所有任務

狀態:qw 表示等待狀態, Eqw 表示投遞任務出錯,r 表示任務正在運

3.4 qdel-刪除任務
qdel job_id 刪除 job
qdel -u usrname 刪除用戶的所有任務
3.5 qmod-暫停任務
暫停任務:qmod -s job_id 
取消暫停:qmod -us job_id
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章