Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

ICDE2015 勉強会 新井担当分

http://www.kde.cs.tsukuba.ac.jp/dbreading/?ICDE2015%CA%D9%B6%AF%B2%F1

  • Login to see the comments

ICDE2015 勉強会 新井担当分

  1. 1. ICDE2015勉強会 Multicore Triangle Computations Without Tuning J. Shun (CMU) & K. Tangwongsan (Mahidol U., Thailand) 新井 淳也 NTT 1
  2. 2. 概要 • 並列 triangle counting アルゴリズムの提案 • 厳密アルゴリズムと、それを拡張した近似アルゴリズムの2つ • 近似アルゴリズムの話は割愛 • Cache-oblivious • CPU キャッシュサイズやキャッシュラインサイズを与えなくても効率的にキャッ シュを使用できる • 並列度やキャッシュミス回数を理論的に分析 • 約60億エッジのグラフの処理を厳密解なら1.5分以下、 近似解なら10秒以下で完了 • 物理40コア× Hyper-Threading のマシンを使用 • 近似解の誤差は0.4% 2
  3. 3. Triangle Counting • グラフに含まれる三角形を数える • 数えるとグラフの性質が分かる (cf. クラスタ係数) 3 三角形は2つ
  4. 4. Latapy のアルゴリズム • 逐次処理で良い性能を示すことが知られている triangle counting アルゴリズム 4※図は論文から引用
  5. 5. Latapy のアルゴリズム • 隣接頂点間で隣接頂点の積集合を求める 5 𝐴+ [𝑣] は 𝑣 の隣接頂点集合 intersect(𝐴+[0], 𝐴+[3]) = {1} intersect(𝐴+[4], 𝐴+[3]) = {1} • intersect の実装は2通り考えられる: merge-based, hash-based • 論文では両方分析・評価しているが、 このスライドでは merge-based のみ説明 ※図は論文から引用
  6. 6. 提案アルゴリズム 実行時の挙動を Parallel Cache Complexity モデルで分析 6 1. 並列化: parallel for ※並列化のための 変更はこれだけ Sort 2. Cache-oblivious なアルゴリズムで 基本的操作を実装 Filter Scan Sort & merge ※図は論文から引用
  7. 7. Parallel Cache Complexity モデル • 用語 • Work: 操作の数 • Depth: クリティカルパスの長さ • Cache complexity: キャッシュミスの回数 • 基本的な並列操作 7 Work Depth Cache complexity scan 𝑂(𝑛) 𝑂(log 𝑛) scan(𝑛) = 𝑂( 𝑛 𝐵 ) filter scan と同じ (scan を用いて実装可能) sort 𝑂(𝑛 log 𝑛) 𝑂(log3/2 𝑛) sort(𝑛) = 𝑂( 𝑛 𝐵 log 𝑀/𝐵 𝑛 𝐵 ) merge 𝑂(𝑛 + 𝑚) 𝑂 log 𝑛 + 𝑚 scan(𝑛 + 𝑚)
  8. 8. 挙動の分析 8 Sort 𝑂(𝑉 log 𝑉) work, 𝑂(log3/2 𝑉) depth, 𝑂 sort 𝑉 cache misses 隣接リストへのアクセス 𝑂(𝑉) cache misses 配列アクセス 𝑂(𝐸) work & cache misses Filter 𝑂(𝐸) work, 𝑂(log 𝐸) depth, scan(𝐸) cache misses Scan 𝑂(𝐸) work, 𝑂(log 𝐸) depth, 𝑂 scan 𝐸 cache misses Sort & merge (merge-based intersection) 𝑂 𝐸 log 𝐸 + 𝑂(𝐸3/2 ) work, 𝑂 log3/2 𝐸 + 𝑂 log 𝐸 depth, 𝑂 sort 𝐸 + 𝑉 + 𝑂 𝐸3/2 𝐵 cache misses アルゴリズム全体では 𝑶(𝑬 𝟑/𝟐 ) work, 𝑶 log 𝟑/𝟐 𝑬 depth, 𝑶 𝑬 + 𝑬 𝟑/𝟐 𝑩 cache misses ※図は論文から引用
  9. 9. 評価 • スケーラビリティ: 40コア×HT 環境で逐次性能比 22~50x 高速化 • 既存手法より高速 • 逐次性能の比較では1~2倍、並列性能の比較では2~9倍 9 既存逐次アルゴリズム 既存並列アルゴリズム 並列分散処理基盤 提案手法 ※図は論文から引用
  10. 10. 10

×