comp0
〜comp7
、とクラスタ データベース
サーバ (scoreboard
) と計算ホスト ロック サーバ
(msgbserv
) が動作しているサーバホストがあるとします。
これは scout
環境を用いてクラスタ上で hello
コマンドを
実行した例です:
$ export SCBDSERV=server $ msgb -group pcc $ scout -g pcc SCOUT: Spawn done. SCOUT: session started $ scrun -nodes=8 ./hello SCORE: connected (jid=100) <0:0> SCORE: 8 hosts ready. Hello World! (from node 2) Hello World! (from node 5) Hello World! (from node 3) Hello World! (from node 6) Hello World! (from node 4) Hello World! (from node 7) Hello World! (from node 0) Hello World! (from node 1) $ exit SCOUT: session done $
hello
を実行する手順は以下のとおりです:
scout
は scoreboard
デーモンに、グループに
登録されている計算ホストのリストを問い合わせるメッセージを送信します。
msgbserv
デーモンに、プログラムの排他的な使用のために、
8つのノードを確保することを依頼する要求メッセージを送信します。
もし8つのノード全てを確保できる (他の SCore プログラムが現在使っていない)
なら、承認メッセージが返送されます。
msgbserv
がロックされている間、scout
は
scremote
と呼ばれる制御プロセスを各計算ノード上に生成します。
それから msgbserv
のロックは解放されます。
scrun
がプログラムを実行すると、scout
に確保した
8台の計算ホスト上でプログラムを実行するよう要求します。
次に scout
は msgbserv
をロックし、
ユーザに代わって scremote
プロセスに対して、
計算ホスト上で scored
オペレーティング システムをフォーク、
実行するように要求します。
scored
プロセスはユーザのプログラムが完了するまで
フォーク、実行します。
プログラムが完了すると、 scored
プロセスは終了し、
msgbserv
はロック解除されます。
scout
が終了すると、msgbserv
は再びロックされ、
scremote
プロセスは終了します。
msgbserv
のロックは最後に解放されます。
計算ホスト ロックサーバがロックされていないとき、他のユーザがまだクラスタを
使うことができるということに注意すべきです。
msgbserv
がロックされるたびに、msgb
ウィンドウ内に
表示されるブロックが赤色に変わり、ホストをロックしたユーザ ID、ホストが
ロックされた時間、およびホスト名が連続して表示されます。
![]() |
PCクラスタコンソーシアム |