天野研究室で開発している並列計算機は、キーボードやディスプレイ、ハード ディスクなどの周辺機器を持っていません。このような計算機を使うためには、 何らかのネットワークを使ってワークステーションに接続し、ワークステーショ ン上からネットワーク越しに計算機を操作したり、プログラムを実行させたり といったことを行います。
このような並列計算機を制御するプログラムをワークステーション上で用意す るわけですが、計算機ごとに違うプログラムを用意したり、それぞれのプログ ラムを別々に管理するのは手間がかかって大変です。そこで、SEDグループで はこのワークステーション側のプログラムを統一することにしました。それが Pot です。
Pot は、EtherNet (TcpまたはUdp) や RS-232C というデバイス経由で並列計 算機をコントロールするためのユーザインタフェースです。ユーザが Pot の コマンドプロンプト上で命令を入力すると、Pot はその指示された動作に応じ たパケットをネットワーク経由で操作対象の計算機に送信します。パケットを 受けた計算機のモニタは要求に応じた動作を行い、実行結果を Pot に送り返 します。
異なる並列計算機を同じワークステーション側のプログラムで制御するために は、通信手順(これをプロトコルと言います)を統一する必要があります。SED グループではこのプロトコルを、GNUのgdbで使用されているプロトコルを拡張 する形で作成しました。また、並列計算機上の制御プログラムの開発も担当し、 Potのプロトコルで動作するように設計しています。
実行できるワークステーションを限定せず、しかもいつでも同じ手順で呼び出 せるようにするために、Pot は perl5 のスクリプトで記述しています。perl の持つ柔軟な記述能力を生かして、シェルに似た対話的実行やスクリプトファ イルによる非対話的な実行を小さいプログラム量で実現しています。プログラ ム量を小さく抑えることで、メンテナンスに必要な労力の軽減も図っています。
今のところ、可変構造並列計算機 ATTEMPT-1と超並列計算機 JUMP-1をPotで動作させています。