MenuBar

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

上記の記述がない場合、追加する。

サーバノード側の設定

この設定はサーバノード側で行う設定である。
ので、計算ノードでは特に必要ないはず。
初期設定ではノードの設定がなされていないため、server_privの下にnodesというファイルを作成。

[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つ作成した。
普通に使うQueueとしてdqueを、優先度の高い処理をやるQueueにthree_hoursをつくった。
このqueue毎の優先度は以下のMauiで設定している。詳しくはそこを参照。

設定が終わったらpbs_srverをkillして再起動する。
pbs_schedはservice pbs_sched restart でリスタート。

[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である。
計算ノード側の設定はこれだけなので、この処理が終わったらpbs_momを起動させて終わり。

!!!注意!!!
TORQUEでは実行結果をpbs_server側のサーバへscpで送ります。ですのでRSA認証を行っていないと実行結果が送られず、Jobを実行したクラスタの/var/torque/undeliverdへ送られてしまいます。注意してください。

[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のAdminページを見て設定しました。ので、間違っているところもあるかもしれません。

Mauiのインストール

とりあえず、Cluster ResourcesからMauiをdownload。
この設定をするのはサーバノード側だけなので設定は1度でいいです。
ソースを落としたあとは展開してconfigure、make、make installでMauiをinstall。

[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を実行するという方針になっています。

  • PREEMPTOR、PREEMPTEEの設定
    QOSCFG[]の記述でPREEMPTOR、PREEMPTEEの設定が行われています。 これをつかってqueueの優先度を設定しています。 このPREEMPTEEが設定されているqueueは、PREEMPTORと設定されているqueueにリソースを譲るという処理が行われるためです。
    よって最優先の仕事にはPREEMPTOR属性、それほど急いでいない場合にはPREEMPTEE属性を持つqueueに仕事を投げることでより効率よく仕事を処理することになります。
    100台以上クラスタがあるためjobが滞ることは稀だと思いますが、どうしても邪魔をされたくないJobはthree_hoursのqueueを使うと良いでしょう。

関連ページ

Howto/TORQUE

参考リンク



トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-04-11 (土) 00:03:32 (1165d)