machconfを(NFSまたはrcpなどで)共有で
きること,複数のマシンを利用する場合, 以下のステップが必要になる.
machconfという名前のファイルを作成し, そ
こに利用するマシンおよびポート名の組を列挙する. プログラムは起動する
と, machconfを参照して, プログラムの実行に参加しているプロセス
間で通信路を確保し, その後それを用いて通信を行なう. 例えば,
piccolo, luteという2台のSunを用いてプログラムを実行する場合,
machconfには例えば次のように書く.
piccolo 12345 lute 12345ここで右側の12345は使用するポート名であり, 10000以上の数字で他のプログ ラムが使用していないものを使用できる. 同一プログラムを複数立ちあげる場 合, 各プロセスが別のポート番号を使うようにしなくてはならない. また, ポー ト番号をかえれば1台のマシンに複数のエントリを書くことも可能である. 例 えば,
piccolo 12345 piccolo 12346も, 有効な設定である.
また, #で始まる行はコメントとして無視される.
machconfで指定した全マシンで手動で立ちあげなくてはな
らない.
この時に, 注意として,
-proc_idx
idまたはその略記である-p idを与え, プロセッサ番号を
指定する. ここで, idは立ちあげた順に, 0, 1, 2, fib.sunという実行可能ファイルを生成し, それを以下の
machconfファイルにある設定の元で走らせたいとする.
piccolo 12345 lute 12345この場合まず最初に
piccolo上でプロセッサ番号0を指定して,
fib.sunを起動する.
piccolo% ./fib.sun -p 0すると間もなく, 次のようなメッセージが表示される.
piccolo% ./fib.sun -p 0 piccolo readyこのメッセージは, そのプロセスが他のプロセスからの接続要求を受理できる ようになったことを示している. このメッセージがでたら, 次に
lute
上で同じプログラムを立ちあげる.
lute% ./fib.sun -p 1これによって二つのプロセス間で接続が確立され, プログラムの実行がはじま る.
-proc_idxと-pは同じ意味であるが, それらがともに指定され
た時は, -proc_idxを優先する. これによってプログラムが他の目的で,
-pを使用したい場合は, -proc_idxを使用すれば良いことにな
る.