wsdm2016報告会−論文紹介(distributed balanced partitioning via linear embedding google...
TRANSCRIPT
P3
Server CServer BServer A
小カットサイズなら、別Serverにリクエストする可能性が減る
この論文の目的
分割したグラフを分散サーバに配置
ネットワーク通信 ネットワーク通信
P4この提案の必要性
グラフ分割の必要性• 1サーバではリソース不足• 並列処理による高速化
カットサイズ最小化の必要性• 高速化• ネットワークコスト
この提案の必要性• シンプルなのでMapReduceで実装可能• 先行研究より少ないカットサイズを実現
P72. 頂点を入れ替え順番を変更
Initial ordering
0 61 3 2 5 4 11 8 10 79
Semi-local moves
• 均等に分割• カットサイズが少なくなるように頂点をスワップ
P83. カット位置を変更しカットサイズを改善
0 61 3 2 5 4 11 8 10 79
Semi-local moves
0 61 3 2 5 4 11 8 10 79
Imbalance
• カットサイズが小さくなるようにカット位置を変更
P101. グラフの頂点を直線状にマッピング
• Random mapping• 頂点をランダムに並べる
• Hilbert curve mapping• 空間充填曲線• 空間的に近いものを直線上の近い位置に配置
• Affinity-based mapping• 凝集型階層クラスタリング• 近似指標には共通隣接頂点数の割合を利用
P12凝集型階層的クラスタリングイメージ
G=(V, E)
• 赤同士で距離が近いものをクラスタリング(オレンジ)
• 各クラスタにラベルをつける (A0, A1, A2, A3)
※ここでの距離は共通隣接頂点数の割合。上の図はその意味で正確ではありません
A0
A1
A3A2
P14Affinity-based mapping
0 41 2 3 5 6 7 8 10 119
C0
B0 B1
A0 A2
v0 v5v2
v0のラベル C0#B0#A0#v0
v5のラベル C0#B1#A2#v5
• ラベルでソートすることで頂点の位置を並び替え
P16Minimum Linear Arrangement
G = (V, E)
𝜙 ∶ 𝑉 → 0,1,… , 𝑛 − 1
𝑚𝑖𝑛
(𝑢,𝑣)∈𝐸
𝜙 𝑣 − 𝜙(𝑢) 𝓌𝓊𝓋
0 41 2 3 5 6 7 8 10 119
3-0=32-1=14-1=3…11-9=211-10=1合計 23
P17Minimum Linear Arrangement
グラフ上で繋がりのある頂点はできるだけ直線上の近くに配置する
グラフ上で密な箇所はある程度固まった箇所に配置されるので分割しやすいはず
4 5 6 7 8 10 1190 1 2 3
P18Minimum Linear Arrangement
MapReduceで収束するまで(または指定回数)実行
MR Phase 11. 現在の位置と隣の位置の重みからweighted medianを算出2. その位置を新しいRankとする
MR Phase 21. 位置が重複したらIDベース順などで並べる2. 各ノードに新しいRankをつける
グラフによって収束するまでの回数は異なる
P19Rank Swap
0 41 2 3 5 6 7 8 10 119
I0 I1 I0 I1
各グループからランダムにペアを選ぶ (例えば左 l1 と 右 l0のペア)
43 5 6 7 8
I1 I0
分割したパーティションをさらにいくつかのグループに分ける
カットサイズが小さくなるようにこのペアの頂点を入替え
P21Windowの定義
W1 W2 W3
与えられたグラフを k 分割
均等な分割場所
𝑞𝑗 =𝑗𝑛
𝑘, 1 ≤ 𝑗 < 𝑘, 1 ≤ 𝑖 < 𝑛
許容可能なバランス𝛼 > 0
Window
𝑊𝑗 = 𝜋 𝜋𝑞𝑗−𝛼′ → 𝜋𝑞𝑗+𝛼′ , 𝛼′ =𝛼𝓃
2𝑘
−𝛼′ 𝛼′−𝛼′ −𝛼′𝛼′𝛼′
P22Windowの詳細
41 2 3 5 6 7 8
• W2の頂点に繋がっていない辺は未記述
• 反対側の頂点はカットサイズに影響しないので未記述
W2
W1 W2 W3
−𝛼′ 𝛼′−𝛼′ −𝛼′𝛼′𝛼′
P23Scalable linear boundary optimization
41 2 3 5 6 7 8
• window内の順序は維持
• 分割の位置のみ最適化
• この図では1と2の間でのカットが最適
(カットサイズは4)
W2
P24Scalable minimum-cut optimization
81 7 3 6 2 4 5
• window内での順序は自由に入替え
• この図では8と6の間でのカットが最適
(カットサイズは1)
W2
P25実験(テストデータ)
頂点 辺 その他
World-roads 数億 10億以上 • 辺の重さなし• 緯度経度を持つ• 少数のサーバ
Twitter 4100万 24億 • 辺の重さなし• 無向グラフ
LiveJournal 480万 4290万
P26Metric, Swapとアンバランス(Twitter)
Metric: Minimum Linear ArrangementSwap: Rank SwapCombination: Metric+Swap+アンバランス
論文引用
P27Metric, Swapとアンバランス(World-roads)
Metric: Minimum Linear ArrangementSwap: Rank SwapCombination: Metric+Swap+アンバランス(3%)
論文引用
P29Conclusion
• 大規模グラフの分割アルゴリズムを提案
• 頂点を直線上に配置するアルゴリズム
• 凝集型階層クラスタリング
• Random-swapとminimum cutによる最適化
• 他のシステムよりも良いカットサイズ
• Google Maps Driving Directionにてヒルベルト曲線のアルゴ
リズムより共有クエリ数を40%削減