SGE作業(yè)調(diào)度系統(tǒng)的簡單理解

Sun網(wǎng)格引擎(Sun Grid, SGE)是一種來自于 SUN Microsystem的分布式資源管理和調(diào)度系統(tǒng)泣懊,它用來在基于UNIX的計(jì)算環(huán)境中優(yōu)化軟件和硬件資源的使用伸辟。SGE能用于查找資源池內(nèi)的閑置資源并利用這些資源(將用戶投遞的任務(wù)進(jìn)行排隊(duì)败砂,然后將任務(wù)交給能夠運(yùn)行的結(jié)算節(jié)點(diǎn)執(zhí)行)瘤载;它同樣用于通常的一些事務(wù)中,例如管理和調(diào)度作業(yè)到可用資源中铣减。當(dāng)然卡啰,作業(yè)調(diào)度系統(tǒng)的種類有很多静稻,除了SEG,常見的還有Condor匈辱、負(fù)載共享設(shè)施(LSF)振湾、便攜式批處理系統(tǒng)(PBS)。

對用戶而言亡脸,SGE就是一個大系統(tǒng)押搪,提供單個切入點(diǎn),以訪問強(qiáng)大而分散的資源浅碾。用戶將網(wǎng)格視作單個計(jì)算資源大州。資源管理軟件(SGE)接受由用戶提交的作業(yè)(也就是分析任務(wù)),并根據(jù)資源管理策略將作業(yè)安排在網(wǎng)格內(nèi)適當(dāng)?shù)南到y(tǒng)上執(zhí)行垂谢。用戶可以一次提交數(shù)千個作業(yè)厦画,而不必考慮他們在何處運(yùn)行,如此一來簡化了用戶的使用滥朱。

對管理者而言根暑,SGE依據(jù)管理者制定的規(guī)則力试,檢測網(wǎng)格的所有可用資源后,聚集資源购裙,并在該網(wǎng)格內(nèi)自動懂版、最優(yōu)地分配和利用資源。同時提供廣泛的工具躏率,用以監(jiān)控投放的任務(wù)躯畴。

SGE的工作流程可以分為四步:

  • 接受用戶投放的任務(wù)
  • 在任務(wù)運(yùn)行以前,將任務(wù)放到一個存儲區(qū)域
  • 發(fā)送任務(wù)到一個執(zhí)行設(shè)備薇芝,并監(jiān)控任務(wù)的運(yùn)行
  • 運(yùn)行結(jié)束返回結(jié)果并記錄運(yùn)行日志
    用戶可以在提交作業(yè)時描述出作業(yè)需求的概況蓬抄,從而協(xié)助SGE的資源分配(例如,通過qsub -l申請資源)夯到。此外嚷缭,SGE系統(tǒng)也會檢索用戶的身份以及他與項(xiàng)目或用戶組的從屬關(guān)系,根據(jù)管理者的設(shè)定規(guī)則為任務(wù)分配優(yōu)先級或等待時間耍贾。

1.節(jié)點(diǎn)的基本概念

貓毛的理解:一個節(jié)點(diǎn)也就相當(dāng)于一臺服務(wù)器

主控節(jié)點(diǎn):主控節(jié)點(diǎn)是所有集群活動的中心阅爽,控制SGE系統(tǒng)組件。一般情況荐开,主控節(jié)點(diǎn)也是管理節(jié)點(diǎn)和提交節(jié)點(diǎn)付翁。
執(zhí)行節(jié)點(diǎn):執(zhí)行節(jié)點(diǎn)有權(quán)限執(zhí)行作業(yè)的系統(tǒng),執(zhí)行節(jié)點(diǎn)有附加到它上面的隊(duì)列晃听。
管理節(jié)點(diǎn):管理節(jié)點(diǎn)有權(quán)運(yùn)行SGE系統(tǒng)的任何類型的管理操作百侧。
提交節(jié)點(diǎn):提交節(jié)點(diǎn)只允許用戶提交和控制批處理作業(yè)。具體說能扒,用戶登陸后佣渴,可以使用qsub命令提交作業(yè),使用qstat命令監(jiān)控作業(yè)狀態(tài)初斑。

了解隊(duì)列的概念

在SGE中辛润,隊(duì)列就是存放能在某一節(jié)點(diǎn)上運(yùn)行的所有任務(wù)的容器。一個隊(duì)列從某種方面也決定了所含任務(wù)的屬性越平。

