16、SGE作業調度系統的簡介


轉載:http://www.zilhua.com/2222.html

http://gridscheduler.sourceforge.net/htmlman/

 

SGE作業調度系統的簡介

一、常見的幾種作業調度系統

Condor是一個資源管理和作業調度系統,是來自Wisconsin-Madison大學的研究項目。充分利用工作站的空閑時間是Condor的最顯著特征。Condor管理的機群由網絡中的工作站組成,工作站可以自願加入或退出。Condor監測網絡中所有工作站的狀態,一旦某台計算機被認為空閑,便把它納入到資源池中。在資源池中的工作站被用來執行作業。

Sun網格引擎(Sun Grid ,SGE)是一種來自於SUN Microsystem的分布式資源管理和調度系統,它用來在基於UNIX的計算環境中優化軟件和硬件資源的使用。SGE能用於查找資源池內的閑置資源並利用這些資源;它同樣用於通常的一些事務中,例如管理和調度作業到可用資源中。

負載共享設施(Load Sharing Facility,LSF)是由加拿大平台計算公司研制與開發的,由Toronto大學開發的Utopia系統發展而來。在使用范圍上,LSF不僅用於科學計算,也用於企業的事務處理。功能上,除了一般的作業管理特性外,它還在負載平衡、系統容錯、檢查點操作、進程遷移等方面作了很好的努力,並力圖使之實用化。

便攜式批處理系統(Portable Batch System,PBS)是一個資源管理和調度系統,它接受批處理作業(具有控制屬性的shell腳本),保留和保護作業直到它開始運行。因為一個批處理作業是一個無需用戶干預的,在計算機系統后台運行的程序,在批處理作業運行過程中,用戶無法實時地得到作業運行結果,所以PBS只能在作業執行后,將作業結果返回給提交者。目前,PBS包含開源免費的OpenPBS、商業付費的PBS Pro、Torque三種分支。

二、SGE 常見指令

  1. 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 arch=solaris64,h_vmem=750M,permas=1】
-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  h=compute-1-1, h_vmem=5G,p=4  -q all.q work.sh

其中:

-cwd 在當前工作目錄;

-l 資源申請/限制,用逗號隔開

-q 申請隊列

關於資源限制域,可以通過如下指令查看:qconf -sc

下面列舉一些常見的關鍵字:

#name shortcut type relop default urgency define
cpu cpu DOUBLE >= 0 0 cpu nums
h_vmem h_vmem MEMORY <= 0 0 The per-job maximum memory limit in bytes.
hostname h HOST == NONE 0 host name
mem_free mf MEMORY <= 1g 0 MEM_NEEDED is the amount of memory (in megabytes M, or gigabytes G) that your job will require
num_proc p INT <= 1 0 process number
qname q RESTRING == NONE 0 quene name
s_data s_data MEMORY <= 0 0 The per-process maximum memory limit in bytes.
tmpdir tmp RESTRING == NONE 0 tmp dir
virtual_free vf MEMORY <= 1g 0 The per-job maximum memory limit, dynamically
  1. qstat 查看任務狀態

qstat -u username  查看某個用戶的任務

qstat -u \* 查看所有用戶的任務

qstat -j jobID 查看某個任務的詳細信息

qstat -f 查看用戶自己在每個節點的任務情況

qstat -q all.q -u \* 查看某個隊列下所有任務

qstat -q all.q@node1 -u \* 查看某個隊列的某一節點下所有任務

  1.  qdel 刪除任務

qdel [ -f ]  [ -help ] [-u wc_user_list] [ wc_job_range_list ] [ -t task_id_range ]

qdel job_id 刪除job

qdel -u usrname 刪除用戶的所有任務

  1. qhold 掛起任務

qhold job_id

qhold -u \* 掛起所有用戶的任務

  1. qalter更改任務屬性

qalter [ options ] wc_job_range_list [ -- [ command_args ]]

指令和qsub差不多,不多介紹了。


免責聲明!

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



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