世界のスーパーコンピュータとそれを動かす人々


4月 15, 2014

HPC環境へのHadoopの適用

HPCwire Japan

Carlo del Mundo

MapReduceは今日の並列処理のユビキタスの世界において、その比較的使いやすいことでよく知られている。このモデルの美しさは、並列性、耐障害性、同期、およびユーザの入力管理の詳細を離れて、免除または抽象する能力である。通常ユーザは2つの一様な関数を使用してアルゴリズムを書く、単一の演算ノードを念頭に置いたマップとレデュースだ。MapReduceのフレームワークは、これらの機能を取り込み、自動的にコモディティクラスタ上で、それらを並列化する。このプログラミングの面倒の無い方法は、多くのサーバ間でスケーラビリティのある高いプログラマの生産性を提供している。

現在までのところ、最もポピュラーなMapReduceの実装は、Hadoop分散ファイルシステム(HDFS)を活用したApache Hadoopだ。しかし、国立エネルギー研究科学計算センター(NERSC)が採用しているような現在のHPC環境では、共有ディスクファイルシステムを使用している。ニューヨーク州立大学Binghamton校のコンピュータサイエンス学科の准教授であるMadhusudhan Govindarajuは述べている、「既にPOSIXに準拠の高性能のファイルシステムに依存している多くのHPC環境の中では、HDFSは好まれていません。」

それでも共有ディスクファイルシステムを使用しているHPC環境にHDFSを統合することは可能だ。しかし、このようなHPC環境にHDFSをshoehorningすることは、性能に悪影響を与える間接の層を必要とする。ソフトウェアスタックは、Apache Hadoopの制約の下で動作するように変更されている。 Govindarajuは「特定のソフトウェアスタックのためにクラスタを分割することは、資源の非効率的な利用率をもたらし、MapReduceの利用者はHPCインフラをフルに活用することができません。」と強調している

HPC環境をサポートする上での問題に対処するためにGovindarajuと彼のチームは、NERSCが提供するようなポピュラーなHPC環境に最適である新しいMapReduceのフレームワークを開発した。MARIANE(MApReduce Implementation Adapted for HPC Environments)と呼ばれる、そのフレームワークは、Apache Hadoopに関連したパフォーマンスの低下無しの高性能を維持を念頭に置いて共有ディスクファイルシステムで設計されている。

MARIANEは、いかなるMapReduceにおける同じ基本的な教義に従っている。(1)耐障害性、(2)高スループット、および(3)データ管理。耐障害性は、自動的に検出し修理可能なエラーから回復することが、このようなフレームワークのための最も重要な目標であることに焦点を当てている。次に、MapReduceのジョブは最終的に数百テラバイトのデータである非常に大規模なデータセットにおいて高スループットを必要とする。そのようなフレームワークにおけるデータ管理は、小さなチャンクにデータを細分化し、それぞれのハードウェアに適切にスケジュールする。

MARIANEによって、MapReduceのパラダイムの適用は、システムのパフォーマンスを損なうことなく、HPC環境の広い配列に拡張される。 Govindarajuと彼の研究者は、大幅なパフォーマンスの向上と、典型的なHPC環境の下では、Apache Hadoopに比べて、アプリケーションのオーバーヘッドの減少を示している。

我々は最近、いかにHPCがHadoopをハッキングしているかというコンテキストで、サンディエゴスーパーコンピュータセンターで話をした。(この傾向がどのように発展しているかに対するより個人的な態度を捜すもののための固定した読み取りである)