Torque
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*Torque [#j73ae00a]
**Torqueとは [#w403e39f]
Torqueは、Job Schedulerである。Job Schedulerは、クラスタ...
クラスターを利用して、実験を行う際には、Job Schedulerを用...
それは、他のクラスターユーザーが存在する場合に、同時に別...
まず、[[Torqueのインストール]]する。
それでは、Torqueの使い方を見てみよう。~
**Torqueがインストールされたserverにログインする [#td5c36...
ssh ie-user@tino-vm1.ads.ie.u-ryukyu.ac.jp
このvmはシス管か, 誰かに頼んで上げてもらう(自分のときは名...
**queueの作成(サーバー側)[#w403e39f]
テストとして"tqueue"という名前のqueueを作る。
Qmgr: create queue tqueue queue_type = execution
Qmgr: set queue tqueue enabled = true
Qmgr: set queue tqueue started = true
Qmgr: set server default_queue = tqueue
Qmgr: set server scheduling = true
Qmgr: set queue tqueue resources_max.ncpus = 2
Qmgr: set queue tqueue resources_max.nodes = 2
各コマンドの意味を以下に示す。
- create queue <queue名> queue_type = <queueのタイプ>
-- 指定された名前、タイプのqueueを作成する。
-- タイプはE,executionを指定するとexecution queueになりR,...
- set queue <queue名> <Attributes>
-- 指定したqueueの指定したAttributesを設定する。
例で設定したAttributesについて
- enabled = <true or false>
-- trueにすると新しいjobを受け付ける。
- started = <true or false>
-- trueにするとqueueの中のjobの実行を許可する。
- resources_max.ncpus = <cpu数>
-- queueに割り当てるcpu数を設定する。
- resources_max.nodes = <node数>
-- queueに割り当てるnode数を設定する。
- set server <Attributes>
-- 指定したqueueの指定したAttributesを設定する。
例で設定したAttributesについて
- default_queue = <queue名>
-- 指定したqueueをデフォルトqueueとする。
- scheduling = <true or false>
-- Schedulingを可能にする。
ここまでの設定の確認を行う。
Qmgr: print server
これでサーバーの設定が確認できる。作成したqueueが表示され...
Qmgr: list queue <queue名>
***設定の保存 [#c0c1f3e6]
以下のようにリダイレクトして保存する。
# echo "p s" | <torqueのインストール先>/bin/qmgr > <ファ...
次回以降はこのファイルを与えることで設定が楽になる。
ファイルの与え方もリダイレクト
# <torqueのインストール先>/bin/qmgr < <ファイル名>
*Torque チュートリアル [#e15ab66e]
**Torqueを使用する前に [#v7c30a30]
Torqueは、naha.ie.u-ryukyu.ac.jp上で使用することができる。~
実験を行うためには、パスワードを使用せずにsshできるように...
% ssh ie-user@tino-vm1.ads.ie.u-ryukyu.ac.jp
尚、パスワードはサーバー班が管理しているので、サーバー班...
ログインすると、ホームディレクトリにProjectフォルダがある...
% mkdir student/eXX57XX
% cd student/eXX57XX
追記
ただし, Projectフォルダは分散環境上で共有されていないため...
**Torque上でジョブを実行する [#z9ce5a59]
***ジョブを実行するための準備 [#i6f44c02]
jobs.shを作成する。
-jobs.sh
#!/bin/sh
echo hello
hostname
***ジョブの実行 [#w4f9d890]
Torqueのジョブは、qsubコマンドによって投入される。
% qsub jobs.sh
このように実行すると、1台のクラスターでのみ処理が行なわれ...
***ジョブの実行結果 [#n334fdff]
スクリプトの実行が終わると、jobs.sh.oXXX, jobs.sh.eXXXと...
ファイルにはそれぞれ、標準出力と、標準エラー出力の内容が...
% cat jobs.sh.oXXX
hello
cls001.cs.ie.u-ryukyu.ac.jp
***複数のノードを用いた実験 [#mc5122e2]
また10台で実験を行うには次のように、実行すれば良い。
% qsub -l nodes=10 jobs.sh
% cat jobs.sh.oXXX
hello
cls010.cs.ie.u-ryukyu.ac.jp
10台のノードを指定しても、実際には10台が使用可能になった...
このcls010.csは、親ノードである。この親ノード(cls010.cs)...
例えば、以下のような処理を行う必要がある。
-jobs.sh
#!/bin/sh
#PBS -N ExampleJob
#PBS -l nodes=10,walltime=00:01:00
for serv in `cat $PBS_NODEFILE`
do
ssh $serv hostname &
done
wait
#PBSを用いてコメントをつけると、その部分が、qsubコマンド...
- -N: ExampleJob.oXXXのように、ジョブに名前を付けることが...
- -l: ジョブのオプション。nodes=ノード数、walltime=処理制...
親ノードのシェルには、$PBS_NODEFILEという、環境変数が準備...
-(例)
% echo $PBS_NODEFILE
/var/spool/torque/aux/XXX.naha.ie.u-ryukyu.ac.jp
% cat $PBS_NODEFILE
cls010.cs.ie.u-ryukyu.ac.jp
cls009.cs.ie.u-ryukyu.ac.jp
...(略)...
cls001.cs.ie.u-ryukyu.ac.jp
$PBS_NODEFILEの先頭行のホストが親ノードである。
このスクリプトを実行してみると、以下のようになった。
% qsub jobs.sh
% cat ExampleJob.oXXX
cls003.cs.ie.u-ryukyu.ac.jp
cls009.cs.ie.u-ryukyu.ac.jp
cls008.cs.ie.u-ryukyu.ac.jp
cls010.cs.ie.u-ryukyu.ac.jp
cls007.cs.ie.u-ryukyu.ac.jp
cls006.cs.ie.u-ryukyu.ac.jp
cls004.cs.ie.u-ryukyu.ac.jp
cls005.cs.ie.u-ryukyu.ac.jp
cls002.cs.ie.u-ryukyu.ac.jp
cls001.cs.ie.u-ryukyu.ac.jp
このように、10台のノードで、hostnameコマンドを実行した結...
これらの他に、mpiを用いて、他のノードにジョブを割り振るこ...
**1ノード2CPUを用いた実験方法 [#g6147db9]
クラスターはCoreDuoを搭載しているため、CPUを2つまで使用す...
その場合は、以下のように実行する。
% qsub -l nodes=10:ppn=2 jobs.sh
この場合、$PBS_NODEFILEには、同じホストが2つずつ登録され...
**1ジョブでマルチタスクの実行 [#te8ac4a0]
また、1つのジョブで、複数の同じタスクを実行することもでき...
その場合は、以下のように実行する。
% qsub -t 1-3 -l nodes=10 jobs.sh
この場合、出力結果も3つのタスクごとに出力される。
&ref(torque_qsub.png);
**その他、便利なコマンド [#c4400499]
-jobs.sh
#!/bin/sh
#PBS -N ExampleJob
#PBS -l nodes=1,walltime=00:01:00
sleep 10
echo hello
% qsub jobs.sh
sleepを行って、ジョブを長引かせてテストする。
% qstat
Job id Name User ...
------------------------- ---------------- -------------...
XXX.naha ExampleJob maui ...
このように、ジョブの状態を確認することができる。
**Error 対処メモ [#u7fc1af9]
Nodeの数を4~9台に設定するとなぜかjobがうまく動かない。以...
qsub: Job exceeds queue resource limits MSG=cannot satis...
対処法はNodeの数の設定時に、一桁だった場合は 05 といった...
% qsub -l nodes=05 test.sh
全体で登録しているNodeの数が二桁になるとこうする必要があ...
また、Nodeの数を間違っていなくても、上のエラーがでるとき...
% qmgr -c "p s"
:
create queue cqueue
set queue cqueue queue_type = Execution
set queue cqueue resources_max.ncpus = 184
set queue cqueue resources_max.nodes = 46
set queue cqueue enabled = True
set queue cqueue started = True
ncpus の値やnodesの値を確認する。resource_max.nodes でな...
% sudo qmgr
set queue cqueue resources_max.nodect = 46
**crとcsの両方のtorqueクラスタを1つで使う [#da9175cd]
crで作成したtorqueのクラスタをcsの方でまとめて使うための...
以下の2つの設定変更により行える
-クライアント側のserver_nameファイルとconfigファイルをmas...
-親のtorqueのnodesの設定にcrのクラスタの情報を付け加える。
上記の変更をpbsをstopさせて変更を行う。
% sudo /etc/init.d/torque stop
***クライアント側のserver_nameファイルとconfigファイルをm...
変更するファイルは以下の2つ
/var/spool/torque/server_name
/var/spool/torque/mom_priv/config
それぞれの中身をみてみる
mass01(cr) % cat /var/spool/torque/server_name
mass00.cr.ie.u-ryukyu.ac.jp
mass01(cr) % cat /var/spool/torque/mom_priv/config
$logevent 0x1fff
$max_load 1.2
$ideal_load 1.0
$pbsserver mass00.cr.ie.u-ryukyu.ac.jp
$restricted mass00.cr.ie.u-ryukyu.ac.jp%
上記のmass00.crをmass.csに変更すればよい
***親のtorqueのnodesの設定にcrのクラスタの情報を付け加え...
変更するファイルは以下のもの
/var/spool/torque/server_priv/nodes
中にはクライアントとなるサーバのドメインと使用するcpuの数...
% sudo cat /var/spool/torque/server_priv/nodes
mass02.cs.ie.u-ryukyu.ac.jp np=4
mass03.cs.ie.u-ryukyu.ac.jp np=4
mass04.cs.ie.u-ryukyu.ac.jp np=4
:略
mass46.cs.ie.u-ryukyu.ac.jp np=4
mass47.cs.ie.u-ryukyu.ac.jp np=4
これにmass01.cr.ie.u-ryukyu.ac.jp といったcr側のクライア...
設定が終わったら
% sudo /etc/init.d/torque start
をして起動させる。
クライアント全部を手作業でやるのは面倒臭いのでcapistrano ...
** workspaceの作り方 [#z82621ae]
*** 力技(rootのゴリ押し) [#m0f45128]
例えばie-user@tino-vm1.ads.ie.u-ryukyu.ac.jp で
mkdir /mnt/data/fuga
と作成しようとしてもPermmision Errorになる. また, rootで...
sudo mkdir /mnt/data/fuga
ls -l /mnt/data
合計 48
...
drwxr-xr-x 2 ie-user ie-user 4096 8月 9 2016 ex...
drwxr-xr-x 2 nfsnobody nfsnobody 6 1月 24 06:08 fuga
...
となり, usernameとgroupが違うため, 他のvmがfugaにアクセス...
このファイルを管理しているのはtino-vm2の方なので, そこに...
ssh tino-vm2.ads.ie.u-ryukyu.ac.jp
# /exports/data がmountされていたため, この中のfugaを変...
sudo chown -R ie-user:ie-user /exports/data/fuga
exit
その後ファイルを見てみると書き換わっている
ls -l /mnt/data
合計 48
...
drwxr-xr-x 2 ie-user ie-user 4096 8月 9 2016 ex...
drwxr-xr-x 2 ie-user ie-user 6 1月 24 06:08 fuga
...
ただゴリ押しなので他の方法もあるかも. (というか普通は管理...
** Christie用メモ [#u848af30]
@tinovm1:/mnt/data/christie-workspace/の中で作業を行う。
christieを更新した際はjarファイルを置き換えること。(Jenki...
** 参考文献 [#sd6040a5]
http://docs.adaptivecomputing.com/torque/6-1-2/adminGuide...
終了行:
*Torque [#j73ae00a]
**Torqueとは [#w403e39f]
Torqueは、Job Schedulerである。Job Schedulerは、クラスタ...
クラスターを利用して、実験を行う際には、Job Schedulerを用...
それは、他のクラスターユーザーが存在する場合に、同時に別...
まず、[[Torqueのインストール]]する。
それでは、Torqueの使い方を見てみよう。~
**Torqueがインストールされたserverにログインする [#td5c36...
ssh ie-user@tino-vm1.ads.ie.u-ryukyu.ac.jp
このvmはシス管か, 誰かに頼んで上げてもらう(自分のときは名...
**queueの作成(サーバー側)[#w403e39f]
テストとして"tqueue"という名前のqueueを作る。
Qmgr: create queue tqueue queue_type = execution
Qmgr: set queue tqueue enabled = true
Qmgr: set queue tqueue started = true
Qmgr: set server default_queue = tqueue
Qmgr: set server scheduling = true
Qmgr: set queue tqueue resources_max.ncpus = 2
Qmgr: set queue tqueue resources_max.nodes = 2
各コマンドの意味を以下に示す。
- create queue <queue名> queue_type = <queueのタイプ>
-- 指定された名前、タイプのqueueを作成する。
-- タイプはE,executionを指定するとexecution queueになりR,...
- set queue <queue名> <Attributes>
-- 指定したqueueの指定したAttributesを設定する。
例で設定したAttributesについて
- enabled = <true or false>
-- trueにすると新しいjobを受け付ける。
- started = <true or false>
-- trueにするとqueueの中のjobの実行を許可する。
- resources_max.ncpus = <cpu数>
-- queueに割り当てるcpu数を設定する。
- resources_max.nodes = <node数>
-- queueに割り当てるnode数を設定する。
- set server <Attributes>
-- 指定したqueueの指定したAttributesを設定する。
例で設定したAttributesについて
- default_queue = <queue名>
-- 指定したqueueをデフォルトqueueとする。
- scheduling = <true or false>
-- Schedulingを可能にする。
ここまでの設定の確認を行う。
Qmgr: print server
これでサーバーの設定が確認できる。作成したqueueが表示され...
Qmgr: list queue <queue名>
***設定の保存 [#c0c1f3e6]
以下のようにリダイレクトして保存する。
# echo "p s" | <torqueのインストール先>/bin/qmgr > <ファ...
次回以降はこのファイルを与えることで設定が楽になる。
ファイルの与え方もリダイレクト
# <torqueのインストール先>/bin/qmgr < <ファイル名>
*Torque チュートリアル [#e15ab66e]
**Torqueを使用する前に [#v7c30a30]
Torqueは、naha.ie.u-ryukyu.ac.jp上で使用することができる。~
実験を行うためには、パスワードを使用せずにsshできるように...
% ssh ie-user@tino-vm1.ads.ie.u-ryukyu.ac.jp
尚、パスワードはサーバー班が管理しているので、サーバー班...
ログインすると、ホームディレクトリにProjectフォルダがある...
% mkdir student/eXX57XX
% cd student/eXX57XX
追記
ただし, Projectフォルダは分散環境上で共有されていないため...
**Torque上でジョブを実行する [#z9ce5a59]
***ジョブを実行するための準備 [#i6f44c02]
jobs.shを作成する。
-jobs.sh
#!/bin/sh
echo hello
hostname
***ジョブの実行 [#w4f9d890]
Torqueのジョブは、qsubコマンドによって投入される。
% qsub jobs.sh
このように実行すると、1台のクラスターでのみ処理が行なわれ...
***ジョブの実行結果 [#n334fdff]
スクリプトの実行が終わると、jobs.sh.oXXX, jobs.sh.eXXXと...
ファイルにはそれぞれ、標準出力と、標準エラー出力の内容が...
% cat jobs.sh.oXXX
hello
cls001.cs.ie.u-ryukyu.ac.jp
***複数のノードを用いた実験 [#mc5122e2]
また10台で実験を行うには次のように、実行すれば良い。
% qsub -l nodes=10 jobs.sh
% cat jobs.sh.oXXX
hello
cls010.cs.ie.u-ryukyu.ac.jp
10台のノードを指定しても、実際には10台が使用可能になった...
このcls010.csは、親ノードである。この親ノード(cls010.cs)...
例えば、以下のような処理を行う必要がある。
-jobs.sh
#!/bin/sh
#PBS -N ExampleJob
#PBS -l nodes=10,walltime=00:01:00
for serv in `cat $PBS_NODEFILE`
do
ssh $serv hostname &
done
wait
#PBSを用いてコメントをつけると、その部分が、qsubコマンド...
- -N: ExampleJob.oXXXのように、ジョブに名前を付けることが...
- -l: ジョブのオプション。nodes=ノード数、walltime=処理制...
親ノードのシェルには、$PBS_NODEFILEという、環境変数が準備...
-(例)
% echo $PBS_NODEFILE
/var/spool/torque/aux/XXX.naha.ie.u-ryukyu.ac.jp
% cat $PBS_NODEFILE
cls010.cs.ie.u-ryukyu.ac.jp
cls009.cs.ie.u-ryukyu.ac.jp
...(略)...
cls001.cs.ie.u-ryukyu.ac.jp
$PBS_NODEFILEの先頭行のホストが親ノードである。
このスクリプトを実行してみると、以下のようになった。
% qsub jobs.sh
% cat ExampleJob.oXXX
cls003.cs.ie.u-ryukyu.ac.jp
cls009.cs.ie.u-ryukyu.ac.jp
cls008.cs.ie.u-ryukyu.ac.jp
cls010.cs.ie.u-ryukyu.ac.jp
cls007.cs.ie.u-ryukyu.ac.jp
cls006.cs.ie.u-ryukyu.ac.jp
cls004.cs.ie.u-ryukyu.ac.jp
cls005.cs.ie.u-ryukyu.ac.jp
cls002.cs.ie.u-ryukyu.ac.jp
cls001.cs.ie.u-ryukyu.ac.jp
このように、10台のノードで、hostnameコマンドを実行した結...
これらの他に、mpiを用いて、他のノードにジョブを割り振るこ...
**1ノード2CPUを用いた実験方法 [#g6147db9]
クラスターはCoreDuoを搭載しているため、CPUを2つまで使用す...
その場合は、以下のように実行する。
% qsub -l nodes=10:ppn=2 jobs.sh
この場合、$PBS_NODEFILEには、同じホストが2つずつ登録され...
**1ジョブでマルチタスクの実行 [#te8ac4a0]
また、1つのジョブで、複数の同じタスクを実行することもでき...
その場合は、以下のように実行する。
% qsub -t 1-3 -l nodes=10 jobs.sh
この場合、出力結果も3つのタスクごとに出力される。
&ref(torque_qsub.png);
**その他、便利なコマンド [#c4400499]
-jobs.sh
#!/bin/sh
#PBS -N ExampleJob
#PBS -l nodes=1,walltime=00:01:00
sleep 10
echo hello
% qsub jobs.sh
sleepを行って、ジョブを長引かせてテストする。
% qstat
Job id Name User ...
------------------------- ---------------- -------------...
XXX.naha ExampleJob maui ...
このように、ジョブの状態を確認することができる。
**Error 対処メモ [#u7fc1af9]
Nodeの数を4~9台に設定するとなぜかjobがうまく動かない。以...
qsub: Job exceeds queue resource limits MSG=cannot satis...
対処法はNodeの数の設定時に、一桁だった場合は 05 といった...
% qsub -l nodes=05 test.sh
全体で登録しているNodeの数が二桁になるとこうする必要があ...
また、Nodeの数を間違っていなくても、上のエラーがでるとき...
% qmgr -c "p s"
:
create queue cqueue
set queue cqueue queue_type = Execution
set queue cqueue resources_max.ncpus = 184
set queue cqueue resources_max.nodes = 46
set queue cqueue enabled = True
set queue cqueue started = True
ncpus の値やnodesの値を確認する。resource_max.nodes でな...
% sudo qmgr
set queue cqueue resources_max.nodect = 46
**crとcsの両方のtorqueクラスタを1つで使う [#da9175cd]
crで作成したtorqueのクラスタをcsの方でまとめて使うための...
以下の2つの設定変更により行える
-クライアント側のserver_nameファイルとconfigファイルをmas...
-親のtorqueのnodesの設定にcrのクラスタの情報を付け加える。
上記の変更をpbsをstopさせて変更を行う。
% sudo /etc/init.d/torque stop
***クライアント側のserver_nameファイルとconfigファイルをm...
変更するファイルは以下の2つ
/var/spool/torque/server_name
/var/spool/torque/mom_priv/config
それぞれの中身をみてみる
mass01(cr) % cat /var/spool/torque/server_name
mass00.cr.ie.u-ryukyu.ac.jp
mass01(cr) % cat /var/spool/torque/mom_priv/config
$logevent 0x1fff
$max_load 1.2
$ideal_load 1.0
$pbsserver mass00.cr.ie.u-ryukyu.ac.jp
$restricted mass00.cr.ie.u-ryukyu.ac.jp%
上記のmass00.crをmass.csに変更すればよい
***親のtorqueのnodesの設定にcrのクラスタの情報を付け加え...
変更するファイルは以下のもの
/var/spool/torque/server_priv/nodes
中にはクライアントとなるサーバのドメインと使用するcpuの数...
% sudo cat /var/spool/torque/server_priv/nodes
mass02.cs.ie.u-ryukyu.ac.jp np=4
mass03.cs.ie.u-ryukyu.ac.jp np=4
mass04.cs.ie.u-ryukyu.ac.jp np=4
:略
mass46.cs.ie.u-ryukyu.ac.jp np=4
mass47.cs.ie.u-ryukyu.ac.jp np=4
これにmass01.cr.ie.u-ryukyu.ac.jp といったcr側のクライア...
設定が終わったら
% sudo /etc/init.d/torque start
をして起動させる。
クライアント全部を手作業でやるのは面倒臭いのでcapistrano ...
** workspaceの作り方 [#z82621ae]
*** 力技(rootのゴリ押し) [#m0f45128]
例えばie-user@tino-vm1.ads.ie.u-ryukyu.ac.jp で
mkdir /mnt/data/fuga
と作成しようとしてもPermmision Errorになる. また, rootで...
sudo mkdir /mnt/data/fuga
ls -l /mnt/data
合計 48
...
drwxr-xr-x 2 ie-user ie-user 4096 8月 9 2016 ex...
drwxr-xr-x 2 nfsnobody nfsnobody 6 1月 24 06:08 fuga
...
となり, usernameとgroupが違うため, 他のvmがfugaにアクセス...
このファイルを管理しているのはtino-vm2の方なので, そこに...
ssh tino-vm2.ads.ie.u-ryukyu.ac.jp
# /exports/data がmountされていたため, この中のfugaを変...
sudo chown -R ie-user:ie-user /exports/data/fuga
exit
その後ファイルを見てみると書き換わっている
ls -l /mnt/data
合計 48
...
drwxr-xr-x 2 ie-user ie-user 4096 8月 9 2016 ex...
drwxr-xr-x 2 ie-user ie-user 6 1月 24 06:08 fuga
...
ただゴリ押しなので他の方法もあるかも. (というか普通は管理...
** Christie用メモ [#u848af30]
@tinovm1:/mnt/data/christie-workspace/の中で作業を行う。
christieを更新した際はjarファイルを置き換えること。(Jenki...
** 参考文献 [#sd6040a5]
http://docs.adaptivecomputing.com/torque/6-1-2/adminGuide...
ページ名: