PR

分散処理 PelikanHPC の基本?

計算ノードをネットワークに配置して分散処理する PelikanHPC の基本的な動作を見る。ここでは pelicanhpc-v2.2+eps-i386.iso を利用した。

概要

マスター側はVMware でも実機でも対象アプリケーションを使用できるように(少なくとも1つはLiveCDではなく)Linux を構築していることが望ましい(気がする)。もしLiveCD だけを使いたいなら、少なくとも実行結果を任意の場所に保存(マウントしたディスクやネットワーク経由で)できるスキルが必要(だと思う)。純粋に計算だけを行いたいなら別だがファイル処理等の場合は保存が必要になるだろう。

  1. マスター:起動(10.11.12.1)
  2. マスター:pelican_setup を実行しネットブート(PXE)に必要な状態にする(待機)
  3. 計算ノード:起動(BIOSのNetboot機能で10.11.12.1を見つけて起動する)
  4. 計算ノード:計算ノードの数だけ2を繰り返す
  5. マスター:Pelican HPC を リスタートしてノードを接続する
  6. マスター:計算を実施する

※この記事は多くの「たぶん」が含まれる。(以下の「訳」を含む)&慣れれば簡単なのだろうが、現在のところ敷居が高く感じる。
※どうやらPelicanHPC は独自の(隔離された/専用の)ネットワークにするほうが良いらしい。

LiveCDから起動する

Enter。

スポンサードリンク

ram1のままOK。(または「sda2」「hdb5」など)

(原文)Do NOT type anything into this input box, it is only for the convenience of advanced users who have experience using PelicanHPC, and who have read the documentation to learn what is used for . Press <enter>to continue

(訳)この入力ボックスに何も入力しない、それがPelicanHPCを使用して経験を持ち、何に使用されるか学ぶためにドキュメントを読んでいる先進的なユーザーの便宜のためのみです。<エンター>で続行します

Noを選択する。

(原文)Copy user configuration and examples /home/user? You should probably choose YES unless you are using a specially made version of PelicanHPC that uses a permanent storage device, and you already have a setup you would like to keep.

(訳)ユーザー設定や/home/user/ をコピーしますか?あなたは、永続的なストレージデバイスを使用する PelicanHPC の特製バージョンを使用している限り、あなたはおそらくYESを選択する必要がありますし、あなたがすでに保存している場合も。

Yesを選択した場合は examples 等が /home/user に作成される。

(原文)Copy user configuration and examples /home/user? You should probably choose YES unless you are using a specially made version of PelicanHPC that uses a permanent storage device, and you already have a setup you would like to keep.

(訳)ユーザー設定や/home/user/ をコピーしますか?あなたは、永続的なストレージデバイスを使用する PelicanHPC の特製バージョンを使用している限り、あなたはおそらくYESを選択する必要がありますし、あなたがすでに保存している場合も。

パスワードを設定する。空パスワードも可能。

(原文)Welcome to PelicanHPC. Please type in a password, and then press <enter>to continue

(訳)ようこそPelicanHPCへ。パスワードを入力してください。<Enter>で続行します。

ユーザ名「user」と、先ほど設定したパスワードを入力する。ここで失敗する場合はメモリ量に問題がある可能性もある。

startx コマンドを実行した場合

GUIが起動する。ターミナルから pelican_setup コマンドを実行することも可能。

pelican_setup コマンドを実行した場合

※キーマップが異なるため、アンダーバー「_」は、Shift+「ほ/-/=」キーで入力する。
※複数のNICを搭載している場合、以下の画面が出る前に選択画面が表示される。

Yesを選択。

(原文)We new get ready to set up the cluster by starting sevices the will allow the compute nodes to netboot.IMPORTANT: do not proceed if your cluster is on an existing network, or PericanHPC’s dhcp server may conflict with a running dhcp server. Continue?

(訳)ネットブートで新しい計算ノードを追加し、クラスタを設定する準備をしなさい。重要:お使いのクラスタがPericanHPCのDHCPサーバと既存のネットワーク上にある稼動中のDHCPサーバと競合する可能性がある場合は続行しないでください。続行しますか?

Yesを選択。

(原文)Time to bring the compute nodes into the cluster. If you are resizing a running cluster, be aware that continuing will interrupt any running MPI jobs. Continue?

(訳)クラスタに計算ノードを変更した時や、あなたが実行中のクラスタのサイズを変更した場合は、実行中のすべてのMPIジョブが中断されますので注意してください。続行しますか?

Noを選択するとネットワークをスキャンする。Yesを選択すると抜ける。

※この状態にして計算ノードをネットブートさせる。起動が完了したら上記画面でNoを選択し、計算ノードをスキャンして追加する。
※ネットブートした計算ノードでは10.11.12.1 から起動できても、起動中にルーティングできずに停止することがあるので注意する。

(原文)Go turn on your compute nodes now. At the moment 0 compute nodes (not counting this frontend node) are available. Click no to rescan the available nodes. Click yes when the desired number of nodes are avalable. You might want to wait a bit if come nodes are still finishing booting up.

(訳)あなたの計算ノードをオンにします。現時点では0個の計算ノードが使用されます(このフロントエンドノードはカウントされません)。Noをクリックすると利用可能なノードを再スキャンします。利用可能なノード数が正しければ Yesをクリックします。ノードが起動中の場合はしばらく待ってください。

OKを選択。

(原文)Your cluster of 1 nodes is (probably) lambooted. If there was a problem, just re-run the script.The nodes in the cluster are listed in the file ~/tmp/bhosts. If you add or remove compute nodes, re-run ths script (pelican_restart_hpc) whenever you like.

(訳)1つのノードのクラスタが(たぶん)lambootedです。問題があった場合は、スクリプトを再実行してください。クラスタ内のノードは、~/tmp/bhosts ファイルに記載されています。追加または削除する場合、いつでも好きなときにpelican_restart_hpc スクリプトを再実行してください。

現在の計算能力が表示される(たぶん)。

※この後startx コマンドでGUIへ移行することも可能。

計算ノードの起動と分散処理結果

マスタ側

テストのためにマスタをVMware Server 1.0.10 に作成した。基本的にダウンロードしたiso をCD ドライブにマウントして通常起動しただけのもの。ネットワークアダプタについてはHost-Only ではダメだったが、Bridge 接続の時に期待した動作をした。

動作としては、例えば一旦192.168.1.19でboot し、pelican_setup の時にLink Down する。そして10.11.12.1 としてLink Up するようだ。

計算ノード側

端末の電源を入れ、LAN からの起動を選択する。勝手に10.11.12.1 のネットブート用ファイルを読み込み起動する。それ以外の操作は必要ない。

計算速度

2台の端末を用意して実験した。

1台の時:

HPC Test
Quantity of Processors = 1
Calculation time = 4.24 seconds
Cluster speed = 427 MFLOPS
Cluster node N00 speed = 427 MFLOPS

2台の時:

HPC Test
Quantity of Processors = 2
Calculation time = 2.32 seconds
Cluster speed = 774 MFLOPS
Cluster node N00 speed = 387 MFLOPS
Cluster node N01 speed = 387 MFLOPS

ネットワーク情報の確認

$ sudo ifconfig 等でIPアドレス情報を確認するなどできる。例:

  • Address: 10.11.12.1
  • Broadcast: 10.11.12.255
  • Mask: 255.255.255.0

コメント