高性能集群作業調度系統_第1頁
高性能集群作業調度系統_第2頁
高性能集群作業調度系統_第3頁
高性能集群作業調度系統_第4頁
高性能集群作業調度系統_第5頁
已閱讀5頁,還剩78頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、高性能集群作業調度系統曙光信息產業股份有限公司 提綱一作業調度系統概述二PBS作業調度系統三Maui調度器四曙光Gridview作業調度中間件五Q&A1. 1 集群使用中存在的問題節點多用戶多任務多 系統資源整合 異構資源,軟硬件資源的整合 任務綜合管理 用戶提交的任務的統一安排 用戶權限的管理 對用戶進行各類權限控制1.2 作業調度系統的功能 資源管理器:管理集群的軟硬件資源及認證信息等 隊列管理器:管理當前所有已提交但還未完成的作業 調度器:為作業分配資源1.3 作業調度系統的組成作業調度系統的結構1.3 作業調度系統的組成1.4 作業調度系統的發展歷史 提綱一作業調度系統概述二P

2、BS作業調度系統三Maui調度器四曙光Gridview作業調度中間件五Q&A PBS(Portable Batch System), 最初由NASA的Ames研究中心開發,設計為一個能滿足異構計算網絡需要的軟件包。它力求提供對批處理的初始化和調度執行的控制,允許作業在不同主機間的路由。 PBS的開源版本為OpenPBS,目前已經停止開發。 PBS的商業版為PBS Pro,由Altair公司開發和維護。 TORQUE( Tera-scale Open-source Resource and Queue manager )為 OpenPBS的后續開源版本,修正了OpenPBS的很多bug,

3、功能和可擴展性都有很大提高。2.1 PBS作業調度系統服務器: pbs_server調度器: pbs_sched執行器: pbs_mom2.2 PBS的組成解壓源文件包 tar zxvf torque-2.5.12.tar.gz 編譯設置 cd torque-2.5.12 ./configure -prefix= /usr/local -with-server-home= /var/spool/torque -enable-syslog -with-scp -enable-docs 默認情況下,TORQUE將可執行文件安裝在/usr/local/bin和/usr/local/sbin下。其余的

4、配置文件和運行時環境將安裝在/var/spool/torque下編譯和安裝makemake install2.3 PBS的安裝(Torque Server端)節點操作系統相同,可以用如下SHELL腳本在計算節點(torque客戶端)上安裝#在管理節點上make packages#!/bin/bash for i in seq 1 20; do echo =node$i= ssh node$i /public/sourcecode/torque-2.5.12/ torque-package-mom-linux-*.sh -install Done2.3 PBS的安裝(Torque Client端

5、)p 以root作為torque的管理員賬號創建作業隊列在torque的安裝源文件根目錄中,執行./torque.setup rootp Server配置目錄 /var/spool/torque/server_priv/p 計算節點列表及屬性:/var/spool/torque/server_priv/nodesnode2 np=12 amd chemnode3 np=12 amd chemnode4 np=8 intel chemnode5 np=8 intel chemnode6 np=4 intel bio gpunode7 np=4 intel bio gpu2.3 PBS Serve

6、r配置Server的系統啟動腳本 /etc/init.d/pbs_server Scheduler系統啟動腳本 /etc/init.d/pbs_sched Mom系統啟動腳本 /etc/init.d/pbs_momTorque服務端 chkconfig pbs_server on chkconfig pbs_sched on service pbs_server start service pbs_sched startTorque客戶端 chkconfig pbs_mom on service pbs_mom start2.3 PBS系統服務2.4 PBS主要操作隊列設置節點查看提交作業查看

7、作業作業其他操作PBS要能正常運行還需要通過qmgr命令在server進行配置,設置一些屬性。輸入qmgr命令進入配置交互命令,格式為 qmgr動作 對象類型和操作符 動作 對象類型 對象名 屬性 操作符 值(,屬性 操作符 值)create創建一個對象delete刪除一個對象set設置對象的屬性unset除去對象的屬性print打印對象的屬性list列出對象的屬性server服務器queue隊列node節點2.4.1 PBS的隊列設置創建隊列create queue 隊列名 queue_type = execution打開和啟動隊列set queue 隊列名 enable=t, starte

8、d=t打開調度set server scheduling=t設置默認隊列set server default_queue=隊列名2.4.1 PBS的隊列設置下面是讓PBS可以正常運行的基本設置 導入server配置文件qmgr queue.conf 配置文件例子 create queue default set queue default queue_type = execution set queue default max_running = 10 set queue default enabled = True set queue default started = True set s

