Skip to main content
QUICK REVIEW

[論文レビュー] Optimizing Cache Performance for Graph Analytics.

Yunming Zhang, Vladimir Kiriansky|arXiv (Cornell University)|Aug 3, 2016
Graph Theory and Algorithms参考文献 34被引用数 11
ひとこと要約

本論文は、グラフ解析におけるキャッシュ利用効率を著しく向上させる2つのキャッシュ最適化技術—頻度ベースクラスタリングとCSRセグメンテーション—を提案する。PageRank やラベル伝播などのワークロードにおいて、既存で最も高速なフレームワークよりも最大4倍の高速化を達成し、グラフデータアクセスパターンの再構築によってランタイムオーバーヘッドを最小限に抑えている。

ABSTRACT

Modern hardware systems are heavily underutilized when running large-scale graph applications. While many in-memory graph frameworks have made substantial progress in optimizing these applications, we show that it is still possible to achieve up to 4 $ imes$ speedups over the fastest frameworks by greatly improving cache utilization. Previous systems have applied out-of-core processing techniques from the memory/disk boundary to the cache/DRAM boundary. However, we find that blindly applying such techniques is ineffective because of the much smaller performance gap between DRAM and cache. We present two techniques that take advantage of the cache with minimal or no instruction overhead. The first, frequency based clustering, groups together frequently accessed vertices to improve the utilization of each cache line with no runtime overhead. The second, CSR segmenting, partitions the graph to restrict all random accesses to the cache, makes all DRAM access sequential, and merges partition results using a very low overhead cache-aware merge. Both techniques can be easily implemented on top of optimized graph frameworks. Our techniques combined give speedups of up to 4 $ imes$ for PageRank, Label Propagation and Collaborative Filtering, and 2 $ imes$ for Betweenness Centrality over the best published results

研究の動機と目的

  • 大規模グラフ解析において、主にメモリ内フレームワークの進歩にもかかわらず、現代のハードウェアが十分に活用されていない問題に対処すること。
  • DRAMとキャッシュの間の性能ギャップが、メモリとディスクのギャップほど大きくないため、キャッシュ利用効率を向上させること。
  • 従来のオフライン・コア手法の制限を避けるために、最小限の命令オーバーヘッドでキャッシュ使用を最適化する技術を設計すること。
  • PageRank、ラベル伝播、バウンダリ・センタリティなどのグラフ解析ワークロードで顕著な高速化を実現すること。

提案手法

  • 頻度ベースクラスタリングは、頻繁にアクセスされる頂点をまとめて配置することでキャッシュラインの利用効率を向上させ、ランタイムオーバーヘッドなしにキャッシュミスを削減する。
  • CSRセグメンテーションは、グラフをセグメントに分割することで、キャッシュ内のランダムアクセスを制限し、すべてのDRAMアクセスを順次アクセスに保証する。
  • 低オーバーヘッドでキャッシュに配慮したマージ手法を用いて、異なるセグメントからの結果を効率的に統合する。
  • 両技術とも、主要なアーキテクチャ的変更なしに、既存の最適化済みグラフフレームワークに容易に統合可能である。
  • キャッシュとDRAMの性能差が、メモリとディスクの差ほど大きくないという事実を活用し、従来のオフライン・コア手法が効果を発揮しないことを踏まえている。
  • キャッシュ階層内の空間的・時間的局所性を最大化するように、データレイアウトとアクセスパターンを最適化する。

実験結果

リサーチクエスチョン

  • RQ1DRAMとキャッシュの性能ギャップが、メモリとディスクのギャップほど大きくないにもかかわらず、キャッシュに配慮した最適化がグラフ解析で顕著な高速化を達成できるか?
  • RQ2グラフデータ構造をどのように再編集すれば、最小限のランタイムコストでキャッシュラインの利用効率を向上させられるか?
  • RQ3パーティショニングとレイアウト変換によって、ランダムメモリアクセスをどれほど低減でき、順次アクセスパターンを改善できるか?
  • RQ4PageRank やラベル伝播のような実世界のグラフワークロードにおいて、キャッシュ中心の最適化によってどの程度のパフォーマンス向上が達成できるか?

主な発見

  • 提案手法は、PageRank、ラベル伝播、コラボラティブフィルタリングの最良の公開結果に対して最大4倍の高速化を達成した。
  • バウンダリ・センタリティでは2倍の高速化が得られ、メモリアクセスパターンが不規則なアルゴリズムに対しても有効であることが示された。
  • 頻度ベースクラスタリングは、頻繁にアクセスされる頂点を近接配置することでキャッシュラインの利用効率を向上させ、ランタイムコストなしにキャッシュミスを削減した。
  • CSRセグメンテーションは、グラフをセグメントに分割することで、すべてのDRAMアクセスを順次アクセスに保証し、ランダムアクセスのオーバーヘッドを最小限に抑えた。
  • 両技術の組み合わせが最高のパフォーマンス向上をもたらし、キャッシュ利用における相乗効果を示した。
  • これらの技術は軽量であり、既存の最適化済みグラフフレームワークに最小限の工数で容易に後付け可能である。

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

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

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

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