Home
Packages
Forums
Wiki
GitLab
Security
AUR
Download
コンテンツにスキップ
メインメニュー
メインメニュー
サイドバーに移動
非表示
案内
メインページ
目次
コミュニティに貢献
最近の出来事
おまかせ表示
特別ページ
交流
ヘルプ
貢献
最近の更新
最近の議論
新しいページ
統計
リクエスト
ArchWiki
検索
検索
表示
アカウント作成
ログイン
個人用ツール
アカウント作成
ログイン
TORQUEのソースを表示
ページ
議論
日本語
閲覧
ソースを閲覧
履歴を表示
ツール
ツール
サイドバーに移動
非表示
操作
閲覧
ソースを閲覧
履歴を表示
全般
リンク元
関連ページの更新状況
ページ情報
表示
サイドバーに移動
非表示
←
TORQUE
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
[[Category:分散コンピューティング]] [[en:TORQUE]] {{Related articles start}} {{Related|distcc}} {{Related|Slurm}} {{Related articles end}} {{Note|TORQUE はフリーソフトウェアではありません。}} '''TORQUE''' はバッチジョブや分散された計算ノードを制御します。TORQUE を使うことで、ホーム・スモールオフィス用の Linux クラスタを構築してジョブを管理することができます。クラスタは一つのヘッドノードと多数の計算ノードから成ります。ヘッドノードでは '''torque-server''' デーモンを実行させ計算ノードでは '''torque-client''' デーモンを実行させます。ヘッドノードではスケジューラデーモンも実行します。 == インストール == {{Note|TORQUE はとても強力なキューイングシステムですが、コンパイルのスループットを高めるためにクラスタを組むだけなら、[[distcc]] の方が遥かに簡単で洗練されたソリューションです。}} [[AUR]] の {{AUR|torque}} パッケージを[[インストール]]してください。 == 要件 == === /etc/hosts === クラスタの全てのマシンの {{ic|/etc/hosts}} に、クラスタの全てのマシンのホストネームを記述してください。例えば、クラスタを3つのマシン (mars, phobos, deimos) で構成する場合: 192.168.0.20 mars 192.168.0.21 phobos 192.168.0.22 deimos === ファイアウォールの設定 (インストールしている場合) === TORQUE を使用する全てのマシンの TCP を開いてください。 pbs_server (サーバー) と pbs_mom (クライアント) はデフォルトでは TCP と UDP のポート 15001-15004 を使用します。また、特権ポートが設定されている場合 (デフォルト) pbs_mom (クライアント) は UDP ポート 1023 以下も使用します。 === NFS === 技術的には、NFS を必ずしも使う必要はありませんが、使ったほうが設定が簡単になります。ビルドに使用するディスク領域を共有するために [[NFS]] の共有をサーバーや他のマシンで設定することを強く推奨します。 == セットアップ == === サーバー (ヘッドノード) の設定 === ヘッドノード/スケジューラで以下の手順に従ってください。 {{ic|/var/spool/torque/server_name}} を編集してヘッドノードに名前を付けます。分かりやすいように {{ic|/etc/hostname}} のホストネームと一緒の名前にすることを推奨します。 torque サーバーを作成・設定: {{bc| # pbs_server -t create PBS_Server localhost.localdomain: Create mode and server database exists, do you wish to continue y/(n)?y }} 以下を実行して trqauthd を起動: {{bc|# trqauthd}} 最小限必要なオプションは以下の通りです。最初の行の "mars" を {{ic|/var/spool/torque/server_name}} で入力したホストネームに置き換えてください: qmgr -c "set server acl_hosts = mars" qmgr -c "set server scheduling=true" qmgr -c "create queue batch queue_type=execution" qmgr -c "set queue batch started=true" qmgr -c "set queue batch enabled=true" qmgr -c "set queue batch resources_default.nodes=1" qmgr -c "set queue batch resources_default.walltime=3600" qmgr -c "set server default_queue=batch" 完了したジョブは一定期間キューの中に保持すると良いでしょう: qmgr -c "set server keep_completed = 86400" 上記の場合、86400秒 = 24時間後に、キューからジョブが自動的に削除されます。qstat の {{ic|-f}} スイッチを使うことでキューから削除されたジョブのログを確認することができます: qstat -f サーバーの設定を確認したい場合は次のコマンドを実行: # qmgr -c 'p s' {{ic|/var/spool/torque/server_priv/nodes}} を編集して計算ノードを全て追加してください。ヘッドノードと同じように、LAN 上のマシンのホストネームと同じ名前を使うことを推奨します。構文は HOSTNAME np=x gpus=y properties です。 * HOSTNAME=マシンのホストネーム * np=プロセッサの数 * gpus=gpu の数 * properties=コメント ホストネームだけが必須で、後のフィールドは任意です。 例: mars np=4 phobos np=2 deimos np=2 {{Note| * 同じマシンでサーバーとクライアントの両方を動作させることもできます。 * {{ic|pbs_server -t create}} を再実行することで nodes ファイルを削除することができます。 }} サーバーを再起動して新しいオプションを読み込ませてください。 === クライアント (計算ノード) の設定 === クラスタ内の全ての計算ノードで以下の手順に従ってください。 {{Note|同一マシンでサーバーとクライアントの両方を動作させる場合、クラスタ内の''純粋な''クライアントだけでなくサーバーマシンでも以下の設定を行なってください。}} {{ic|/var/spool/torque/mom_priv/config}} を編集してサーバーに関する基本的な情報を記述: $pbsserver mars # note: this is the hostname of the headnode $logevent 255 # bitmap of which events to log === サーバーの再起動 === サーバーを再起動すると設定が適用されます: {{bc| # killall -s 9 pbs_server # pbs_server }} === クライアントの起動 === クライアントマシンで以下を実行することでクライアントが起動します: {{bc| # pbs_mom }} == クラスタの状態を確認 == クラスタの状態を確認したいときは、以下を実行: $ pbsnodes -a ''state'' が ''free'' となっていればノードはジョブを受け取る準備ができています。ノードが落ちている場合、state は ''down'' となります。 出力例: {{bc|<nowiki> mars state = free np = 4 ntype = cluster status = rectime=1308479899,varattr=,jobs=0.localhost.localdomain,state=free,netload=1638547057, gres=,loadave=2.69,ncpus=4,physmem=8195892kb,availmem=7172508kb,totmem=8195892kb, idletime=24772,nusers=1,nsessions=5,sessions=1333 1349 1353 1388 9095, uname=Linux mars 2.6.39-ck #1 SMP PREEMPT Sat Jun 18 14:19:01 EDT 2011 x86_64,opsys=linux mom_service_port = 15002 mom_manager_port = 15003 gpus = 2 phobos state = free np = 2 ntype = cluster status = rectime=1308479933,varattr=,jobs=,state=free,netload=1085755815, gres=,loadave=2.84,ncpus=2,physmem=4019704kb,availmem=5753552kb,totmem=6116852kb, idletime=7324,nusers=2,nsessions=6,sessions=1565 1562 1691 1716 1737 1851, uname=Linux phobos 2.6.37-ck #1 SMP PREEMPT Sun Apr 3 17:16:35 EDT 2011 x86_64,opsys=linux mom_service_port = 15002 mom_manager_port = 15003 gpus = 1 deimos state = free np = 2 ntype = cluster status = rectime=1308479890,varattr=,jobs=2.localhost.localdomain,state=free,netload=527239670, gres=,loadave=0.52,ncpus=2,physmem=4057808kb,availmem=3955624kb,totmem=4057808kb, idletime=644,nusers=1,nsessions=1,sessions=865, uname=Linux deimos 2.6.39-ck #1 SMP PREEMPT Sat Jun 11 12:36:21 EDT 2011 x86_64,opsys=linux mom_service_port = 15002 mom_manager_port = 15003 gpus = 1 </nowiki>}} == ジョブをキューに追加 == クラスタのキューにジョブを登録するには ''qsub'' コマンドを使います。 sleep を実行するだけの簡単なテスト: $ echo "sleep 30" | qsub キューの状態は下に書かれているように ''qstat'' コマンドで確認できます。待機中のジョブの状態は "Q" になります。ジョブを開始するには、スケジューラを実行: # pbs_sched ''torque-server'' の ''systemd'' デーモンを修正することで起動時に pbs_sched を有効にすることができます。 また、qsub にはジョブに名前をつけてスクリプトをキューに入れるという使い方もあります: $ qsub -N x264 /home/facade/bin/x264_HQ.sh {{Note|キューに入れられたジョブの STDOUT と STDERR は、デフォルトで、それぞれの出力 ''pid.o'' および ''pid.e'' に対応する形式のテキストファイルに記録され、qsub コマンドが発行されたパスに書き込まれます}} 別の例では、ラッパースクリプトを使用して、作業を ''まとめて'' 自動的に作成してキューに入れることができます。 == ジョブの状態の確認 == 作業状況を確認するには {{ic|qstat}} を使います: {{hc|$ qstat|<nowiki> Job id Name User Time Use S Queue ------------------------- ---------------- --------------- -------- - ----- 13.localhost generic-i686.pbs facade 00:05:06 R batch 14.localhost atom-i686.pbs facade 00:03:09 R batch 15.localhost core2-i686.pbs facade 00:01:02 R batch 16.localhost k7-i686.pbs facade 0 Q batch 17.localhost k8-i686.pbs facade 0 Q batch 18.localhost k10-i686.pbs facade 0 Q batch 19.localhost p4-i686.pbs facade 0 Q batch 20.localhost pentm-i686.pbs facade 0 Q batch 21.localhost ...ic-x86_64.pbs facade 0 Q batch 22.localhost atom-x86_64.pbs facade 0 Q batch 23.localhost core2-x86_64.pbs facade 0 Q batch 24.localhost k8-x86_64.pbs facade 0 Q batch 25.localhost k10-x86_64.pbs facade 0 Q batch </nowiki>}} {{ic|-n}} スイッチを追加することでどのノードがどのジョブを実行しているのか確認できます: {{hc|$ qstat -n|<nowiki> localhost.localdomain: 405.localhost.lo facade batch i686-generic 3035 1 0 -- 01:00 C 00:12 mars/3+mars/2+mars/1+mars/0 406.localhost.lo facade batch i686-atom 5768 1 0 -- 01:00 C 00:46 phobos/1+phobos/0 407.localhost.lo facade batch i686-core2 22941 1 0 -- 01:00 C 00:12 mars/3+mars/2+mars/1+mars/0 408.localhost.lo facade batch i686-k7 10152 1 0 -- 01:00 C 00:12 mars/3+mars/2+mars/1+mars/0 409.localhost.lo facade batch i686-k8 29657 1 0 -- 01:00 C 00:12 mars/3+mars/2+mars/1+mars/0 410.localhost.lo facade batch i686-k10 16838 1 0 -- 01:00 C 00:12 mars/3+mars/2+mars/1+mars/0 411.localhost.lo facade batch i686-p4 25340 1 0 -- 01:00 C 00:46 deimos/1+deimos/0 412.localhost.lo facade batch i686-pentm 12544 1 0 -- 01:00 R 00:20 phobos/1+phobos/0 413.localhost.lo facade batch x86_64-generic 4024 1 0 -- 01:00 C 00:13 mars/3+mars/2+mars/1+mars/0 414.localhost.lo facade batch x86_64-atom 19330 1 0 -- 01:00 C 00:13 mars/3+mars/2+mars/1+mars/0 415.localhost.lo facade batch x86_64-core2 2146 1 0 -- 01:00 C 00:13 mars/3+mars/2+mars/1+mars/0 416.localhost.lo facade batch x86_64-k8 17234 1 0 -- 01:00 R 00:11 mars/3+mars/2+mars/1+mars/0 417.localhost.lo facade batch x86_64-k10 -- 1 0 -- 01:00 Q -- -- </nowiki>}} == 参照 == *[http://www.cgl.ucsf.edu/Resources/pbs/user_guide.html TORQUE short course from University of California, San Francisco] - Good guide with templates. *[http://docs.adaptivecomputing.com/torque/5-1-0/help.htm TORQUE admin manual] - Great resource and easy to read. *[http://www.bc.edu/offices/researchservices/cluster/torqueug.html Boston College's Torque user guide] - Guide not extensive but gives a flavor for how end-users can use a cluster. Probably overkill for home clusters where only one user is submitting work. *[http://www.adaptivecomputing.com/support/download-center/torque-download/mailing-lists/ TORQUE mailing lists] - The TORQUE community is very knowledgeable and a key asset. *[http://www.clusterresources.com/pipermail/torqueusers/ TORQUE users mailing list archives] - Searchable archive of TORQUE-users.
このページで使用されているテンプレート:
テンプレート:AUR
(
ソースを閲覧
)
テンプレート:Bc
(
ソースを閲覧
)
テンプレート:Hc
(
ソースを閲覧
)
テンプレート:Ic
(
ソースを閲覧
)
テンプレート:META Related articles start
(
ソースを閲覧
)
テンプレート:Note
(
ソースを閲覧
)
テンプレート:Related
(
ソースを閲覧
)
テンプレート:Related articles end
(
ソースを閲覧
)
テンプレート:Related articles start
(
ソースを閲覧
)
TORQUE
に戻る。
検索
検索
TORQUEのソースを表示
話題を追加