用戶通過(guò)qsub命令來(lái)向系統(tǒng)提交任務(wù),有兩種方式提交:腳本方式和命令行方式。(一般情況下,不允許root用戶使用qsub命令提交作業(yè))。下面先講一下用這兩種方式提交作業(yè)的過(guò)程。 腳本方式提交 用戶將需要執(zhí)行的程序或命令寫(xiě)入腳本中,再加入一些必要或者可選的語(yǔ)句,就可以通腳本方式提交。腳本提交比較方便,用戶可以用最簡(jiǎn)單的文字編輯器(例如 vi)編寫(xiě)一個(gè)腳本,然后使用 qsub 命令提交該腳本,pbs 會(huì)按照腳本內(nèi)容執(zhí)行相應(yīng)的任務(wù)。腳本提交的不足之處就是需要用戶執(zhí)行任務(wù)前編寫(xiě)腳本。 腳本方式提交任務(wù)的一般格式為:qsub [script_name],script_name 是任務(wù)腳本的名稱。 下面介紹 pbs 任務(wù)腳本的編寫(xiě)方法。 pbs 任務(wù)腳本包括三部分: arch 所需要的系統(tǒng)結(jié)構(gòu),只用在資源塊中 -l arch=linux cput 任務(wù)的所有進(jìn)程擁有的最大 cpu 執(zhí)行時(shí)間 -l cput=1:00:00 file 任務(wù)能夠創(chuàng)建的文件的大小 -l file=45mb host 指定執(zhí)行主機(jī)的名稱 -l nodes=X:host 分配 X個(gè)主機(jī)名稱 中含有 host的執(zhí)行節(jié)點(diǎn) mem 任務(wù)的所有進(jìn)程能夠分配到的最大物理內(nèi)存數(shù) -l mem=100mb ncpus 請(qǐng)求的 cpu數(shù) -l ncup=5 nice 任務(wù)運(yùn)行時(shí)的 nice 優(yōu)先級(jí)值 -l nice=3 pcput 任務(wù)的任何一個(gè)進(jìn)程擁有的最大 cpu 執(zhí)行時(shí)間 -l pcput=1:00:00 pmem 任務(wù)的任何一個(gè)進(jìn)程能夠分配到的最大物理內(nèi)存數(shù) -l pmem=45mb pvmem 任務(wù)的任何一個(gè)進(jìn)程能夠使用的虛擬內(nèi)存的最大數(shù) -l pvmem=100mb vmem 任務(wù)的所有并發(fā)進(jìn)程能夠使用的最大虛存數(shù) -l pvmem=100mb walltime 任務(wù)可以處于運(yùn)行態(tài)的最大 wall-clock 時(shí)間 -l walltime=1:00:00 custom resources 用戶自定義資源 最常用的幾種資源是:walltime, ncpus, mem, host。其它可以不用太關(guān)心。 a、資源塊方式:資源塊是將任務(wù)所需的資源作為一個(gè)整體,這個(gè)整體中說(shuō)明了所需要的各種資源的數(shù)目。其格式為:-l select=[N:]chunk[+[N:]chunk…],如qsub –l select=2:ncpus=3:mem=4gb:arch=linux ,select=2表示需要2個(gè)這樣的資源塊,一個(gè)資源塊包括3個(gè)cpu,4gb的內(nèi)存,系統(tǒng)結(jié)構(gòu)要求是linux,即總共需要6個(gè)cpu,8gb的內(nèi)存。再如:-l select=2:ncpus=1:mem=10GB+3:ncpus=2:mem=8GB:arch=solaris注意中間的+號(hào),是兩個(gè)資源塊的分隔符 b、請(qǐng)求全任務(wù)(job-wide)資源:格式為 –l 任務(wù)(程序或命令):可以是用戶程序(如C程序),也可以是系統(tǒng)命令 下面是一個(gè)完整的任務(wù)腳本例子,腳本名為 mytask: 第 1 行說(shuō)明所用的 shell;第 2 至5 行是 pbs 指示語(yǔ)句,設(shè)置了任務(wù)的一些屬性,并請(qǐng)求了資源;第 6 至8行是要執(zhí)行的命令及任務(wù)。 編寫(xiě)完腳本后,使用 qsub 命令提交腳本,在 shell下輸入: 后敲回車(chē)。 系統(tǒng)會(huì)輸出一個(gè)任務(wù)標(biāo)識(shí)符:sequence-number.servername,如 220.cnode01。sequence-number是任務(wù)編號(hào),后面需要用這個(gè)號(hào)查看任務(wù)的執(zhí)行狀態(tài),ervername 是 pbs server的名稱。 命令行方式提交 命令行方式提交不用寫(xiě)腳本,用戶可以直接從命令行輸入。輸入的內(nèi)容基本上和在腳本中輸入的相同。其基本格式如下: qsub [directives] [tasks] ctrl-D 對(duì)于上面用腳本方式提交的任務(wù),用命令行方式提交的格式如下: |