并行計算環(huán)境及作業(yè)調度



5并行計算環(huán)境及作業(yè)調度,成都信息工程學院項目實施,Putty,是一個免費的、,Windows 32,平臺下的,telnet,、,rlogi,和,ssh,客戶端,其主要優(yōu)點如下:,完全免費,在,Windows,下運行的都非常好,;,全面支持,ssh1,和,ssh2,;,綠色軟件,無需安裝,下載后可直接使用;,體積很小;,操作簡單,所有的操作都在一個控制面板中實現(xiàn)putty,下載地址:,http:/ linux 10.2,系統(tǒng)的,Remote,遠程管理功能;,Redhat Linux,系統(tǒng)默認已經打開,Remote,遠程管理功能2,、,Suse Linux 10.2,系統(tǒng)配置如下:,node253:,#yast2,,選擇,Remote Administration,Xmanager,使用方法,服務端配置,安裝,Xmanager3,軟件,輸入,IP,地址,點,RUN,Xmanager,使用方法,客戶,端配置,Putty,使用文本界面方式,VNC,和,Xmanager,可使用文本或是,圖形界面,VNC,:,在使用,遠程,圖形界面操作時無法使用,TAB,鍵補全命令,,關閉,軟件不會結束當前會話,Xmanager,在使用遠程圖形界面操作時,可以,使用,TAB,鍵運行命令的補全,操作,,關閉軟件會結束當前會話,根據使用習慣選擇不同的遠程登錄工具,Putty,、,VNC,與,Xmanager,的異同,PBS,作業(yè)調度系統(tǒng),機群結構的松散性(單一系統(tǒng)映象),節(jié)點類型的差別(,CPU,類型、內存大小、數量等),用戶不同類型的作業(yè)(串行,/,并行,各類應用軟件),用戶可以使用資源的限制,機群使用中存在的問題,單一系統(tǒng)映象,機群松散的結構的整合,系統(tǒng)資源整合,異構系統(tǒng)的整合,多用戶的管理,用戶提交的任務的統(tǒng)一安排,避免沖突,用戶權限的管理,非授權用戶的控制,作業(yè)調度系統(tǒng)的功能,資源管理器:,管理集群的硬件資源及認證信息等,隊列管理器:,管理當前所有已提交但還未完成的作業(yè),調度器:,為作業(yè)分配資源,作業(yè)調度系統(tǒng)的組成,作業(yè)調度系統(tǒng)的結構,服務器,:pbs_server,調度器,:pbs_sched,執(zhí)行器,:pbs_mom,命令行,:,用戶腳本,管理命令等,PBS,的組成,準備,:編寫描述改作業(yè)的腳本,包括作業(yè)名,需要的資源等。
提交,:使用,qsub,命令將該作業(yè)提交給,PBS,服務器,排隊,:服務器將該任務排入適當的隊列,調度,:服務器檢查各工作節(jié)點的狀態(tài)是否符合該作業(yè)的要求,并進行調度執(zhí)行,:當條件滿足時,作業(yè)被發(fā)給相應的執(zhí)行服務器執(zhí)行程序運行時執(zhí)行服務器會收集程序的標準輸出和標準錯誤流,等程序結束時,將這些信息返回給用戶查詢和調整,:當作業(yè)在運行時,用戶可以使用,qstat,進行狀態(tài)查詢用戶發(fā)現(xiàn)作業(yè)提交錯誤時,可以使用,qdel,刪除正在運行的作業(yè)查看結果,:使用文本編輯軟件,vi,或者系統(tǒng)命令,cat,less,等查看輸出及錯誤信息顯示PBS,的使用步驟,在,PBS,系統(tǒng)中,用戶使用,qsub,命令提交用戶程序用戶運行程序的命令及,PBS,環(huán)境變量設置組成,PBS,作業(yè)腳本,作業(yè)腳本使用如下格式提交到,PBS,系統(tǒng)運行:,PBS,的基本命令,qsub,qsub-N test.vasp-l nodes=4:ppn=2-q defaults,注釋,以“,#”,開頭,PBS,運行參數,以“,#PBS”,開頭,SHELL,命令,PBS,作業(yè)腳本,#PBS-N vasp.Hg,#PBS-l nodes=4:ppn=4,#PBS-oe,#PBS-l walltime=05:00:00,#PBS-q high,echo This jobs is$PBS_JOBID$PBS_QUEUE,cd$PBS_O_WORKDIR,mpirun-np 16-machinefile$PBS_NODEFILE./vasp,qsub,運行參數,運 行 參 數,說 明,-a,向,PBS,系統(tǒng)指定作業(yè)運行的開始時間。
作業(yè)運行時間格式為:,CCYYMMDDhhmm.SS,-A,使用不同的用戶來提交作業(yè),缺省使用當前用戶名,-o,-e,該參數指定標準錯誤輸出的位置,缺省的情況下,,PBS,系統(tǒng)把標準輸出和標準錯誤輸出放在用戶,qsub,命令提交作業(yè)的目錄下標準錯誤輸出:,.o,標準錯誤輸出:,.e,路徑使用如下格式標準:,:,-N,指定提交的作業(yè)名,-q,指定作業(yè)提交的目標隊列,其中目標隊列可以是目標隊列、目標節(jié)點名或者是目標節(jié)點上的隊列如果目標隊列是一個路由隊列,那么服務器可能把作業(yè)路由到新的隊列中如果該參數沒有指定,命令,qsub,會把作業(yè)腳本提交到缺省的隊列中l(wèi),該參數指定作業(yè)腳本申請的,PBS,系統(tǒng)資源列表申請資源列表使用如下格式:,=,資源名,=,,,.,例如作業(yè)希望申請在雙路節(jié)點上申請,5,個,CPU,資源的情況,,則可以在腳本中如下:,#PBS l nodes=2:ppn=2+1:ppn=1,PBS,的環(huán)境變量,變 量 名,說 明,登陸,SHELL,繼承來的變量,包括,$HOME,,,$LANG,,,$LOGNAME,,,$PATH,,,$MAIL,,,$SHELL,和,$TZ,PBS_O_HOST,qsub,提交的節(jié)點名稱,$PBS_O_QUEUE,qsub,提交的作業(yè)的最初隊列名稱,$PBS_O_WORKDIR,qsub,提交的作業(yè)的絕對路徑,$PBS_JOBID,作業(yè)被,PBS,系統(tǒng)指定的作業(yè)號,$PBS_JOBNAME,用戶指定的作業(yè)名,可以在作業(yè)提交的時候用,qsub N,指定,或者在,PBS,腳本中加入,#PBS N,。
PBS_NODEFILE,PBS,系統(tǒng)指定的作業(yè)運行的節(jié)點名該變量在并行機和機群中使用當在,PBS,腳本中用,#PBS l nodes=2:ppn=2,指定程序運行的節(jié)點數時,可以使用,$PBS_NODEFILE,在腳本中引用,PBS,系統(tǒng)指定的作業(yè)運行的節(jié)點名比如:,#PBS l nodes=2:ppn=2,mpirun np 4 machinefile$PBS_NODEFILE,$PBS_QUEUE,PBS,腳本在執(zhí)行時的隊列名,PBS,作業(yè)腳本舉例,#,這是一個串行作業(yè)腳本的例子,#PBS-N Loop.out,#PBS-l nodes=1:ppn=1,cd$HOME/test/,./a.out$HOME/result/a.result,#,這是一個并行作業(yè)腳本的例子,#PBS-N vasp.Hg,#PBS-l nodes=8:ppn=2,#PBS-q low,echo This jobs is$PBS_JOBID$PBS_QUEUE,cd,$PBS_O_WORKDIR,mpirun-np 16-machinefile,$PBS_NODEFILE,./vasp,一個復雜的,PBS,作業(yè)腳本,#!/bin/bash,#PBS-N jobname,#PBS-l nodes=4:ppn=2,cat echo$PBS_NODEFILE$HOME/$PBS_JOBID.nodes,for node in cat$HOME/$PBS_JOBID.nodes,do,rsh$node mkdir/tmp/$PBS_JOBID,rsh$node cp-rf$PBS_O_WORKDIR/*/tmp/$PBS_JOBID/,done,cd/tmp/$PBS_JOBID,mpirun-np 8-machinefile$PBS_NODEFILE$HOME/bin/vasp,cp-rf/tmp/$PBS_JOBID/*$PBS_O_WORKDIR/,for node in cat$HOME/$PBS_JOBID.nodes,do,rsh$node rm-rf/tmp/$PBS_JOBID,done,rm$HOME/$PBS_JOBID.nodes,查詢作業(yè)運行,作業(yè)提交后,會生成一個作業(yè)號,如:,dawningnode1$qsub test.pbs,93.node1,查看集群作業(yè)運行狀態(tài):,dawningnode1$qstat,Job id Name User Time Use S Queue,-,93.node1 test.pbs zhaocs 0 R default,95.node1 vasp.Hg vasp 0 E default,111.node1 structure amber 0 Q default,作業(yè)狀態(tài)說明:,E,:退出,Q,:排隊,H,:掛起,R,:運行,C,:結束,查詢作業(yè)運行,dawningnode1$qstat,Job id Name User Time Use S Queue,-,93.node1 test.pbs zhaocs 0 R default,95.node1 vasp.Hg vasp 0 E default,111.node1 structure amber 0 Q default,查詢某個作業(yè)運行狀態(tài):,qstat 93.node1(,或者,qstat 93),顯示作業(yè)運行在哪些節(jié)點上,:,qstat-n 93.node1,顯示作業(yè)運行詳細信息,:,qstat-f 93.node1,取消作業(yè),dawningnode1$qstat,Job id Name User Time Use S Queue,-,93.node1 test.pbs zhaocs 0 R default,95.node1 vasp.Hg vasp 0 E default,111.node1 structure amber 0 Q default,qdel 93.node1,查看節(jié)點狀態(tài),dawningnode1$pbsnodes-a,node2,state=free,np=12,ntype=cluster,node3,state=job-executive,np=12,ntype=cluster,node4,state=down,np=12,ntype=cluster,pbsnodes,命令的主要參數,-a,列出所有結點及其屬性,屬性包括“,state”,和“,properties”,-o,將指定結點的狀態(tài)標記為“,offline”,。
這將幫助管理員暫時停止某些結點的服務,-l,以行的方式列出被標記的結點的狀態(tài),如,-l free,,,-l offline,-c,清除結點列表中的“,offline”,或“,down”,狀態(tài)設置,使結點可以被分配給作業(yè),-r,清除指定結點的“,offline”,狀態(tài),查看節(jié)點狀態(tài),WRF-PBS,范例,#PBS N wrf,#PBS -l nodes=4:ppn=8,#PBS -j,oe,cd$PBS_O_WORKDIR;,NP=wc l$PBS_NODEFILE;,mpirun np$NP hostfile$PBS_NODEFILE,/public/software/WRF/WRFV3/run/wrf.exe,MM5-PBS,范例,#PBS N mm5,#PBS -l nodes=4:ppn=8,#PBS -j,oe,cd$PBS_O_WORKDIR;,NP=wc l$PBS_NODEFILE;,mpirun np$NP hostfile$PBS_NODEFILE,/,public/software/MM5/Run/mm5.mpp,Grapes-PBS,范例,#PBS N,grapes,#PBS -l nodes=4:ppn=8,#PBS -j,oe,cd$PBS_O_WORKDIR;,NP=wc l$PBS_NODEFILE;,mpirun np$NP hostfile$PBS_NODEFILE,/,public/software/grapes/run/grapes.exe,相關論壇,氣象家園,http:/,。