research
私は実はこんな研究をしているのですね。
PCクラスターの構築
PCクラスターとは何ぞや?
と言いますと、簡単に言えば、
PC同士をつないで計算速度を上げてしまえ
って奴でどうやら1990年以降細々と流行しつつある研究だそうです。
俺が行っているCFD計算では、結果が出るまで相当時間がかかるので
計算能力を上げてしまおうという背景があるのですね。
構築方法は現在主流なのが
OS LINUX(RedHat系)
Compiler PGI
通信ライブラリ MPICH
上以外の構成でも構築可能だと思うが
誤作動する可能性があるので
流行に乗ってしまおうということで
LINUX & UNIX 初心者の俺が構築を担当してます。
まずは、dualCPU搭載マシンを2台準備
CPUはペンティアム3
現段階ではクロスケーブルで2台を双方向通信
networkカードは、イーサネット100ベース
マシンにRedHat Linux ver7.2をカスタムインストールし
NFSと言われるPC2台の間の共有フォルダー(ディレクトリ)を作成
FTPを組み込み
HDDのパーティションはNFSを設定する/homeに大半を与える。
ここまでは、PCを購入した業者の方に行ってもらいました。
当然の事ながら、俺がやり直す事は不可能に近い
おそらくPCのどこかにインストール設定方法が記述されている
ファイルがあるだろうから、後でそいつを確認しておこう。
次にPGIコンパイラをお試しライセンスでインストール
後日正式なライセンスの元インストールしなくてはならない。
最後にMPICHをインストール。
これも業者の方に設定して頂いたが
先程の正式ライセンス交付以後、
俺がMPICHのインストールを行わなければならない。
後日、PGIの正式なライセンスファイルが届くが
どうやら1ユーザしか使えないらしく
rootや他のユーザではPGIでコンパイル
できない契約が結ばれている…
出来れば、マルチユーザで計算させたかったのだけど
まあ、とりあえずライセンスユーザでやれるのだから
OKということで
さてMPICHを/usr以下のディレクトリで
インストールしようとしたところ
rootで全ての作業を行ったら
何故かmpiccしか動作しない
(何てこったい!C++って使ったことねえ
ちなみにFortran90で計算を実施する予定)
業者の方から教えていただいた情報では
作業前にまず
rshを有効にする為に
PGIライセンスのあるユーザの/home/ユーザ
で.rhostsを作成
MPICHのコマンドパスを設定
インストール作業はこんな感じ
MPICHの圧縮ファイルをダウンロードし /use/local/srcに展開
# cd /usr/local/src
# tar xvzf mpich.tar.gz ←解凍ですね
このディレクトリでmpich-1.2.4が誕生
# cd mpich-1.2.4
# export F90=pgf90 ←環境変数設定です。
pgf90はPGIコンパイラでのf90コマンド
# export F90LINKER=pgf90 ←リンカーの設定
# ./configure --prefix=/usr/local/mpich ←コンフィグです。
インストール先を指定しました。
# make
# make install ←これがインストール
# vi /usr/local/mpich/share/machines.LINUX
計算ノードの登録です。
ちなみにdefaultではmachines.LINUX ファイルには
インストールしたPC(俺の場合host)の名前が5行羅列してます
#
# 説明文らしきコメント行
#
host
host
host
host
host
これに対し俺のPCノードを登録する為編集
#
#
#
host:2
machine1:2
その後いろいろ調べてみると
失敗原因はPGIライセンスを持つユーザで
MPICHのインストールを行わなければならないらしい。
rootだと上手くいかない様だ…くそ、基本的なことじゃないか
対策としては、
そのユーザにroot権限を持たせるか
root権限が不要なディレクトリでインストールする
ことになると思う。
(初心者なのでこれぐらいしか思いつかない…)
まずユーザにroot権限を持たせるため
sudoコマンドを実行したが、makeできず…
次に MPICHの圧縮ファイルを/tmpで展開
こうするとインストール作業をPGIライセンスユーザでやれる。
ということで
インストール前に
/usr/local/mpichをそのユーザ所有に変更し
インストール開始!
画面を見ていると、何だか上手くいきそうな気がする。
ぬが、しかし、
machines.LINUXの編集を行うと
MPIテストコンパイルは成功するが
実行でPCが止まる
編集しないと、何故か
コンパイル、実行が可能で見事にCPU4台で
計算可能??
なんじゃこりゃ
とりあえず、ダウンロード先のサイトにあった
manualで確認しなければ(但し ALL ENGRISH)
あがが、ここまで判明するのに相当時間を食っている
その後の調査により
PGIコンパイラーのファイルがクライアント側PCに含まれていない
ことによって、エラーが起きているらしい
ということで
/usr/pgi