並列計算クラスタサーバ構築

ここでは、並列に計算させるためのクラスタ(HPCクラスタ)を構築していきます。

並列計算させる代表的なものとして、「物理系」や「医療系」のシミュレーションがあり、それなりに大きなリソースが必要になります。この大きなリソースを解決するためのものとして、ネットワークに繋がっているパソコンを使って並列に計算処理をさせると言うことを行っています。

一台のマシンでは、多くの時間がかかってしまう処理でも並列に処理をさせれば速く処理が出来ちゃうと言うことですね。

今日では、デュアルコア、クアッドコア、ヘキサコア、オクタコアなど出てきているので、このCPUが載っているマシンをネットワークで繋いで並列に計算させればかなり速いクラスタが構築できますね。

もし、複数マシンが余っていて並列処理に興味がある方は実際に構築してみては如何でしょうか? 以外におもしろいと思いますよ。 また、卒業研究などのネタとか・・・。

それでは、今回構築するサーバのネットワーク図です。


簡単に説明をします。

簡単に説明をします。

■使用OS
CentOS 32bit
CentOS 64bit

■並列計算に使用するライブラリ
MPICH(古い)
MPICH2(最新版)

上記2つの違いについては、以下URLを参照してください。
http://d.hatena.ne.jp/stakizawa/20050726/t1

■使用するJMS(Job Management System)
OpenPBS(古い) (CentOS 32bit対応 64bit非対応)
Torque(最新版) (CentOS 32bit 64bit対応)

■その他使用ソフト
NFS
NIS
rsh

■管理サーバ(ホスト名:kanri.local、kanri)
このサーバは、データ、ジョブを管理しリソースが空いている計算ノードにジョブを振り分けます。
JMS(Job Management System)には、OpenPBSまたは、OpenPBSから派生したTorqueを使用します。

■計算ノード1(ホスト名:node1.local、node1)、2(ホスト名:node2.local、node2)
このサーバは、管理サーバから送られてきたジョブを処理します。

DNSサーバは構築しません。(全てのホスト名を/etc/hostsに記述します。)

それでは、構築していきます。

補足
今回は、シングルコアのマシンがネットワークに繋がって並列に計算できるように構築します。
ちなみに、デュアルコア以上のマシンであれば、MPICHをインストールするだけで2コア以上使用して計算することが出来ます。
ようするに、1台のマシンのデュアルコアで目的の計算が事足りる場合は、上のようなクラスタを構築しなくとも、1台のマシンにMPICHをインストールし、そのマシンの2コアを使用して計算が出来るので大丈夫です。

Comments are closed.