9、erver scheduling = True set server default_queue = default set server query_other_jobs = True2.4.1 PBS的隊列設置 資源和用戶限制resources_default.cput 該隊列默認的作業的CPU時間,格式:時:分:秒注意:該CPU時間為:進程數*(結束時間-開始時間)resources_default.walltime該隊列默認的墻上時間,格式:時:分:秒max_running某隊列最多可運行的作業數,如果該項為0或沒有該項,表示沒有限制max_user_run一個用戶最多可以運行的作業數

10、acl_user_enable是否啟用用戶訪問控制,如果acl_user_enable = True,則在acl_users中列出的用戶才能使用該隊列acl_users格式:,用戶名不接受通配符acl_host_enable如果acl_host_enable = True,則acl_hosts屬性中列出的主機才能使用該隊列acl_hosts該隊列可以使用的節點列表2.4.1 PBS的隊列設置dawningnode1 $ pbsnodespbsnodes -a -anode2 statestate=free npnp=12 ntypentype=cluster status =rectime=1

11、347344839,varattr=,jobs=,state=free,netload=1994804223313,gres=,loadave=0.15,ncpusncpus=32,physmem=132133404kb,availmemavailmem=147084788kb,totmem=148910612kb,idletime=1721946,nusers=1,nsessions=1,sessions=2455,uname=Linux node2 2.6.32-220.el6.x86_64 #1 SMP Wed Nov 9 08:03:13 EST 2011 x86_64,opsys=l

12、inux gpusgpus = 0node3 state=down np=12 ntype=cluster 2.4.2 PBS查看節點狀態pbsnodes命令的主要參數-a 列出所有結點及其屬性,屬性包括“state”和“status”-o 將指定結點的狀態標記為“offline”。這將幫助管理員暫時停止某些結點的服務-l 以行的方式列出被標記的結點的狀態,如 -l free,-l offline-c 清除結點列表中的“offline”或“down”狀態設置,使結點可以被分配給作業-r 清除指定結點的“offline”狀態2.4.2 PBS查看節點狀態步驟:1.準備:編寫描述該作業的腳本,包括

13、作業名,需要的資源等。2.提交:使用qsub命令將該作業提交給PBS服務器3.排隊:服務器將該任務排入適當的隊列4.調度:服務器檢查各工作節點的狀態是否符合該作業的要求,并進行調度。5.執行:當條件滿足時,作業被發給相應的執行服務器執行。程序運行時執行服務器會收集程序的標準輸出和標準錯誤流,等程序結束時,將這些信息返回給用戶。6.查詢和調整:當作業在運行時,用戶可以使用qstat進行狀態查詢。用戶發現作業提交錯誤時,可以使用qdel刪除正在運行的作業。7.查看結果:使用文本編輯軟件vi或者系統命令cat, less等查看輸出及錯誤信息顯示。2.4.3 PBS作業提交 在PBS系統中,用戶使用

14、qsub 命令提交用戶程序。用戶運行程序的命令及PBS環境變量設置組成PBS作業腳本,如下qsub 2.4.3 PBS作業提交基本命令#PBS -N vasp#PBS -l nodes=2:ppn=1#PBS -l walltime=12:00:00#PBS -q default cd $PBS_O_WORKDIR./test.exe作業腳本使用如下格式提交到PBS系統運行運運 行行 參參 數數說說 明明-a 向PBS系統指定作業運行的開始時間。作業運行時間格式為: CCYYMMDDhhmm.SS-A 使用不同的用戶來提交作業,缺省使用當前用戶名-o -e 該參數指定標準錯誤輸出的位置,缺省的

15、情況下,PBS系統把標準輸出和標準錯誤輸出放在用戶qsub命令提交作業的目錄下。標準錯誤輸出:.o標準錯誤輸出:.e路徑使用如下格式標準: :-N 指定提交的作業名-q 指定作業提交的目標隊列。如果該參數沒有指定,命令qsub會把作業腳本提交到缺省的隊列中。-l 該參數指定作業腳本申請的PBS系統資源列表。申請資源列表使用如下格式: =,資源名=, .例如作業希望申請在雙路節點上申請4個CPU資源的情況,則可以在腳本中如下:#PBS l nodes=2:ppn=2運行參數在 PBS 腳本和 qsub 命令行中均有效,qsub命令行參數的優先級更高2.4.3 PBS 運行參數變變 量量 名名說說

