このページの本文へ

前へ 1 2 3 4 次へ

【特別企画】HPCで新たなマーケットを開拓するJCSのサーバビジネス

2004年02月07日 00時00分更新

  • この記事をはてなブックマークに追加
  • 本文印刷

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ビットイーサネットなどが使用されるようになってきた。

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

SCore

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

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

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

前へ 1 2 3 4 次へ

カテゴリートップへ

  • 角川アスキー総合研究所
  • アスキーカード