コラム|Column

HPC クラスタリング

クラスタリングとは、複数のコンピュータをつなぎあわせ、全体として1 つのシステムとして利用する技術である。具体的には、コンピュータをLAN ケーブルや専用の機器で相互接続することが多い。 クラスタリングの目的には、主としてHA(High Availability :可用性を高める)とHPC の2 つがある。HA の具体例としては、Web サーバやデータベースサーバなどで負荷分散に用いられるロードバランシング機能や故障時のフェイルオーバー機能を挙げることができる。

JCS が今後のビジネスとして着目しているのは、HPC クラスタリングである。もっとも、HPC クラスタリングとひとことで言っても、その実現手法は利用目的によって異なり、使用するハードウェアやソフトウェアも多岐にわたる。

HPC とは、大量の計算を高速にこなすことである。この方法として、昔から並列計算が研究者の関心を集めてきた。これを人手で計算する場合にたとえると、「何人かで同時に手分けして計算することによって、より早く仕事をすませる」ということになる。これは、仕事を人手の数にうまく分けて、あとでまとめることによって計算時間を短縮しようという手法だが、人手A が頻繁に人手B の完了を待って結果をやりとりするような仕事にはあまり効果がない。人手をCPUに置き換えてみると、概念がつかめるだろう。人手A と人手B がしょっちゅうやりとりしなければならない場合には、手の早いスーパーマン1 人で仕事をしたほうが早いのだ。

並列計算という意味でHPC を考えると、メモリの使用方法によって、HPC は大きく3 つに分類できる。1 つは共有メモリ(Shared Memory)だ。これは、1 つのメモリ空間を複数のCPU が共有するタイプで、密結合システムとも呼ばれる。ここで紹介しているようなクラスタシステムではなく、メモリを共有するSMP 構成のマシンなどがこれにあたる。CPU とメモリ間を広帯域のバスで直結できるため、CPU 間でやりとりが生じるような利用目的でも高速な演算が可能である。

これに対し、CPU とメモリのセットをノードとし、複数のノードが相互に通信しながら並列計算を実現するのがHPC クラスタリングである。このHPC クラスタリングには、ノード内のメモリをノード固有の独立したメモリ
として取り扱う分散メモリ型のクラスタリングと、各ノードが持つメモリをシステム全体で共有して、1 つのメモリ空間にまとめ、ノード内のCPU がメモリ空間全体にアクセスできるようにする分散共有メモリDistributed
Shared Memory)型のクラスタリングがある。

分散メモリ型のクラスタリングでは、ノード内のCPU とメモリを広帯域のバスで接続できるため、それらを使った計算は高速に演算できるが、ノード間のデータ通信が処理のボトルネックとなる。一方、分散共有メモ
リ型のクラスタリングでは、ノード全体のメモリをあたかも1 つのメモリ空間として共同使用するため、各ノードのCPU は大きなメモリ空間を利用できるが、異なるノードのCPU とメモリ間の通信には遅延が生じるの
で、それを考慮して設計する必要がある。いずれにせよ、クラスタリングシステムにおいてはノード間通信の能力がシステム全体としてのパフォーマンスに大きく影響する。一般的なイーサネットやTCP/IP プロトコルでは遅延が大きいため、低レイテンシな特性を持つ特殊なハードウェアや通信プロトコルによってクラスタリングを行う場合もある。

分散共有メモリの実現には、遅延をソフトウェア的に解決する方法と、ハードウェア的に解決する方法がある。ハードウェア的な手法の代表例としては、ccNUMA などが挙げられる。

分散共有メモリ型クラスタのメリットは、計算時に大規模なメモリ空間を利用できる点にあり、大きなデータを扱う場合に有利である。しかし、上述したようにノードとなるサーバ間で高速に通信する必要がある。現在では、このようなノード間の通信技術として、Myrinet やInfiniband、10G ビットイーサネットなどが使用されるようになってきた。

SCore

SCore は、東京大学の石川裕先生が主催するPC クラスタコンソーシアムで開発されているクラスタシステムソフトウェアだ。このソフトウェアはもともと通産省(現経済産業省)が支援する新情報処理開発機構(RWCP)で開発され、RWCP のプロジェクトが終了したあと、現在のPC クラスタコンソーシアムに引き継がれて開発が続けられている。

高性能並列プログラミング環境であるSCoreは、Linuxをプラット・ホームとし、分散メモリ型/分散共有メモリ型の並列プログラミング開発及び実行環境、TCP/IP に比べ低遅延な通信を実現する高性能通信ライブラリ(PM)などを含み、ノード間通信にはGビットイーサネットやMyrinet、SCI、InfiniBandなど多様な選択肢が用意されている。


SCore は、2001年8月に1024台のPentiumⅢ(933MHz)プロセッサを搭載したクラスタ618.3GFLOPSを記録している。2004 年春にはSCore を用いた2048 台構成のPC クラスタが構築される予定である。


近未来のHPC クラスタシステム将来は、ごく当たり前に研究室に1台HPCが
置かれる時代がくるかもしれない。



≪前ページ

Contents...
・コンピュータビジネスのもうひとつの道
・テーラーメイドのサービスで差別化
・HPCクラスタは次の一手となるか
・Column