特集
» 2006年09月26日 13時39分 UPDATE

Leverage OSS:オープンソースのクラスター管理システム (1/2)

複数のコンピュータをつなげることで高速スーパーコンピュータに匹敵する性能を実現するクラスター管理ソフトウェア。ここでは、オープンソースのクラスター管理システムを5つ紹介しよう。

[M.-Shuaib-Khan,Open Tech Press]
SourceForge.JP Magazine

 コンピュータの世界では、「クラスター」という言葉はソフトウェアとネットワークで結ばれた独立したコンピュータ群を指す。計算量の極めて大きい処理に使われることが多く、比較的低速のシステムを数百から数千台接続して高速スーパーコンピュータに匹敵する性能を実現することができる。容易に使えるようクラスター管理ソフトウェアが用意されており、ジョブの待ち行列を自動処理する。ジョブの実行に必要な条件とクラスター内で利用可能なリソースを突き合わせ、またジョブをクラスター内の適切なシステムに移動させる。本稿では、そうしたオープンソースCMSアプリケーションを5つ紹介する。

openMosix

 openMosixは、オープンソース・クラスターリング・ソリューションとしては最も有名なものだろう。2002年にMoshe Barが始めたプロジェクトで、Mosix CMSのオープンソース版であり、拡張版である。通常のLinuxカーネルをクラスター対応にするパッチとして提供されている。openMosixは単一システム・イメージ(SSI)クラスターリング方式だ。つまり、ユーザーアプリケーションからは、ネットワーク上に分散した複数のリソースがローカルに存在する単一のリソースとして見える。また、実行中に新しいノードを検出しそのリソースを利用できるようにする自動検出機能がある。つまり、動作中にノードの追加が可能だ。

 openMosixには、負荷の高いノード上にあるジョブを負荷が少なくそのジョブを高速に処理可能なノードに移動(マイグレーション)させる負荷分散機能がある。このジョブマイグレーションは透過的だ。つまり、対象となったジョブが移動の事実を検知することはなく、ローカルで実行を続けているかのように振る舞う。広範なアプリケーションを実行でき、しかも特別なプログラミングは不要である。

 インストールには、まず、カーネルパッチとユーザーランドツールの2つのファイルをダウンロードする。次いで、DebianユーザーはAPTを、Gentooユーザーはemergeを実行する。

 欠点としては、カーネルへの依存性がある。カーネル2.4バージョン用には安定版がリリースされているが、2.6カーネル用のユーザーランドはまだ開発中だ。

Kerrighed

 Kerrighedも、SSIクラスターリングパッケージである。 openMosixと同様、カーネルパッチとカーネルモジュールから成る。付属のスケジューリングアルゴリズムにより、プロセスやスレッドが自動的にクラスター内のノードを移動し、CPUの負荷を平準化する。スケジューリングアルゴリズムをカスタマイズすれば、ストリーム(ソケット、パイプ、キャラクタデバイスなど)を扱うプロセスを通信のパフォーマンスを落とすことなくシームレスに移動させることもできる。さらに、スレッド化したアプリケーションの全体だけでなく、1つ1つのスレッドも移動できる。また、プロセス・チェック・ポイント機能もあり、クラスターノード上のプロセスを中断し、任意のノード上で再開可能。分散共有メモリ(DSM)にも対応し、各ノードは小さな専用メモリのほかに、大きな共有メモリ領域にもアクセスできる。

 欠点としては、運用中にノードの挿抜ができない点が挙げられる。

 利用可能なシステムはインテルプロセッサ(IA32)上のLinuxシステムで、クラスター全域から使える共有ファイルシステムが必要。2.4.29、2.4.24、2.2.13用がある。2.6.11用は開発中。

OpenSSI

 OpenSSIも、その名の通り、シングル・システム・イメージ・クラスターリング製品である。ホームページでは、「可用性・拡張性・管理性を標準サーバで」と謳っている。クラスター運用中にノードの挿抜が可能。Mosixのプロセスマイグレーション機構を採用し、クラスター内のCPU負荷を動的に分散させることができる。スレッド化プロセスの移動も可能。

 主要な特徴の1つにクラスター全域の単一ルート・ファイル・システムがある。ext2とext3のファイルシステムを任意のノードにマウントすると自動的にスタックされ、直ちにクラスターのすべてのノードからそのマウントポイントが見えるようになる。クラスターの全ノードにLinuxディストリビューションをインストールする必要はない。従って、1つのノードにディストリビューションをインストールしOpenSSIをそのノードにセットアップすれば、ほかのノードはネットワークブートするだけでクラスターに追加できる。

 プロセス管理は完成の域にあり堅牢だ。プロセスはクラスターレベルで管理され、固有のPIDを持ち、プロセス間通信(IPC)はクラスターレベルで可能。

 MPICH、LAMPI、HP MPI、openPBSなど、多くのオープンソース・ハイパフォーマンス・コンピュータ(HPC)ミドルウェア製品で動作を確認済み。また、LTSP (Linux Terminal Server Project)、Apache(1.3, 2.0)、Jakarta Tomcat 4/5、BEA WebLogic Server 9、NDB Cluster付きMySQL StandardまたはMySQL Max、Sybase、PostgreSQL、Sendmail、Postfix、Dovecot、SpamAssassin、ClamAVなど、多様なサーバでの動作も確認されている。基本的にカーネル2.4と2.6で動作するサーバなら利用可能。

 OpenSSIで一番大きな制約は、クラスター当たりの最大ノード数が125という点だ。OpenSSIは、現在、Fedora、Debian、Red Hat 9用がある。SUSE 9.2向けは作業中。

関連キーワード

Leverage OSS | オープンソース


       1|2 次のページへ

Copyright © 2010 OSDN Corporation, All Rights Reserved.

Loading

ピックアップコンテンツ

- PR -

注目のテーマ