16、 明明登陸登陸SHELL繼承來的變量繼承來的變量包括$HOME,$LANG,$LOGNAME,$PATH,$MAIL,$SHELL和$TZ。$PBS_O_HOSTqsub提交的節點名稱$PBS_O_QUEUEqsub提交的作業的最初隊列名稱$PBS_O_WORKDIRqsub提交的作業的絕對路徑$PBS_JOBID作業被PBS系統指定的作業號$PBS_JOBNAME用戶指定的作業名,可以在作業提交的時候用qsub N 指定,或者在PBS腳本中加入#PBS N 。$PBS_NODEFILEPBS系統指定的作業運行的節點名。該變量在并行機和機群中使用。當在PBS腳本中用#PBS l nodes=2

17、:ppn=2指定程序運行的節點數時,可以使用$PBS_NODEFILE在腳本中引用PBS系統指定的作業運行的節點名。比如:#PBS l nodes=2:ppn=2mpirun np 4 machinefile $PBS_NODEFILE $PBS_QUEUEPBS腳本在執行時的隊列名2.4.3 PBS 環境變量# 這是一個串行作業腳本的例子#PBS -N test#PBS -l nodes=1:ppn=1cd $HOME/test/./a.out $HOME/result/a.result# 這是一個并行作業腳本的例子#PBS -N vasp_job#PBS -l nodes=2:ppn=2#

18、PBS -q lowecho This job is $PBS_JOBID$PBS_QUEUE cd $PBS_O_WORKDIRmpirun -np 16 -machinefile $PBS_NODEFILE ./vasp2.4.3 PBS 腳本舉例#PBS -l nodes=2:ppn=4:amd:chem#PBS -l nodes=1:ppn=8:chem+1:ppn=8:bio#PBS -l nodes=node1:ppn=8+node2:ppn=8指定節點特性p 一些軟件有特殊的節點指定格式,比如ANSYS的命令行參數格式為: ansys121 -dis -machines node

19、1:2:node2:2 -i test.inp -o test.logp 這時我們可以對 $PBS_NODEFILE 進行字符處理,得到需要的格式2.4.3 PBS 腳本舉例# 這是一個ANSYS并行作業的例子#PBS -N ansys_job#PBS -l nodes=2:ppn=8#PBS -q lowINPUTFILE=test.inpOUTPUTFILE=test.loghosts=cat $PBS_NODEFILE | uniq -c | awk print $2:$1 | tr n : | sed s/:$/cd $PBS_O_WORKDIRansys121 -dis -machi

20、nes $hosts -i $INPUTFILE -o $OUTPUTFILE作業提交后,會生成一個作業號,如:dawningnode1 $ qsub test.pbs93.node1查看集群作業運行狀態:dawningnode1 $ qstat Job id Name User Time Use S Queue- - - - - -93.node1 test.pbs test 0 R default95.node1 vasp.Hg vasp 0 E default111.node1 structure amber 0 Q default2.4.4 PBS 查看作業狀態E:退出 Q:排隊H:掛

21、起 R :運行C:結束查詢某個作業運行狀態:qstat 93.node1 (或者 qstat 93)顯示作業運行在哪些節點上:qstat -n 93.node1 顯示作業運行詳細信息:qstat -f 93.node1dawningnode1 $ qstat Job id Name User Time Use S Queue- - - - - -93.node1 test.pbs zhaocs 0 R default95.node1 vasp.Hg vasp 0 E default111.node1 structure amber 0 Q defaultqdel 93.node1注:用戶只能刪

22、除自己的作業,管理員可以刪除所有用戶作業2.4.5 PBS 作業其他操作刪除作業dawningnode1 $ qstat Job id Name User Time Use S Queue- - - - - -93.node1 test.pbs zhaocs 0 R default95.node1 vasp.Hg vasp 0 E default111.node1 structure amber 0 Q default掛起作業:qhold 111.node1取消作業掛起qrls 111.node1作業掛起及取消2.4.5 PBS 作業其他操作dawningnode1 $ qstat Job i

23、d Name User Time Use S Queue- - - - - -93.node1 test.pbs zhaocs 0 R default95.node1 vasp.Hg vasp 0 E default111.node1 structure amber 0 Q default更改作業2.4.5 PBS 作業其他操作更改作業運行隊列:qmove high 111.node1更改作業資源屬性:qalter -l walltime=10:00:00 111.node1交換作業順序2.4.5 PBS 作業其他操作dawningnode1 $ qstat Job id Name User

24、Time Use S Queue- - - - - -93.node1 test.pbs zhaocs 0 R default95.node1 vasp.Hg vasp 0 E default111.node1 structure amber 0 Q default112.node1 gaussian gauss 0 Q default交換兩個作業的排隊順序:qorder 111.node1 112.node1dawningnode1 $ qstat Job id Name User Time Use S Queue- - - - - -93.node1 test.pbs zhaocs 0 R

