Skip to main content
QUICK REVIEW

[論文レビュー] M3R: Increased performance for in-memory Hadoop jobs

Avraham Shinnar, David Cunningham|arXiv (Cornell University)|Aug 21, 2012
Cloud Computing and Resource Management参考文献 13被引用数 56
ひとこと要約

M3R は、ディスク I/O を排除し、メモリ内データ構造を活用することで反復的かつメモリ上に保持されるワークロードを高速化する、高性能なメモリ内 Hadoop MapReduce エンジンです。従来の Hadoop ジョブを変更せずにサポートしながら、データレイアウトの最適化、シリアル化のオーバーヘッド削減、X10 を用いた実行による直接キャッシュアクセスにより、スパース行列演算で最大 45 倍の高速化を実現しています。

ABSTRACT

Main Memory Map Reduce (M3R) is a new implementation of the Hadoop Map Reduce (HMR) API targeted at online analytics on high mean-time-to-failure clusters. It does not support resilience, and supports only those workloads which can fit into cluster memory. In return, it can run HMR jobs unchanged -- including jobs produced by compilers for higher-level languages such as Pig, Jaql, and SystemML and interactive front-ends like IBM BigSheets -- while providing significantly better performance than the Hadoop engine on several workloads (e.g. 45x on some input sizes for sparse matrix vector multiply). M3R also supports extensions to the HMR API which can enable Map Reduce jobs to run faster on the M3R engine, while not affecting their performance under the Hadoop engine.

研究の動機と目的

  • 反復的かつメモリ上に保持されるワークロードにおける Hadoop MapReduce のパフォーマンスボトルネックを、ディスク I/O を排除しメモリ内実行を活用することで解消すること。
  • Pig、Jaql、SystemML からの従来の Hadoop ジョブが、変更なしにより高速なメモリ内エンジン上で実行可能になるようにすること。
  • メモリ制限のワークロードにおけるオーバーヘッドを削減し、キャッシュ効率を向上させるために、データレイアウトとシリアル化を最適化すること。
  • API の互換性やポータビリティを損なわずに、顕著なパフォーマンス向上を達成できることを実証すること。

提案手法

  • M3R は、分散処理とメモリ内計算、効率的なシリアル化をネイティブにサポートする X10 を用いて、Hadoop MapReduce API を実装しています。
  • Hadoop のディスクベースのシャッフルを、メモリ上のキー値ストレージに置き換え、I/O を削減し、ノード間でのデータアクセスを高速化しています。
  • カスタムシリアル化プロトコルと直接キャッシュアクセスを活用することで、中間のシリアル化/デシリアライズ化ステップを回避し、反復的アルゴリズムのパフォーマンスを向上させています。
  • ランタイムコンponent(例:SystemML)をパッチ処理することで、メモリ内キャッシュから直接データを取得できるようにし、従来の Hadoop ツールチェーンと統合しています。
  • Hadoop のパフォーマンスを低下させることなく、M3R 上でのパフォーマンスをさらに向上させるために、HMR API の拡張をサポートしています。
  • X10 の軽量な並列処理モデルと分散オブジェクトモデルを活用し、ノード間でのデータ移動と計算を効率的に管理しています。

実験結果

リサーチクエスチョン

  • RQ1バックワードコンパチビリティを損なわず、反復的かつメモリ上に保持されるワークロードで顕著な高速化を達成できる、高性能なメモリ内 Hadoop MapReduce エンジンは実現可能か?
  • RQ2ディスク I/O を排除し、シリアル化を最適化することで、メモリ内 MapReduce ワークロードのパフォーマンスにどのような影響を与えるか?
  • RQ3従来の Hadoop ツールチェーン(例:SystemML、Pig、Jaql)が、変更なしにメモリ内エンジン上で実行された場合、どの程度の高速化が達成可能か?
  • RQ4Hadoop MapReduce API との互換性を維持しつつ、メモリ内実行をサポートするためには、どのようなアーキテクチャ的変更が必要か?

主な発見

  • スパース行列-ベクトル乗算において、M3R は Hadoop と比較して最大 45 倍のパフォーマンス向上を達成しており、特に大きな入力サイズで顕著でした。
  • グローバル非負行列分解において、M3R は Hadoop で 1200 秒以上かかっていた実行時間を、スケーリングされた環境で 30 秒未満に短縮しました。
  • 線形回帰のパフォーマンスは、M3R では Hadoop よりも顕著に高速化され、大規模データセットでは実行時間が 1600 秒以上から 400 秒未満にまで短縮されました。
  • PageRank の実行では、M3R で一貫した高速化が確認され、Hadoop で 800 秒以上かかっていた大規模グラフ処理が、200 秒未満に短縮されました。
  • パフォーマンス向上の要因は、I/O の削減、最適化されたシリアル化、およびキャッシュ統合による直接メモリ内データアクセスに起因しています。
  • SystemML のワークロードでは、M3R が不要なシリアル化を回避し、メモリ内データ構造を活用できるため、顕著なパフォーマンス向上が達成されました。

より良い研究を、今すぐ始めましょう

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。