Skip to main content
QUICK REVIEW

[論文レビュー] Semi-External Memory Sparse Matrix Multiplication on Billion-node Graphs in a Multicore Architecture.

Da Zheng, Disa Mhembere|arXiv (Cornell University)|Feb 9, 2016
Graph Theory and Algorithms参考文献 32被引用数 4
ひとこと要約

本論文は、スパース行列をSSDに格納し、密度行列をメインメモリに保持する半外部メモリ(SEM)スパース行列乗算(SpMM)フレームワークを提案する。これにより、大規模なグラフ分析が効率的に行える。I/O最適化とメモリ内アルゴリズム技術を組み合わせることで、密度行列の列数が4列を超える場合、100%のメモリ内性能に達し、Trilinos や Intel MKL よりも優れた性能を発揮する。

ABSTRACT

Owing to random memory access patterns, sparse matrix multiplication is traditionally performed in memory and scales to large matrices using the distributed memory of multiple nodes. In contrast, we scale sparse matrix multiplication by utilizing commodity SSDs. We implement sparse matrix dense matrix multiplication (SpMM) in a semi-external memory (SEM) fashion, i.e., we keep the sparse matrix on SSDs and dense matrices in memory. Our SEM SpMM can incorporate many in-memory optimizations for large power- law graphs with near-random vertex connection. Coupled with many I/O optimizations, our SEM SpMM achieves performance comparable to our in-memory implementation on a large parallel machine and outperforms the implementations in Trilinos and Intel MKL. Our experiments show that the SEM SpMM achieves almost 100% performance of the in-memory implementation on graphs when the dense matrix has more than four columns; it achieves at least 65% performance of the in-memory implementation for all of our graphs when the dense matrix has only one column. We apply our SpMM to three important data analysis applications and show that our SSD-based implementations can significantly outperform state of the art of these applications and scale to billion-node graphs.

研究の動機と目的

  • メインメモリ容量の制限により、数十億ノードグラフにおけるメモリ内スパース行列乗算のスケーラビリティ制限を解消する。
  • 従来のI/OバッティングなSpMMの性能ボトルネックを、コンsumer用SSDをメインメモリの延長として活用することで克服する。
  • スパース行列をSSDに、密度行列をメインメモリに保持するハイブリッドメモリモデルを設計し、メモリ圧力を軽減する。
  • メインメモリ内SpMMと同等の性能を達成しながら、メインメモリに収まらないほど大きなグラフにスケーリングする。
  • 数十億ノードグラフ上でPageRank、SVD、スペクトルクラスタリングなどの大規模グラフワークロードを効率的に実行可能にする。

提案手法

  • スパース行列をSSDに、密度行列をメインメモリに格納する半外部メモリ(SEM)モデルでSpMMを実装する。
  • 密度行列の計算フェーズに対して、カーネル統合やキャッシュに配慮したタイリングといったメモリ内最適化を適用する。
  • I/O最適化されたデータレイアウトと非同期I/Oパターンを統合し、SSDからのスパース行列データ読み取りの遅延を低減する。
  • 計算とI/O操作を重ねるハイブリッド実行モデルを採用し、データ転送遅延を隠ぺいする。
  • 現実のグラフに見られるパワー則構造を活用して、SpMM中のランダムアクセスオーバーヘッドを最小限に抑える。
  • プリフェッチとメモリアラインメント戦略を用いた、圧縮スパース行(CSR)形式によるデータアクセスパターン最適化。

実験結果

リサーチクエスチョン

  • RQ1コンsumer用SSDを用いて、半外部メモリSpMMが数十億ノードグラフで近似メモリ内性能を達成できるか?
  • RQ2密度行列の列数が変化する際、SEM SpMMの性能はどのようにスケーリングするか?
  • RQ3I/O最適化とメモリ内アルゴリズム的最適化を組み合わせることで、メモリ内SpMMと半外部SpMMの性能差をどの程度縮められるか?
  • RQ4実際のグラフワークロードにおいて、提案されたSEM SpMMはTrilinos や Intel MKL といった最先端のライブラリと比べてどのように性能を発揮するか?
  • RQ5SEM SpMMは、数十億ノードグラフ上でPageRank や SVD といった大規模グラフ分析アプリケーションを効率的に高速化できるか?

主な発見

  • 密度行列の列数が4列を超える場合、大規模なパワー則グラフ上でSEM SpMMは最大で100%のメモリ内性能を達成する。
  • 密度行列が1列のみの場合でも、すべてのテスト対象グラフでSEM SpMMは少なくとも65%のメモリ内性能を維持する。
  • 大規模グラフワークロードにおいて、SEM SpMMの実装は実行時間の点でTrilinos や Intel MKL を上回る。
  • このフレームワークは数十億ノードグラフにスケーリングでき、効率的なデータ分析パイプラインの実行を可能にする。
  • I/O最適化とメモリ内アルゴリズム的技術の組み合わせが、スパース行列をSSDにオフロードした際の性能ペナルティを効果的に緩和する。
  • 大容量メインメモリを必要としないコンsumerハードウェア上でも、メモリ集約型グラフアルゴリズムの実用的導入を可能にする。

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

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

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

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