25、 default95.node1 vasp.Hg vasp 0 E default112.node1 gaussian gauss 0 Q default111.node1 structure amber 0 Q default2.4.5 PBS 作業其他操作 PBS腳本中可以指定多個作業之間的依賴關系,比如作業提交前另一個作業必須完成,否則處于排隊狀態#PBS -N step2#PBS -l nodes=4:ppn=4#PBS -q high#PBS -W depend=after: #PBS -N job_rerun#PBS -l nodes=4:ppn=4#PBS -q high#PBS

26、 -W depend=afternotok: 當指定作業非正常結束,作業才能提交運行一作業調度系統概述二PBS作業調度系統三Maui調度器四曙光Gridview作業調度中間件五Q&A 提綱 Torque帶有自己的默認調度策略器(pbs_sched),但是這個最基本的調度策略并不高級。它根據fifo的原則安排作業,對一般的集群管理應該是足夠了,但如果你的集群有幾百個以上節點,分成若干個隊列,那pbs_sched就力不從心了。 為此,可以使用一系列第三方的調度策略進行補充。Maui就是被廣泛使用的調度策略之一。3.1 Maui調度器介紹3.1 Maui調度器介紹 Maui采用積極的調度策略

27、優化資源的利用和減少作業的響應時間。 Maui的資源和負載管理允許高級的參數配置:作業優先級(Job Priority)、調度和分配(Scheduling and Allocation)、公平性和公平共享(Fairness and Fairshare)和預留策略(Reservation Policy)。Maui的QoS機制允許資源和服務的直接傳遞、策略解除(Policy Exemption)和指定特征的受限訪問。 Maui需要資源管理器和其配合使用。我們可以把Maui想象為PBS中的一個插入部件。 集群已安裝配置好Torque解壓源文件包 tar zxvf maui-3.2.6p17.tar.

28、gz 編譯設置 cd maui-3.2.6p17 ./configure -with-pbs=/usr/local -with-pbs指定Torque安裝目錄編譯和安裝 make make install 3.1 Maui安裝(Server)p 編輯啟動腳本 cd maui-3.2.6p17 cp etc/maui.d /etc/init.d/ vim /etc/init.d/maui.d 修改其中的” MAUI_PREFIX=/usr/local/maui” (maui的安裝目錄)p 停用pbs_sched,啟用maui chkconfig pbs_sched off chkconfig m

29、aui.d on service pbs_sched stop service maui.d start3.1 Maui安裝(Server)Maui的配置參數都寫在配置文件maui.cfg中,配置參數可以參考官方手冊Maui Administrators Guide主要參數如下: vim maui.cfg # 設置Maui服務器主機名SERVERHOST server # 一級權限用戶,擁有Maui所有控制權限,包括更改調度策略,更改作業屬性 ADMIN1 root # 二級權限用戶,不能更改調度策略,但能更改作業屬性 ADMIN2 zhang wang zhao # 三級權限用戶,只有查看權

30、限,ALL表示所有賬戶 ADMIN3 ALL3.2 Maui配置# 定義資源管理器(Resource Manager),指定類型為PBS,以及Torque服務器主機名,刷新資源信息的時間,端口號 RMCFG0 TYPE=PBS HOST=server RMPOLLINTERVAL 00:00:30 SERVERPORT 42559 SERVERMODE NORMAL# 日志設置 LOGFILE maui.log LOGFILEMAXSIZE 10000000 LOGLEVEL 3 3.2 Maui配置#設置Fair share策略 #FSPOLICY PSDEDICATED #FSDEPTH

31、7 #FSINTERVAL 86400 #FSDECAY 0.80#設置回填(Backfill)策略 BACKFILLPOLICY FIRSTFIT RESERVATIONPOLICY CURRENTHIGHEST#節點分配策略 #NODEALLOCATIONPOLICY MINRESOURCE #NODEALLOCATIONPOLICY CPULOAD #NODEALLOCATIONPOLICY SHARED NODEALLOCATIONPOLICY FIRSTAVAILABLE 3.2 Maui配置# QOS配置 QOSCFGpreemptor QFLAGS=PREEMPTOR QOSCF

32、Gpreemptee QFLAGS=PREEMPTEE CLASSCFGhigh PRIORITY=11000 QDEF=preemptor CLASSCFGlow PRIORITY=6000 QDEF=preemptee CLASSCFGmiddle PRIORITY=9000 QDEF=preemptee#用戶優先級設置 USERCFGroot MAXPROC=400 MAXNODE=100 MAXJOB=100 USERCFGtest PRIORITY=100 MAXPROC=200 MAXJOB=10 USERCFGDEFAULT PRIORITY=100 MAXPROC=100 MA

