Tkpvm version 1.2

references since Mar 8 1996
このファイルの最新版は、 http://www.cogsci.kun.nl/tkpvm/welcome.html にあります。
(オリジナルは英文)

tkpvmとは

tkpvmはある縁組の結果です。婿は pvm3.3.x (好ましいのは3.3.11) 嫁は Tcl7.5/Tk4.1, Tcl7.6/Tk4.2 あるいは Tcl8.0a2/Tk8.0a2 です。おそらく pvm3.4.0 でも変更無しで動くでしょうが、それは未だリリースされていなかっ たので試すことができませんでした。多分に洩れず結婚で、配遇から双方に利 益をもたらします:
PVMユーザ
Tcl言語は逐次翻訳型(インタープリタ)記述言語です。Tkpvmでpvm処 理をCやFortranに対抗してTcl言語で書くことができます。一度pvmsh やpvmwishを創るともうコンパイルの必要はありません。シェルプロ グラムのpvmshはpvmコンソールの拡張版のように見受けられます。 Tkpvmはpvmコンソールと同じような方法で仮想計算機を制御できます が、それは履歴置換('!!')や変数を持つ完全なシェルです。
pvmwishインタープリタはpvmshと同じファンクションを持ちますが、 それに加えて自前のグラフィカル・ユーザインターフェースを構築す る沢山のコマンドを持ちます。ボタン、エントリウィジェット、メニュー などがあります。今や、それぞれのプロセスがそれ自身のX11-ウィン ドウを通して入力と出力ができます。
Tcl/Tkユーザ
PVMは任意の数のホストからなる仮想並列計算機を制御するライブラ リです。プロセスを発生させたり(spawn)殺したり(kill)でき、お互 いにpvm-チャンネルを通して通信できます。それは、ソケットでのみ 動くTkの 'send' コマンドと比較されることができます。Tk(X11)無 しで走り、それゆえ、プロセスは異なるディスプレイを使い異なるホ ストで走ることができます。それに加えて、pmvshはTclによるイベン トループの制御を取り、pvmwishもTkと同様に行ないます。 そのライブラリはtclやtkに動的にロードされることもでき、準備す ることは自前のイベントループだけで、あとは(小さなパッチを Tcl/Tkに当てるとだけでもうこれは必要なくなるのがTkpvm配布の patchサブディレクトリの下に準備されてます。

今Tclで使えるpvmに関係するコマンドは:
send, recv
他のプロセスへあるいはから送信と受信ができます。
spawn, kill
他のプロセスを生成したり殺したりします。
tasks
走っているタスクの情報を要求します。
bind
pvmに関するイベントをTcl/Tkのイベントループに結わえます。これは イベント駆動のアプリケーションをプログラムするのをもっと簡単にするとても 強力なコマンドです。同様な事をCあるいはFortranでやろうとするともっとかなり 難しいことです。PVMはこれと同等な関数は持ちません。Tkはありますが、元の 機能はXのイベントに対してのみ使われます。今ではPVMのイベントでも同様に 行なう事ができます。
それからもっと沢山.....

tkpvmのインストールの仕方

Tkpvm (version 1.2) は以下のサイトよりダウンロードできます: コンフィグとコンパイルをする前に、tkpvm1.2, まずTcl(Tcl7.6p2が好ましい)とpvm3.3.x (3.3.11以降が好ましい)をインストールします。もし、図化処理機能が欲しければTk(バージョン4.2p2が好ましい)も必要です。

二者択一ですが、Tkpvm 1.2はTcl8.0/Tk8.0でも良く(かつもっと速く)動きます。 可能であれば、バージョン8.0a2以上を使いましょう。Tcl8.0a2のために必要な パッチは配布に含まれています。 もし、単独のアプリケーションをつくる事ができるようにしたければ(Tcl/Tkの インストレーションの必要はありません)、TclとTkに"plus"パッチを適用する 必要があります。: パッチファイルをTclあるいはTkのメインディレクトリにコピーし、GNU 'patch' ユーティリティを走らせます。 Gunzip(.gzファイルの圧縮を解き)とパッチは以下の場所からダウンロードできます:

しかし、もしそれができなければ、これらが適用されたTcl7.6/Tk4.2の全配布版も あります。すべての適応によりできたものはSunの公式配布と完全に上方互換です:

pvm3.3.xのために、PVM_ROOTとPVM_ARCH環境変数がいつでもセットされている 必要があることを忘れないで下さい。最も良いのは、'.cshrc' でも定義して おくことです。また、pvmのために使われる幾つかのパスを(実行モジュールの ための) 'path' 変数と 'LD_LIBRARY_PATH' 環境変数(HP_UXではLPATH あるい は SHLIB_PATH)に加えると便利です。一例として "cshrc.stub" ファイルが 用意されています。このファイルを.cshrc ファイルに追加することもできます。

pvmsh と pvmwish のためのデフォルトのホストファイルである".Pvm_hosts" ファイルをつくります。もし、このファイルをつくらなければ、現行の計算機 のみが最初のネットワークに提供されます。"addhost" コマンドで、いつでも 新しい計算機を仮想計算機として加えることができます。

"configure" を走らせて "make" します。"--enable-shared" オプションで Tcl, Tk および Tkpvm をコンフィグする事をお勧めします。この結果として 共有ライブラリがつくられ、より少ないメモリを費やさない結果としてより小 さい実行形式となります:

--enable-shared
共有ライブラリをつくることを可能にします
それに加えて、makeには以下のがあります:
static
静的な実行形式をつくります
standalone
単独の実行形式をつくります
pvmsh
pvmshをつくります
pvmwish
pvmwishをつくります
test
Makeしてテストを実行します
hello.c
tclスクリプトのCコード例をつくります
hello
tclスクリプトの単独の実行形式の例をつくります

Tcl/Tk と PVMについてのさらなる情報

ウェブ上に、Tcl/Tkホームページ があり、また、PVMホームペー ジがあります。 そして、もっと助けが欲しければ、ニュースグループcomp.lang.tclcomp.parallel.pvmがあります。

tkpvm索引にも、さらに情報があります。


written by J.Nijtmans for the MIAMI project
translated by J. Kuwamura for Japanese