隊(duì)列存在的本質(zhì):為任務(wù)提供服務(wù)
隊(duì)列存在的意義:(由于SGE允許同時運(yùn)行多個任務(wù)频蛔,為了優(yōu)化資源利用)系統(tǒng)會試著最小負(fù)荷的合適隊(duì)列開始新的任務(wù)

2.用戶的基本概念

管理人員:管理人員擁有完全操作SGE系統(tǒng)的能力。默認(rèn)情況秦叛,管理主機(jī)的超級用戶都具有管理人員權(quán)限晦溪。
操作員:操作員可以執(zhí)行很多管理人員命令,但是進(jìn)行配置更改除外挣跋。
擁有者:隊(duì)列擁有者可以暫腿玻或者啟動其擁有的隊(duì)列,還可以暫停或啟動其擁有的隊(duì)列中的作業(yè)舟肉。隊(duì)列擁有者沒有其他管理權(quán)限修噪。
用戶:用戶有一定的訪問權(quán)限。

3.資源檢索

3.1 qhost -- 顯示執(zhí)行節(jié)點(diǎn)的狀態(tài)信息

qhost查看執(zhí)行節(jié)點(diǎn)的狀態(tài)信息

其中:

  • ARCH:CPU架構(gòu)
  • NCPU:CPU核數(shù)
  • LOAD:負(fù)載情況

3.2 qconf -- 提供集群配置和隊(duì)列配置的用戶界面

qconf -sel 顯示“執(zhí)行主機(jī)”列表
qconf -sh 顯示“管理主機(jī)”列表
qconf -ss 顯示“提交任務(wù)主機(jī)”列表
qconf -sql 顯示“集群隊(duì)列”列表
qconf -spl 顯示“集群并行環(huán)境”列表

4. 任務(wù)投遞

使用qsub進(jìn)行任務(wù)投遞時需要添加參數(shù)來調(diào)整qsub的行為路媚。下面只列幾個常用的參數(shù)黄琼。

參數(shù) 默認(rèn)值 說明
-b 表示運(yùn)行二進(jìn)制命令,而非腳本
-cwd 家目錄 運(yùn)行前切換至當(dāng)前目錄整慎。如此一來脏款,stdout 和 stderr 將輸出在當(dāng)前目錄
-wd 定義工作目錄
-A 當(dāng)前用戶 任務(wù)的擁有者
-j n(默認(rèn)否定) 是否將標(biāo)準(zhǔn)輸入和標(biāo)準(zhǔn)輸出合并成一個文件
-m 任務(wù)結(jié)束后,通過哪種方式通知任務(wù)擁有者:‘b’ Mail is sent at the beginning of the job; 'e' Mail is sent at the end of the job; 'a' Mail is sent when the job is aborted or rescheduled; 's' Mail is sent when the job is suspended; 'n' No mail is sent.(job開始和終止發(fā)送郵件裤园,使用 -m be這種形式)
-M -m 郵件通知時的郵箱
-p 任務(wù)的優(yōu)先級
-r 當(dāng)操作系統(tǒng)重啟后撤师,自動重啟任務(wù)
-N 任務(wù)名
-o stdout 指定標(biāo)準(zhǔn)輸出的文件夾
-e stderr 指定標(biāo)準(zhǔn)錯誤的文件夾
-v 開始任務(wù)前設(shè)置指定變量
-V 將當(dāng)前的環(huán)境變量傳遞到執(zhí)行命令的節(jié)點(diǎn)中
-hold_jid eg: -hold_jid 135 在job ID 為135 的任務(wù)完成之后運(yùn)行
-q 指定隊(duì)列
-l resource=value 請求資源數(shù) eg:-l vf=25G -l h=node1(任務(wù)的預(yù)估內(nèi)存為25G,申請?jiān)趎ode1上運(yùn)行)申請內(nèi)存時盡可能大于真實(shí)內(nèi)存拧揽,內(nèi)存預(yù)估偏低的話可能會導(dǎo)致節(jié)點(diǎn)跑掛掉
-pe smp eg:-pe smp 5 申請5個線程
-S tcsh 規(guī)定作業(yè)的shell解釋器 -S /bin/bash表示在bash環(huán)境下執(zhí)行命令
4.1 命令行投遞
bowtie2 -p 8 -x index/ref -1 data/A_1.fq -2 data/A_2.fq | samtools sort > A.bam | qsub -V -cwd -l vf=25G -S /bin/bash -pe openmpi 8 -N A.bt2