33、XJOB=43.2 Maui配置一作業調度系統概述二PBS作業調度系統三Maui調度器四曙光Gridview作業調度中間件五Q&A 提綱 4 曙光Gridview作業調度中間件介紹功能中間件應用使用方法作業調度中間件結構圖4.1 曙光Gridview作業調度中間件增加節點修改節點刪除節點創建隊列修改隊列刪除隊列隊列節點用戶修改用戶身份修改用戶等級修改用戶權限強大的資源管理4.2 作業調度中間件功能基于WEB圖形界面集成度高,嵌入到Gridview中流程簡單界面友好1423輕巧的專業應用提交4.2 作業調度中間件功能管理多個集群1提供完善的參數設置2靈活的提交方式34.2 作業調度中間件

34、功能作業提交提供作業監控功能1提供修改作業狀態功能2提供多集群作業監控34.2 作業調度中間件功能作業管理實用的用戶管理和記賬功能4.2 作業調度中間件功能穩定性高4.2 作業調度中間件功能代碼保護審查嚴格備份作業調度系統恢復作業調度系統功能穩定測試嚴格具有備份功能l單元測試嚴格l集成測試嚴格l兼容性測試嚴格MPI程序,例如:Vasp、WRF、mpiBLAST 等等典型的商業軟件,例如:Gaussian、Fluent、Ansys等等應用與作業調度系統相結合常用的mpi程序常用的商業軟件用戶自己開發的串行并行程序4.3 GridView作業調度的應用常用軟件DOCK MPIBLAST常用軟件常用

35、軟件工程量子力學生物常用軟件AMBERCHARMMGROMACSNAMDLAMMPS分子動力學應用與作業調度系統相結合高性能主要領域主要業務軟件得到各個領域的首席工程師的驗證4.3 GridView作業調度的應用ANSYSLSDYNA CFXCOMSOLFLUENTABINITGAUSSIANPWSCFVASP4.4 GridView作業調度的使用4.4.1 節點監控節點監控提供以下幾個功能(1)監控節點狀態(2)增加節點(3)刪除節點(4)重啟節點進程4.4.1 節點監控4.4.2 隊列管理 隊列管理主要包含對隊列的創建、刪除、修改和查看等操作。 只有root用戶和用戶管理中規定的管理員才能

36、打開隊列管理的主頁面,從而操作控制隊列。4.4.2 隊列管理4.4.2 隊列管理4.4.3 用戶設置 用戶管理主要是對用戶在作業調度系統中的身份、優先級,以及在作業調度系統對資源的使用和使用上限進行設置、修改和查看。這里的用戶是指已經存在于操作系統中的一般用戶,不包括root用戶和用戶ID小于500的系統用戶。 4.4.3 用戶設置4.4.4 作業提交 該作業調度系統主要通過web頁面將作業提交給調度器。系統中有三種提交方式:(1)Portal提交(2)腳本方式提交(3)命令行方式提交 每次只能選擇一種方式提交,在打開提交窗口時,默認是第一種提交方式。4.4.4.1 portal提交 根據應用

37、特點定制,目前集成了19種軟件,具體使用方法見手冊Gridview_應用Portal_用戶手冊4.4.4.1 portal提交4.4.4.1 portal提交用戶針對應用特殊配置 每個應用在$HOME/ .clusportal /目錄下有個對應的 .setting文件 ,前綴為應用名。Fluentfluent.setting# run settingprog_default=/public/software/ansys_inc/v121/fluent/bin/fluentprog_list=/public/software/ansys_inc/v121/fluent/bin/fluent:#

38、runfile settingFluent_ENVFILE=/public/software/profile.d/fluent-env.sh4.4.4.2 腳本和命令行提交4.4.4.2 腳本和命令行提交4.4.4.1 portal提交機群上作業情況my job id is 326.node1run nodes is following:node4node4node4node4begin time is Tue Aug 21 11:09:34 CST 2012/public/software/ansys_inc/v121/fluent/fluent12.1.4/bin/fluent -r12.1.4 2d -g -t4 -cnf=/opt/gridview/pbs/dispatcher/aux/326.node1 -ssh -mpi=openmpi -i /home/shenj/work/fluent/3/cavity.jou parallel/timer/usagePerformance Timer for 300 iterations on 4 compute nodes Average wall-clock time per iteration: 0.002 sec Globa

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論