(4/7)
4. 1,024台PCクラスタの実装
4.1 ハードウェアの設置
次のような手順で進められた。
- 筐体を設置するための床の補強
- 512台のPCサーバが収められる16ラック内のEthernetケーブル配線
ケーブル長を合わせて配線を行う。このために4人の専門家が2日間を要した。
- 4ラック毎にサーバの設置および配線
このために5人が4日間を要した。
4.2 ソフトウェアのインストール
SCoreはEITと呼ばれるネットワーク経由でインストールするツールを提供している。新情報処理開発機構では、64台規模までのクラスタ設置において、EITの使用実績がある。大規模クラスタにおいては、ネットワークが高負荷状態になり、インストールに支障を来たすと判断し、以下に述べるディスクブート方式を採用した。
以下の内容からなるディスクイメージを作成した。
- ブートイメージ
- インストールに必要なbinary RPM ファイル
- 改良版anaconda インストレーションツール
- インストレーションスクリプトファイル群
このイメージを各PCサーバのディスクにコピーする。新情報処理開発機構が2000年に製作した64台PCサーバから構成されるSCore IIクラスタは、SCore IIIで使用したPCサーバと同じシリーズのPCサーバを使用している。PCサーバのディスクはリムーバブルディスクなので、SCore IIIのディスクを取り出し、SCore IIクラスタに装着しコピーした。すなわち、SCore IIクラスタをコピーマシンとして使用した。
コピー時間は次の通りであった。SCore IIは研究開発に使われていたため、半分の32台をコピーのために使用した。
- 32台のホストに、ディスクイメージをコピーするのに2分間
- Myrinet ネットワーク経由でイメージをコピーした。
- 128 台のディスクにコピーするのに6 分間
1台のPCサーバに4台のディスクを装着できまる。
コピーしたディスクを実機に装着して電源を入れると以下の手順でインストールが行なわれる。
- 第一フェーズ
ディスクの最初のパーティション以外をパーティショニングしてフォーマットする。ディスクイメージを作成するときに、ディスクのgeometry情報が得られないため、最初のフェーズで、パーティショニングする。
- 第二フェーズ
- ファイルシステムを作成する。
- サーバからIPアドレスを取得する。サーバ上ではあらかじめDHCPデーモンを立ち上げておく。DHCPデーモンのコンフィギュレーションファイルにMACアドレスとIPアドレスの対を定義して、IPアドレスを固定しておく。
- anacondaを起動し、ローカルディスク上のRPMファイルを使ってソフトウェアのインストールを行なう。
4.3 テスト
以下の手順でテストを行なった。
- 接続テスト
ラック内コンピュータ、モジュール内コンピュータ、全てのコンピュータ、の順に接続テストを行なった。
- SCoreが提供するrcstestコマンドによる全体全通信テスト
rcstestはランダムに通信を行うテストプログラムである。一昼夜動かすことによってネットワークの初期不良を検出することが可能である。
一般に、Ethernetの場合、ifconfig等のコマンドを使って、エラーやコリジョンの発生数を確認する。もしも、エラーの数が大きくなっていた場合には、ケーブルの接続不良やNICの装着不良あるいは故障、スイッチの故障を疑う。今回、このようなことは生じなかった。
Myrinetの場合、/proc/pm/myrinet/info/0 の内容を見て、CRCエラーが生じているかどうか確認する。一時間に何十回とCRCエラーが生じている場合には、ケーブルの接続不良、NICの装着不良あるいは故障、スイッチの故障等を疑う。
- キラーアプリケーションによるストレステスト
rcstestでも見つからない不良がある。Myrinetネットワークの場合には、大量のパケットを送受信することによりNIC上のLANaiプロセッサおよびメモリにストレスをかける必要がある。また、PC側のメモリやバスにもストレスをかける必要がある。このようなストレスをかけるためのアプリケーションを実行する必要がある。新情報処理開発機構では、そのようなアプリケーションを持っていないので、NAS並列ベンチマークやLinpackのようなベンチマークプログラムを走らせることにより、初期不良ハードウェアの検出を行なった。