任務(wù)解釋:使用bowtieA_1.fqA_2.fq和參考基因組比對生成bam文件剃盾,然后再使用samtools sort將bam排序獲得A.bam
qsub命令解釋:申請8個線程并使用openmpi進(jìn)行運(yùn)算(同時申請內(nèi)存25G)淤袜,這里定義任務(wù)名稱為 A.bt2

4.2 腳本投遞

編輯shell腳本 test.sh痒谴,內(nèi)容如下

#!/bin/bash
#$ -V
#$ -N A.bt2
#$ -pe openmpi 8
#$ -cwd
#$ -l vf=25G
#$ -M xxx@XXX.com
#$ -m be
bowtie2 -p 8 -x index/ref -1 data/A_1.fq -2 data/A_2.fq | samtools sort > A.bam

投遞時直接qsub test.sh

5.任務(wù)查詢 qstat

qstat是一個非常有用的任務(wù)查詢命令

qstat 查詢?nèi)蝿?wù)狀態(tài)

  • prior 代表任務(wù)的優(yōu)先級,數(shù)值越高越優(yōu)先
  • name 為任務(wù)名稱(這里為test)
  • slots ja-task-ID 線程數(shù)(這里為 1 )
  • state 為任務(wù)狀態(tài)
    -- qw: 表示等待狀態(tài)
    -- hqw: 任務(wù)掛起等待中铡羡,依賴于其他正在執(zhí)行的任務(wù)闰歪,待依賴的任務(wù)完成后執(zhí)行
    -- Eqw: 投遞任務(wù)出錯
    -- r:表示任務(wù)正在運(yùn)行
    -- s:暫時掛起(往往由于優(yōu)先級更高的job搶占了資源)
    -- dr:節(jié)點(diǎn)掛了之后,刪除任務(wù)就會出現(xiàn)這個狀態(tài)蓖墅,只有節(jié)點(diǎn)重啟之后,任務(wù)才會消失
    認(rèn)識幾個qstat的常用參數(shù)
  • qstat -f 查看用戶任務(wù)
  • qstat -j jobId 按任務(wù)id查看
  • qstat -explain a|c|A|E -j jobID 查看任務(wù)并給出解釋
  • qstat -u user 查看指定用戶投遞的任務(wù)

6. 其余幾個SGE 常用命令

6.1查看可用節(jié)點(diǎn) qselect

qselect 的語法:qselect [options]
常用參數(shù):
qselect -U 查看指定用戶的可用隊(duì)列節(jié)點(diǎn)
qselect -q 查看指定隊(duì)列有哪些可用節(jié)點(diǎn)

6.2 掛起作業(yè)使用的命令

6.2.1 qholdqrls
  • qhold 阻止已提交作業(yè)的執(zhí)行
    qhold 的語法:qhold jobid
    任務(wù)掛起后临扮,狀態(tài)變?yōu)?hqw(任務(wù)掛起等待中论矾,待依賴的任務(wù)完成后執(zhí)行)
    qhold + jobid
任務(wù)被掛起
  • qrls 釋放先前被阻止執(zhí)行的作業(yè)
    qrls 的語法:qrls jobid
    qrls+jobid

    任務(wù)重新運(yùn)行
6.2.2 qmod -sqmod -us
  • qmod -s 暫停已經(jīng)在運(yùn)行的作業(yè)
    qmod -s的語法:qmod -s jobid
    任務(wù)掛起后,狀態(tài)變?yōu)?s(暫時掛起)

    qmod -s + jobid

    任務(wù)暫停

  • qmod -us 啟動暫停的作業(yè)
    qmod -us的語法:qmod -us jobid

    qmod -us + jobid

    啟動暫停的作業(yè)

attention: qmod -sqmod -us還可以用于暫停和啟動隊(duì)列杆勇,
前提是擁有對應(yīng)的隊(duì)列管理權(quán)限贪壳。

6.3 修改作業(yè)屬性 qalter

qalter 語法:qalter [參數(shù)] 修改內(nèi)容 jobid
常用參數(shù):
-q :修改指定隊(duì)列
-l :修改限制資源
-N :修改指定作業(yè)名稱
-P :修改指定項(xiàng)目名稱
這里以修改指定作業(yè)名稱 qalter -N 舉例吧:

目前的作業(yè)運(yùn)行狀態(tài)

修改jobid204065的作業(yè)
qalter -N

修改后的結(jié)果:
qalter -N RESULT 204065

6.4 刪除作業(yè) qdel

