TORQUEインストール方法 †TORQUEはデフォルトでyumに入っているため、下記のようにインストールが可能である。 [root@naha ~]# yum install torque* [root@naha ~]# yum install libtorque-devel.i386 各種設定 †TORQUEをインストールしたのち、各種の設定ファイルを少し変更する。 [root@naha ~]# emacs -nw /etc/services まず、/etc/servicesの内容に下記の記述があるかどうかを確認する。 pbs 15001/tcp # pbs server (pbs_server) pbs_mom 15002/tcp # mom to/from server pbs_resmom 15003/tcp # mom resource management requests pbs_resmom 15003/udp # mom resource management requests pbs_sched 15004/tcp # schedule 上記の記述がない場合、追加する。 サーバノード側の設定 †この設定はサーバノード側で行う設定である。 [root@naha ~]# emacs -nw /var/torque/server_priv/nodes cls001.cs.ie.u-ryukyu.ac.jp np=2 cls002.cs.ie.u-ryukyu.ac.jp np=2 cls003.cs.ie.u-ryukyu.ac.jp np=2 cls004.cs.ie.u-ryukyu.ac.jp np=2 cls005.cs.ie.u-ryukyu.ac.jp np=2 .................................................... cls100.cs.ie.u-ryukyu.ac.jp np=2 ここでノードを書き込む。このノードは計算ノードをさすので、サーバのノードはいらない。np=2とはcpu数が2ということ。Core2なら記述する。 設定を行ったらpbs_serverとpbs_schedの起動を行う。pbs_serverは初回起動のみ-tオプションでcreateをつける。(このコマンドを行うと設定がリセットされるので注意) [root@naha ~]# pbs_server -t create [root@naha ~]# pbs_sched サーバ側ではキューを使ってジョブを管理するため、次はqmgrに以下の記述を適当なファイルに格納して、リダイレクトする。今回はserver.confというファイルを作った。 # # Create and define queue dque # create queue dque@naha.ie.u-ryukyu.ac.jp set queue dque@naha.ie.u-ryukyu.ac.jp queue_type = Execution set queue dque@naha.ie.u-ryukyu.ac.jp enabled = True set queue dque@naha.ie.u-ryukyu.ac.jp started = True # # Create and define queue three_hours # create queue three_hours@naha.ie.u-ryukyu.ac.jp set queue three_hours@naha.ie.u-ryukyu.ac.jp queue_type = Execution set queue three_hours@naha.ie.u-ryukyu.ac.jp resources_max.cput = 03:00:00 set queue three_hours@naha.ie.u-ryukyu.ac.jp resources_default.ncpus = 1 set queue three_hours@naha.ie.u-ryukyu.ac.jp resources_default.nodes = 1 set queue three_hours@naha.ie.u-ryukyu.ac.jp enabled = True set queue three_hours@naha.ie.u-ryukyu.ac.jp started = True # # Set server attributes. # set server naha.ie.u-ryukyu.ac.jp scheduling = True [root@naha ~]# qmgr < server.conf qmgrの設定を見たい場合はqmgr -c 'p s'コマンドを使用する。 [root@naha ~]# qmgr -c 'p s' # # Create queues and set their attributes. # # # Create and define queue dque # create queue dque set queue dque queue_type = Execution set queue dque enabled = True set queue dque started = True # # Create and define queue three_hours # create queue three_hours set queue three_hours queue_type = Execution set queue three_hours resources_max.cput = 03:00:00 set queue three_hours resources_default.ncpus = 1 set queue three_hours resources_default.nodes = 1 set queue three_hours enabled = True set queue three_hours started = True # # Set server attributes. # set server scheduling = True set server log_events = 511 set server mail_from = adm set server scheduler_iteration = 600 set server node_check_rate = 150 set server tcp_timeout = 6 set server pbs_version = 2.1.10 今回はQueueを2つ作成した。 設定が終わったらpbs_srverをkillして再起動する。 [root@naha ~]$ ps aux | grep pbs root 21848 0.0 0.2 7132 2316 ? Ss 16:44 0:00 pbs_server -t create root 21850 0.0 0.0 2352 724 ? Ss 16:44 0:00 pbs_sched root 22225 0.0 0.0 4044 676 pts/0 S+ 17:42 0:00 grep pbs [root@naha ~]# kill 21848 [root@naha ~]# service pbs_sched restart Shutting down TORQUE Scheduler: [ OK ] Starting TORQUE Scheduler: [ OK ] [root@naha ~]# pbs_server [root@naha ~]# ps aux | grep pbs root 22262 0.0 0.0 2628 772 ? Ss 17:44 0:00 pbs_server root 22264 0.0 0.0 2220 384 ? Ss 17:44 0:00 pbs_sched root 22266 0.0 0.0 4044 676 pts/0 S+ 17:44 0:00 grep pbs 計算ノード側の設定 †計算ノードでは/var/torque/mom_priv/にconfigというファイルを作成し、以下をコピペする。 設定ファイル config [root@cls001 ~]# emacs -nw /var/torque/mom_priv/config $logevent 0x1fff $max_load 1.2 $ideal_load 1.0 $pbsserver naha.ie.u-ryukyu.ac.jp $restricted naha.ie.u-ryukyu.ac.jp この$pbsserver の値はサーバノードのことなので、今回はnaha.ie.u-ryukyu.ac.jpである。 [root@cls001 ~]# pbs_mom 動作確認方法 †サーバノード側でpbsnodes -a を実行すると、稼働しているかどうかが確認できる。 [maui@naha ~]$ pbsnodes -a cls001.cs.ie.u-ryukyu.ac.jp state = free np = 2 ntype = cluster status = opsys=linux,uname=Linux cls001.cs.ie.u-ryukyu.ac.jp 2.6.23.1-42.fc8 #1 SMP Tue Oct 30 13:55:12 EDT 2007 i686,sessions=1392 4317 4279 5422 14032 14053 26888 26779 30846,nsessions=9,nusers=4,idletime=953,totmem=3131028kb,availmem=2961004kb,physmem=10 33884kb,ncpus=2,loadave=0.01,netload=281696549,state=free,jobs=? 0,rectime=1211966490 cls002.cs.ie.u-ryukyu.ac.jp state = free np = 2 ntype = cluster status = opsys=linux,uname=Linux cls002.cs.ie.u-ryukyu.ac.jp 2.6.23.1-42.fc8 #1 SMP Tue Oct 30 13:55:12 EDT 2007 i686,sessions=13893 18162 30740,nsessions=3,nusers=3,idletime=605475,totmem=3131028kb,availmem=2887080kb,physme m=1033884kb,ncpus=2,loadave=0.00,netload=3903101879,state=free,jobs=? 0,rectime=1211966502 ------------------------------------------------------------------------------ cls100.cs.ie.u-ryukyu.ac.jp state = free np = 2 ntype = cluster status = opsys=linux,uname=Linux cls100.cs.ie.u-ryukyu.ac.jp 2.6.23.1-42.fc8 #1 SMP Tue Oct 30 13:55:12 EDT 2007 i686,sessions=22757,nsessions=1,nusers=1,idletime=253805,totmem=3131028kb,availmem=30398 60kb,physmem=1033884kb,ncpus=2,loadave=0.00,netload=1363276394,state=free,jobs=? 0,rectime=1211966494 このようにstate=freeとなっていれば接続が正しくされているということになる。 上記の方法でノードの設定が確認できたら、TORQUEを使用することができる。 Maui Schedulerの設定 †TORQUEのスケジュール機能を拡張するmauiスケジューラの設定方法。 Mauiのインストール †とりあえず、Cluster ResourcesからMauiをdownload。 [root@naha ~]$tar xvzf [maui~].tar.gz [root@naha ~]$cd [maui] [root@naha maui-]$./configure --with-pbs=/usr [root@naha maui-]$make [root@naha maui-]$make install とりあえずのinstallは上記の通りですが、入れる際はかならずmaui Adminのページを読んでください。 maui.cfgの設定 †mauiの設定はmaui.cfgで行います。 # maui.cfg 3.2.6p19 SERVERHOST naha.ie.u-ryukyu.ac.jp # primary admin must be first in list ADMIN1 root JOBNODEMATCHPOLICY EXACTNODE # Resource Manager Definition RMCFG[base] TYPE=PBS HOST=naha.ie.u-ryukyu.ac.jp # Allocation Manager Definition AMCFG[bank] TYPE=NONE # full parameter docs at http://supercluster.org/mauidocs/a.fparameters.html # use the 'schedctl -l' command to display current configuration # Backfill: http://supercluster.org/mauidocs/8.2backfill.html BACKFILLPOLICY BESTFIT RESERVATIONPOLICY NEVER PREEMPTPOLICY SUSPEND NODEAVAILABILITYPOLICY DEDICATED:PROC COMBINED # Node Allocation: http://supercluster.org/mauidocs/5.2nodeallocation.html NODEALLOCATIONPOLICY PRIORITY NODECFG[DEFAULT] PRIORITYF='APROCS + .01 * AMEM - 10 * JOBCOUNT' # QOS: http://supercluster.org/mauidocs/7.3qos.html CLASSCFG[dque] QDEF=low:PRIORITY=1 CLASSCFG[three_hours] QDEF=high:PRIORITY=10 QOSCFG[high] PRIORITY=100 QOSCFG[high] QFLAGS=PREEMPTOR QOSCFG[med] PRIORITY=10 QOSCFG[med] QFLAGS=PREEMPTOR,PREEMPTEE QOSCFG[low] PRIORITY=0 QOSCFG[low] QFLAGS=PREEMPTEE 上記の設定ファイルは、queue毎にPriorityを割り振り、優先度の高いJobが実行できない場合は、優先度の低いJobをSuspentして優先度の高いJobを実行するという方針になっています。
関連ページ †参考リンク † |