テルネットによる分散処理・マルチマシン並列コンピューティング
Parallel Telent (パラレルテルネット) は、複数のパソコンを同時に使って複数のコマンドを並列実行するためのソフトウェアです。時間のかかるコマンド処理が多数ある場合に、それらを複数のマシンで分散処理できます。単なるテルネット クライアントとしても使用できます。
多数のコマンドを複数のマシンで実行する場合、通常なら、複数のバッチ ファイルを作成して、各マシンで実行することになるでしょう。しかし、この方法では、負荷を均等に配分するのが困難で、多くのマシンが処理を終えたのに一部のマシンだけいつまでも実行を終えないようなことになりがちです。バッチ ファイルの実行を開始した後で、未実行のコマンドを追加・削除・変更するのが難しく、コマンド間に依存関係がある場合 (マシン A で処理したデータをマシン B でさらに処理するといった場合) も対応が困難です。こうした問題を Parallel Telnet は解決します。
[※イラスト部品は来夢来人の提供です]
Parallel Telnet における分散処理の単位は、「アトム」と呼ぶコマンド グループです。それぞれのアトムには複数のコマンド (コマンドラインで実行できるコマンド) を登録できます。Parallel Telent 上で複数のアトムを定義し、複数のリモート サーバーに接続すると、各アトムが順次空いているサーバー接続で実行されます。
それぞれのアトムについて、別の特定のアトムが終わってからのみ実行するとか、特定の接続でのみ実行できるといった条件を指定することもできます。
※1 また、Windows 2000 以上の Professional 版には、テルネット サーバーが付属しています。
※2 文字セットなどの通信プロトコルに互換性がある場合。
時間のかかる test 1、test 2、test 3 という 3 つのコマンドを、192.168.1.11 と 192.168.1.12 で稼働している 2 つのテルネット サーバーで分散処理することを考えます。まず次のように Parallel Telnet に入力します。
!atom test 1 echo #END# !end-atom !atom test 2 echo #END# !end-atom !atom test 3 echo #END# !end-atom
これで A1、A2、A3 の 3 つのアトムが登録されます。ここで次のように入力します。
!open 192.168.1.11 !open 192.168.1.12
これにより、C1 と C2 の 2 つの接続が開かれます。開かれた直後の接続はレディ状態になります。
まず最初のアトム A1 が最初の接続 C1 に割り当てられ、test_1 コマンドの実行が始まります。直後に 2 番目のアトム A2 が 2 番目の接続 C2 に割り当てられ、test_2 コマンドの実行も始まります。3 番目のアトム A3 は、レディ状態の接続がもうないため、すぐには実行されず待機します。
しばらくして test_1 の実行が終了すると、echo #END# が実行されて Parallel Telenet がアトム完了指標文字列 #END# を受信することになります。この結果、アトム A1 は完了し、A1 を実行していた接続 C1 はレディ状態に戻ります。
待機していたアトム A3 が、レディ状態になった接続 C1 に割り当てられ、実行を開始します。C1 は再び占有状態になります。
このような形で、存在する接続をフルに活用しながら、複数のコマンドを同時に分散処理することができます。
上記コードの実行結果例
(※最初に !system-msg-color 0 とし、接続先として localhost を使用)
ローカルエコー | あり |
---|---|
送信単位 | 行単位 |
文字コード | Shift JIS |
ダウンロードされた ParallelTelnet.zip を展開して、中身を任意のフォルダに置いてください。Personal 版として使用できます。
Parallel Telnet には無料の Personal 版と有料の Professional 版があります。Personal 版では最大 2 つのサーバーにしか接続できませんが、Professional 版では任意の数のサーバーに接続できます。
Professional 版を購入するには、ここをクリックしてください。
多摩ソフトウエア有限会社
info@tamasoft.co.jp
〒120-0034 東京都足立区千住3-6 ツォード千住 壱番館801
※ご要望、ご質問などありましたら、お気軽にお寄せください。
Last updated at