qdel常用的參數(shù):
-f 強(qiáng)制刪除
-u 刪除指定用戶的作業(yè)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市蚜退,隨后出現(xiàn)的幾起案子闰靴,更是在濱河造成了極大的恐慌,老刑警劉巖钻注,帶你破解...
    沈念sama閱讀 219,539評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蚂且,死亡現(xiàn)場離奇詭異,居然都是意外死亡幅恋,警方通過查閱死者的電腦和手機(jī)杏死,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評論 3 396
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人淑翼,你說我怎么就攤上這事腐巢。” “怎么了玄括?”我有些...
    開封第一講書人閱讀 165,871評論 0 356
  • 文/不壞的土叔 我叫張陵冯丙,是天一觀的道長。 經(jīng)常有香客問我遭京,道長胃惜,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,963評論 1 295
  • 正文 為了忘掉前任洁墙,我火速辦了婚禮蛹疯,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘热监。我一直安慰自己捺弦,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,984評論 6 393
  • 文/花漫 我一把揭開白布孝扛。 她就那樣靜靜地躺著列吼,像睡著了一般。 火紅的嫁衣襯著肌膚如雪苦始。 梳的紋絲不亂的頭發(fā)上寞钥,一...
    開封第一講書人閱讀 51,763評論 1 307
  • 那天,我揣著相機(jī)與錄音陌选,去河邊找鬼理郑。 笑死,一個胖子當(dāng)著我的面吹牛咨油,可吹牛的內(nèi)容都是我干的您炉。 我是一名探鬼主播,決...
    沈念sama閱讀 40,468評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼役电,長吁一口氣:“原來是場噩夢啊……” “哼赚爵!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起法瑟,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤冀膝,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后霎挟,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體窝剖,經(jīng)...
    沈念sama閱讀 45,850評論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,002評論 3 338
  • 正文 我和宋清朗相戀三年氓扛,在試婚紗的時候發(fā)現(xiàn)自己被綠了枯芬。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片论笔。...
    茶點(diǎn)故事閱讀 40,144評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖千所,靈堂內(nèi)的尸體忽然破棺而出狂魔,到底是詐尸還是另有隱情,我是刑警寧澤淫痰,帶...
    沈念sama閱讀 35,823評論 5 346
  • 正文 年R本政府宣布最楷,位于F島的核電站,受9級特大地震影響待错,放射性物質(zhì)發(fā)生泄漏籽孙。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,483評論 3 331
  • 文/蒙蒙 一火俄、第九天 我趴在偏房一處隱蔽的房頂上張望犯建。 院中可真熱鬧,春花似錦瓜客、人聲如沸适瓦。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,026評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽玻熙。三九已至,卻和暖如春疯攒,著一層夾襖步出監(jiān)牢的瞬間嗦随,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,150評論 1 272
  • 我被黑心中介騙來泰國打工敬尺, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留枚尼,地道東北人。 一個月前我還...
    沈念sama閱讀 48,415評論 3 373
  • 正文 我出身青樓砂吞,卻偏偏與公主長得像姑原,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子呜舒,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,092評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 我用的一個服務(wù)器上裝了一個集群管理工具(SGE, Sun Grid Engine), 用于從登陸節(jié)點(diǎn)上向計(jì)算節(jié)點(diǎn)進(jìn)...
    xuzhougeng閱讀 27,049評論 11 35
  • 目的這篇教程從用戶的角度出發(fā),全面地介紹了Hadoop Map/Reduce框架的各個方面笨奠。先決條件請先確認(rèn)Had...
    SeanC52111閱讀 1,729評論 0 1
  • Apache YARN(Yet Another Resource Negotiator)是一個Hadoop集群資源...
    單行線的旋律閱讀 2,783評論 0 11
  • 分布式管理系統(tǒng)使用筆記 有幸在工作中體驗(yàn)了幾個計(jì)算集群的使用袭蝗,幾乎每個計(jì)算集群都有專門的集群調(diào)度系統(tǒng),而當(dāng)需要在短...
    dongye_3377閱讀 2,907評論 2 3
  • 專業(yè)考題類型管理運(yùn)行工作負(fù)責(zé)人一般作業(yè)考題內(nèi)容選項(xiàng)A選項(xiàng)B選項(xiàng)C選項(xiàng)D選項(xiàng)E選項(xiàng)F正確答案 變電單選GYSZ本規(guī)程...
    小白兔去釣魚閱讀 9,002評論 0 13