SlideShare a Scribd company logo
1 of 39
Download to read offline
Copyright© 2016 NTT Corp. All Rights Reserved.
Rabbit Order:
Just-in-time Parallel Reordering
for Fast Graph Analysis
Junya Arai Nippon Telegraph and Telephone Corp. (NTT)
Hiroaki Shiokawa Univ. of Tsukuba
Takeshi Yamamuro NTT
Makoto Onizuka Osaka Univ.
Sotetsu Iwamura NTT
J. Arai+, "Rabbit Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 2
Summary
• Vertex reordering has been used to improve
locality of graph processing
• However, overheads of reordering tend to increase
end-to-end runtime (= reordering + analysis)
• Thus, we propose a fast reordering algorithm,
Rabbit Order
• Exploit community structures in real-world graphs
• Up to 3.5x speedup for PageRank
• Including reordering overheads!
• Also effective for various graph analysis
J. Arai+, "Rabbit Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 3
Graph analysis
To deal with large-scale graphs, performance of
various analysis algorithms need to be improved
Real-world graphs
• Web graphs
Over 50B pages*1
• Social graphs
1B users
200B friendships*1
Analysis algorithms
• Community detection
• Ranking (e.g., PageRank)
• Shortest Path
• Diameter
• Connected components
• k-core decomposition
• ......
Large-scale Various
*1: Andrew+, “Parallel Graph Analytics,” CACM, 59(5), ‘16
J. Arai+, "Rabbit Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 4
Poor locality
• Poor locality in memory accesses is a problem common
to various analysis algorithms
Poor locality causes ...
• Frequent cache misses
• Frequent inter-core communications
• Memory bandwidth saturation
• Simultaneous memory access from cores
Poor
scalability
J. Arai+, "Rabbit Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 5
Memory access example
• PageRank
until convergence do
for each vertex 𝑣 do
𝒔 𝑣 = σ 𝑢∈𝑁𝑒𝑖𝑔ℎ𝑏𝑜𝑟(𝑣) Τ𝒔[𝑢] degree(𝑢)
Accessed elements in array 𝒔
0 1 2 3 4 5 6 7
𝑣 = 0
Access PageRank score 𝒔
of each neighbor
𝒔 0 , 𝒔 2 , 𝒔 4 and 𝒔[7] are accessed
when 𝑣 = 0
5
2
0
7
4
1
3
6
J. Arai+, "Rabbit Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 6
Memory access example
• PageRank
until convergence do
for each vertex 𝑣 do
𝒔 𝑣 = σ 𝑢∈𝑁𝑒𝑖𝑔ℎ𝑏𝑜𝑟(𝑣) Τ𝒔[𝑢] degree(𝑢)
Access PageRank score 𝒔
of each neighbor
Accessed elements in array 𝒔
0 1 2 3 4 5 6 7
𝑣 = 0
𝑣 = 1
5
2
0
7
4
1
3
6
J. Arai+, "Rabbit Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 7
Memory access example
• PageRank
until convergence do
for each vertex 𝑣 do
𝒔 𝑣 = σ 𝑢∈𝑁𝑒𝑖𝑔ℎ𝑏𝑜𝑟(𝑣) Τ𝒔[𝑢] degree(𝑢)
Access PageRank score 𝒔
of each neighbor
Accessed elements in array 𝒔
0 1 2 3 4 5 6 7
𝑣 = 0
𝑣 = 1
𝑣 = 2
5
2
0
7
4
1
3
6
J. Arai+, "Rabbit Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 8
Memory access example
• PageRank
until convergence do
for each vertex 𝑣 do
𝒔 𝑣 = σ 𝑢∈𝑁𝑒𝑖𝑔ℎ𝑏𝑜𝑟(𝑣) Τ𝒔[𝑢] degree(𝑢)
Access PageRank score 𝒔
of each neighbor
Accessed elements in array 𝒔
0 1 2 3 4 5 6 7
𝑣 = 0
𝑣 = 1
𝑣 = 2
𝑣 = 3
𝑣 = 4
𝑣 = 5
𝑣 = 6
𝑣 = 7
5
2
0
7
4
1
3
6
J. Arai+, "Rabbit Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 9
Memory access example
• PageRank
until convergence do
for each vertex 𝑣 do
𝒔 𝑣 = σ 𝑢∈𝑁𝑒𝑖𝑔ℎ𝑏𝑜𝑟(𝑣) Τ𝒔[𝑢] degree(𝑢)
Access PageRank score 𝒔
of each neighbor
Accessed elements in array 𝒔
0 1 2 3 4 5 6 7
𝑣 = 0
𝑣 = 1
𝑣 = 2
𝑣 = 3
𝑣 = 4
𝑣 = 5
𝑣 = 6
𝑣 = 7
Poor spatial locality
Poor temporal locality
5
2
0
7
4
1
3
6
J. Arai+, "Rabbit Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 10
Reordering
• Preprocess for optimizing vertex ordering (ID numbering)
• No change of analysis algorithms and implementations is required
• Improve locality by co-locating neighboring vertices in memory
• Existing algorithms: RCM, LLP, Nested Dissection, ...
Random ordering High-locality ordering
5
2
0
7
4
1
3
6
0
2
3
1
4
7
6
5
J. Arai+, "Rabbit Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 11
On a reordered graph
• PageRank
until convergence do
for each vertex 𝑣 do
𝒔 𝑣 = σ 𝑢∈𝑁𝑒𝑖𝑔ℎ𝑏𝑜𝑟(𝑣) Τ𝒔[𝑢] degree(𝑢)
Access PageRank score 𝒔
of each neighbor
Accessed elements in array 𝒔
0 1 2 3 4 5 6 7
𝑣 = 0
𝑣 = 1
𝑣 = 2
𝑣 = 3
𝑣 = 4
𝑣 = 5
𝑣 = 6
𝑣 = 7
0
2
3
1
4
7
6
5
J. Arai+, "Rabbit Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 12
On a reordered graph
• PageRank
until convergence do
for each vertex 𝑣 do
𝒔 𝑣 = σ 𝑢∈𝑁𝑒𝑖𝑔ℎ𝑏𝑜𝑟(𝑣) Τ𝒔[𝑢] degree(𝑢)
Access PageRank score 𝒔
of each neighbor
Accessed elements in array 𝒔
0 1 2 3 4 5 6 7
𝑣 = 0
𝑣 = 1
𝑣 = 2
𝑣 = 3
𝑣 = 4
𝑣 = 5
𝑣 = 6
𝑣 = 7
0
2
3
1
4
7
6
5
High spatial locality
High temporal locality
J. Arai+, "Rabbit Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 13
Problem in reordering
• Reordering tends to increase end-to-end runtime
• end-to-end = reordering + analysis (e.g., PageRank)
• ‘Speedup’ by ahead-of-time reordering
Reordering:
Slow
Analysis:
Fast
Reorder again when the graph is modified
Result
0
2
3
1
4
7
6
5
5
2
0
7
4
1
3
6
J. Arai+, "Rabbit Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 14
Problem in reordering
• Reordering tends to increase end-to-end runtime
• end-to-end = reordering + analysis (e.g., PageRank)
• ‘Speedup’ by ahead-of-time reordering
w/o reordering Analysis
w/ reordering Reordering Analysis
Time
Slowdown!!!
J. Arai+, "Rabbit Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 15
Our contribution: Rabbit Order
• Reordering algorithm to reduce end-to-end runtime
• Speedup by just-in-time reordering
w/o reordering Analysis
w/ reordering Reordering Analysis
Time
ReorderingAnalysis
Fast reordering High locality&
Rabbit Order
J. Arai+, "Rabbit Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 16
Rabbit Order
J. Arai+, "Rabbit Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 17
Two main techniques
1. Hierarchical community-based ordering
• For high locality
2. Parallel incremental aggregation
• For fast reordering
J. Arai+, "Rabbit Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 18
Two main techniques
1. Hierarchical community-based ordering
• For high locality
2. Parallel incremental aggregation
• For fast reordering
J. Arai+, "Rabbit Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 19
Community-based ordering
• Community: a group of densely connected vertices
• Common in real-world graphs (e.g., web, social, ...)
• Co-locate vertices within each community in memory
(cf. [Prat-Perez ‘11][Boldi+ ‘11])
Accessed elements in array 𝒔
0 1 2 3 4 5 6 7
𝑣 = 0
𝑣 = 1
𝑣 = 2
𝑣 = 3
𝑣 = 4
𝑣 = 5
𝑣 = 6
𝑣 = 7
0
2
3
1
4
7
6
5
Community 1
Vertex 0~4
Community 2
Vertex 5~7
Community
1
Community
2
J. Arai+, "Rabbit Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 20
Community-based ordering
• Community: a group of densely connected vertices
• Common in real-world graphs (e.g., web, social, ...)
• Co-locate vertices within each community in memory
(cf. [Prat-Perez ‘11][Boldi+ ‘11])
Real social network
http://snap.stanford.edu/data/egonets-Facebook.html
Accessed elements in array 𝒔
0 1 2 3 ……
𝑣 = 0
𝑣 = 1
𝑣 = 2
……
J. Arai+, "Rabbit Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 21
Hierarchy of communities
• A community contains inner nested communities
• e.g., social network of students
• Hierarchy of schools, grades, and classes
Real social network
http://snap.stanford.edu/data/egonets-Facebook.html
J. Arai+, "Rabbit Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 22
Hierarchical community-based ordering
• Hierarchical community co-location for further locality
• Recursively co-locate vertices within each inner-community
• Inner communities produce denser blocks, higher locality
Accessed elements in array 𝒔
0 1 2 3 ……
𝑣 = 0
𝑣 = 1
𝑣 = 2
……
Denser block
Real social network
http://snap.stanford.edu/data/egonets-Facebook.html
J. Arai+, "Rabbit Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 23
Hierarchical community-based ordering
• Hierarchical community co-location for further locality
• Recursively co-locate vertices within each inner-community
• Inner communities produce denser blocks, higher locality
Accessed elements in array 𝒔
0 1 2 3 ……
𝑣 = 0
𝑣 = 1
𝑣 = 2
……
Denser block
Real social network
http://snap.stanford.edu/data/egonets-Facebook.html
How can we obtain
hierarchical communities?
Reordering time must be short!
J. Arai+, "Rabbit Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 24
Two main techniques
1. Hierarchical community-based ordering
• For high locality
2. Parallel incremental aggregation
• For fast reordering
J. Arai+, "Rabbit Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 25
Incremental aggregation [Shiokawa+ '13]
• Extract hierarchical communities by merging vertex pairs
• Fast since it rapidly coarsens the graph, but sequential
Merged to a neighbor that most improves modularity 𝑸
2
0
7
4
𝜟𝑸(𝒗 𝟎, 𝒗 𝟐) = 𝟎. 𝟎𝟓𝟐
𝛥𝑄(𝑣0, 𝑣4) = 0.031
𝛥𝑄(𝑣0, 𝑣7) = 0.042
Gain of modularity for merging vertex 𝒖 and 𝒗:
𝛥𝑄 𝑢, 𝑣 = 2
𝑤 𝑢𝑣
2𝑚
−
𝑑𝑒𝑔 𝑢 𝑑𝑒𝑔(𝑣)
2𝑚 2
𝒘 𝒖𝒗 Edge weight between vertex 𝑢 and 𝑣
𝒎 Total number of edges in the graph
Community
20 75 4
Community
13 6
5
2
0
7
4
6
3
1 2
7
4
3
1
8
6
2
4
3
[Newman+ ‘04]
J. Arai+, "Rabbit Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 26
Parallelization issues
• Naive per-vertex parallelization causes conflicts
• Mutex: large overheads
• Fine-grained locking (per vertex) is required
• Atomic operation: too small operands (16 bytes on x86-64)
• Cannot atomically merge vertices
• by reattaching edges and removing a one of the vertices
1
2
4
5
6
3
0
Thread 1
Thread 2
J. Arai+, "Rabbit Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 27
Solution: lazy aggregation (1/2)
• Lightweight concurrency control by atomic operations
• Delay merges until the merged vertex is required
• to reduce data size to be atomically modified
1
2
4
5
6
3
0
1
2
4
5
6
3
0
Just register vertices as a community member
• This can be performed using compare-and-swap
by storing the members in a singly-linked list
• All the members are virtually treated as vertex 1
Community
Thread 1
Thread 2
1
1
J. Arai+, "Rabbit Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 28
Solution: lazy aggregation (2/2)
• Lightweight concurrency control by atomic operations
• Delay merges until the merged vertex is required
• to reduce data size to be atomically modified
1
2
4
5
6
3
0
Which vertex
should vertex 1
be merged to?
1
5
6
3
01
1
Actually merge the members
• Only one thread is assigned to each
vertex, and so it can merge the
members without conflicts
Compute
𝜟𝐐
6
2
Thread Thread
J. Arai+, "Rabbit Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 29
Communities to ordering
in a hierarchical community-based manner
• Construct a dendrogram while extracting communities
1 3 65 7 0 2 4
Community 2
Community 1
Inner
community
5
2
0
7
4
1
3
6
J. Arai+, "Rabbit Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 30
Communities to ordering
in a hierarchical community-based manner
• Construct a dendrogram while extracting communities
• Reorder vertices to DFS visit order on it
• Vertices in each inner-community are recursively co-located
1 3 65 7 0 2 4
Community 2
Community 1
DFS
DFS
New ordering
5 6 70 1 2 3 4
Inner
community
5
2
0
7
4
1
3
6
0
3
2
1
4
5
6
7
J. Arai+, "Rabbit Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 31
Evaluation
J. Arai+, "Rabbit Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 32
Setup
• Xeon E5-2697v2 12 cores x 2 socket / RAM 256GB
• Reordering methods for comparison
• Graphs
Slash SlashBurn [Lim+ TKDE’14] Sequential
BFS Unordered parallel BFS [Karantasis+ SC’14] Parallel
RCM Unordered parallel RCM [Karantasis+ SC’14] Parallel
ND Multithreaded Nested Dissection [LaSalle+ IPDPS’13] Parallel
LLP Layered Label Propagation [Boldi+ WWW’11] Parallel
Shingle The shingle ordering [Chierichetti+ KDD’09] Parallel
Degree Ascending order of degree Parallel
Random Random ordering (baseline) -
berkstan enwiki ljournal uk-2002 road-usa uk-2005 it-2004 twitter sk-2005 webbase
V 0.7M 4.2M 4.8M 18.5M 23.9M 39.5M 41.3M 41.7M 50.6M 118.1M
E 7.6M 101.4M 69.0M 298.1M 57.7M 936.4M 1.2B 1.5B 1.9B 1.0B
J. Arai+, "Rabbit Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 33
End-to-end PageRank speedup
Rabbit Order yields up to 3.5x (avg. 2.2x) speedup
The other methods degrade performance in most cases
• End−to−end speedup = PageRank runtime with random ordering
Reordering runtime + PageRank runtime
• Reordering methods and PageRank are run with 48 threads using HyperThreading
0
0.5
1
1.5
2
2.5
3
3.5
berkstan enwiki ljournal uk-2002 road-usa uk-2005 it-2004 twitter sk-2005 webbase
Speedup
Rabbit Slash
BFS RCM
ND LLP
Shingle Degree
SpeedupSlowdown
Best speedup
3.5x
J. Arai+, "Rabbit Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 34
Breakdown of PageRank runtime
• Rabbit Order achieves fast reordering and high locality
at the same time
• Reorder a 1.2B-edge graph in about 12 sec.
0 500 1000 1500 2000 2500
Random
Degree
Shingle
LLP
ND
RCM
BFS
Slash
Rabbit
Runtime [sec]
Reordering
PageRank
Fast
Graph: it-2004
J. Arai+, "Rabbit Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 35
Cache misses during PageRank
• Competitive with the best state-of-the-art algorithms
0
2E+10
4E+10
6E+10
8E+10
1E+11
1.2E+11
1.4E+11
1.6E+11
1.8E+11
Rabbit Slash BFS RCM ND LLP Shingle Degree Rand
#ofcachemisses
Graph: it-2004L1 L2 L3
J. Arai+, "Rabbit Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 36
Effectiveness for other analyses
• Rabbit Order is effective for various analysis algorithms
• Efficiency is affected by computational cost of analyses
• It is difficult to amortize the reordering time by short analysis time
(e.g., that of DFS and BFS)
0
0.5
1
1.5
2
2.5
3
3.5
DFS BFS Connected
components
Graph diameter k-core
decomposition
Speedup
Average end-to-end speedup for the 10 graphs
Rabbit Slash
BFS RCM
ND LLP
Shingle Degree
SlowdownSpeedup
Analysis
1-10 sec
Analysis
10-100 sec
J. Arai+, "Rabbit Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 37
Scalability of reordering
• Highest scalability against the number of threads
• Plenty of parallelism in incremental aggregation
• Lightweight concurrency control (lazy aggregation)
0
2
4
6
8
10
12
14
16
18
20
Rabbit BFS RCM ND LLP Shingle Degree
Avg.speedupvs.1thread
Reordering time
12 threads 24 threads 48 threads (HT)
Scalable
J. Arai+, "Rabbit Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 38
Conclusion
• Reordering improves locality of graph analysis
• But existing algorithms tend to increase end-to-end runtime
• Rabbit Order reduces the end-to-end runtime
by two main techniques:
1. Hierarchical community-based ordering for high locality
2. Parallel incremental aggregation for fast reordering
• Up to 3.5x speedup for PageRank
• Also effective for various analysis algorithms
Implementation available https://git.io/rabbit
(for evaluation purposes only)
Rabbit Order: Just-in-time Reordering for Fast Graph Analysis

More Related Content

What's hot

Apache Kylin - Balance Between Space and Time
Apache Kylin - Balance Between Space and TimeApache Kylin - Balance Between Space and Time
Apache Kylin - Balance Between Space and TimeDataWorks Summit
 
「知識」のDeep Learning
「知識」のDeep Learning「知識」のDeep Learning
「知識」のDeep LearningYuya Unno
 
[DL輪読会]Deep Learning 第9章 畳み込みネットワーク
[DL輪読会]Deep Learning 第9章 畳み込みネットワーク[DL輪読会]Deep Learning 第9章 畳み込みネットワーク
[DL輪読会]Deep Learning 第9章 畳み込みネットワークDeep Learning JP
 
居場所を隠すために差分プライバシーを使おう
居場所を隠すために差分プライバシーを使おう居場所を隠すために差分プライバシーを使おう
居場所を隠すために差分プライバシーを使おうHiroshi Nakagawa
 
[DL輪読会]Deep Learning 第10章 系列モデリング 回帰結合型ニューラルネットワークと再帰型ネットワーク
[DL輪読会]Deep Learning 第10章 系列モデリング 回帰結合型ニューラルネットワークと再帰型ネットワーク[DL輪読会]Deep Learning 第10章 系列モデリング 回帰結合型ニューラルネットワークと再帰型ネットワーク
[DL輪読会]Deep Learning 第10章 系列モデリング 回帰結合型ニューラルネットワークと再帰型ネットワークDeep Learning JP
 
Design cube in Apache Kylin
Design cube in Apache KylinDesign cube in Apache Kylin
Design cube in Apache KylinYang Li
 
Efficient Two-level Homomorphic Encryption in Prime-order Bilinear Groups and...
Efficient Two-level Homomorphic Encryption in Prime-order Bilinear Groups and...Efficient Two-level Homomorphic Encryption in Prime-order Bilinear Groups and...
Efficient Two-level Homomorphic Encryption in Prime-order Bilinear Groups and...MITSUNARI Shigeo
 
『データ解析におけるプライバシー保護』勉強会 秘密計算
『データ解析におけるプライバシー保護』勉強会 秘密計算『データ解析におけるプライバシー保護』勉強会 秘密計算
『データ解析におけるプライバシー保護』勉強会 秘密計算MITSUNARI Shigeo
 
猫でも分かりたい線形回帰の自由度
猫でも分かりたい線形回帰の自由度猫でも分かりたい線形回帰の自由度
猫でも分かりたい線形回帰の自由度YukinoriKambe
 
bottleで始めるWEBアプリの最初の一歩
bottleで始めるWEBアプリの最初の一歩bottleで始めるWEBアプリの最初の一歩
bottleで始めるWEBアプリの最初の一歩Satoshi Yamada
 
ダブリング
ダブリングダブリング
ダブリングsatanic
 
マイクロアドにおけるCTR予測への取り組み
マイクロアドにおけるCTR予測への取り組みマイクロアドにおけるCTR予測への取り組み
マイクロアドにおけるCTR予測への取り組みMicroAd, Inc.(Engineer)
 
A verifiable random function with short proofs and keys
A verifiable random function with short proofs and keysA verifiable random function with short proofs and keys
A verifiable random function with short proofs and keysAleksandr Yampolskiy
 
質問応答システム入門
質問応答システム入門質問応答システム入門
質問応答システム入門Hiroyoshi Komatsu
 
AIと代数幾何 ~8分版~/ Artifical Inteligence Parameter Space Transformation using Alg...
AIと代数幾何 ~8分版~/ Artifical Inteligence Parameter Space Transformation using Alg...AIと代数幾何 ~8分版~/ Artifical Inteligence Parameter Space Transformation using Alg...
AIと代数幾何 ~8分版~/ Artifical Inteligence Parameter Space Transformation using Alg...Haruka Matsuzaki
 
競技プログラミングで便利な外部ツールを大量紹介
競技プログラミングで便利な外部ツールを大量紹介競技プログラミングで便利な外部ツールを大量紹介
競技プログラミングで便利な外部ツールを大量紹介xryuseix
 
暗号化したまま計算できる暗号技術とOSS開発による広がり
暗号化したまま計算できる暗号技術とOSS開発による広がり暗号化したまま計算できる暗号技術とOSS開発による広がり
暗号化したまま計算できる暗号技術とOSS開発による広がりMITSUNARI Shigeo
 
Deque with Haskel
Deque with HaskelDeque with Haskel
Deque with HaskelKen Ogura
 

What's hot (20)

Apache Kylin - Balance Between Space and Time
Apache Kylin - Balance Between Space and TimeApache Kylin - Balance Between Space and Time
Apache Kylin - Balance Between Space and Time
 
「知識」のDeep Learning
「知識」のDeep Learning「知識」のDeep Learning
「知識」のDeep Learning
 
[DL輪読会]Deep Learning 第9章 畳み込みネットワーク
[DL輪読会]Deep Learning 第9章 畳み込みネットワーク[DL輪読会]Deep Learning 第9章 畳み込みネットワーク
[DL輪読会]Deep Learning 第9章 畳み込みネットワーク
 
居場所を隠すために差分プライバシーを使おう
居場所を隠すために差分プライバシーを使おう居場所を隠すために差分プライバシーを使おう
居場所を隠すために差分プライバシーを使おう
 
[DL輪読会]Deep Learning 第10章 系列モデリング 回帰結合型ニューラルネットワークと再帰型ネットワーク
[DL輪読会]Deep Learning 第10章 系列モデリング 回帰結合型ニューラルネットワークと再帰型ネットワーク[DL輪読会]Deep Learning 第10章 系列モデリング 回帰結合型ニューラルネットワークと再帰型ネットワーク
[DL輪読会]Deep Learning 第10章 系列モデリング 回帰結合型ニューラルネットワークと再帰型ネットワーク
 
Design cube in Apache Kylin
Design cube in Apache KylinDesign cube in Apache Kylin
Design cube in Apache Kylin
 
Efficient Two-level Homomorphic Encryption in Prime-order Bilinear Groups and...
Efficient Two-level Homomorphic Encryption in Prime-order Bilinear Groups and...Efficient Two-level Homomorphic Encryption in Prime-order Bilinear Groups and...
Efficient Two-level Homomorphic Encryption in Prime-order Bilinear Groups and...
 
『データ解析におけるプライバシー保護』勉強会 秘密計算
『データ解析におけるプライバシー保護』勉強会 秘密計算『データ解析におけるプライバシー保護』勉強会 秘密計算
『データ解析におけるプライバシー保護』勉強会 秘密計算
 
猫でも分かりたい線形回帰の自由度
猫でも分かりたい線形回帰の自由度猫でも分かりたい線形回帰の自由度
猫でも分かりたい線形回帰の自由度
 
bottleで始めるWEBアプリの最初の一歩
bottleで始めるWEBアプリの最初の一歩bottleで始めるWEBアプリの最初の一歩
bottleで始めるWEBアプリの最初の一歩
 
ダブリング
ダブリングダブリング
ダブリング
 
マイクロアドにおけるCTR予測への取り組み
マイクロアドにおけるCTR予測への取り組みマイクロアドにおけるCTR予測への取り組み
マイクロアドにおけるCTR予測への取り組み
 
A verifiable random function with short proofs and keys
A verifiable random function with short proofs and keysA verifiable random function with short proofs and keys
A verifiable random function with short proofs and keys
 
質問応答システム入門
質問応答システム入門質問応答システム入門
質問応答システム入門
 
AIと代数幾何 ~8分版~/ Artifical Inteligence Parameter Space Transformation using Alg...
AIと代数幾何 ~8分版~/ Artifical Inteligence Parameter Space Transformation using Alg...AIと代数幾何 ~8分版~/ Artifical Inteligence Parameter Space Transformation using Alg...
AIと代数幾何 ~8分版~/ Artifical Inteligence Parameter Space Transformation using Alg...
 
競技プログラミングで便利な外部ツールを大量紹介
競技プログラミングで便利な外部ツールを大量紹介競技プログラミングで便利な外部ツールを大量紹介
競技プログラミングで便利な外部ツールを大量紹介
 
Za atsu-20170328
Za atsu-20170328Za atsu-20170328
Za atsu-20170328
 
暗号化したまま計算できる暗号技術とOSS開発による広がり
暗号化したまま計算できる暗号技術とOSS開発による広がり暗号化したまま計算できる暗号技術とOSS開発による広がり
暗号化したまま計算できる暗号技術とOSS開発による広がり
 
Deque with Haskel
Deque with HaskelDeque with Haskel
Deque with Haskel
 
暗認本読書会12
暗認本読書会12暗認本読書会12
暗認本読書会12
 

Similar to Rabbit Order: Just-in-time Reordering for Fast Graph Analysis

Big Process for Big Data @ PNNL, May 2013
Big Process for Big Data @ PNNL, May 2013Big Process for Big Data @ PNNL, May 2013
Big Process for Big Data @ PNNL, May 2013Ian Foster
 
Semi-Supervised Classification with Graph Convolutional Networks @ICLR2017読み会
Semi-Supervised Classification with Graph Convolutional Networks @ICLR2017読み会Semi-Supervised Classification with Graph Convolutional Networks @ICLR2017読み会
Semi-Supervised Classification with Graph Convolutional Networks @ICLR2017読み会Eiji Sekiya
 
Thorny Path to the Large Scale Graph Processing, Алексей Зиновьев (Тамтэк)
Thorny Path to the Large Scale Graph Processing, Алексей Зиновьев (Тамтэк)Thorny Path to the Large Scale Graph Processing, Алексей Зиновьев (Тамтэк)
Thorny Path to the Large Scale Graph Processing, Алексей Зиновьев (Тамтэк)Ontico
 
Thorny path to the Large-Scale Graph Processing (Highload++, 2014)
Thorny path to the Large-Scale Graph Processing (Highload++, 2014)Thorny path to the Large-Scale Graph Processing (Highload++, 2014)
Thorny path to the Large-Scale Graph Processing (Highload++, 2014)Alexey Zinoviev
 
A Lightweight Infrastructure for Graph Analytics
A Lightweight Infrastructure for Graph AnalyticsA Lightweight Infrastructure for Graph Analytics
A Lightweight Infrastructure for Graph AnalyticsDonald Nguyen
 
Software tools for calculating materials properties in high-throughput (pymat...
Software tools for calculating materials properties in high-throughput (pymat...Software tools for calculating materials properties in high-throughput (pymat...
Software tools for calculating materials properties in high-throughput (pymat...Anubhav Jain
 
ER 2016 Tutorial
ER 2016 TutorialER 2016 Tutorial
ER 2016 TutorialRim Moussa
 
Follow the money with graphs
Follow the money with graphsFollow the money with graphs
Follow the money with graphsStanka Dalekova
 
Looking into the past - feature extraction from historic maps using Python, O...
Looking into the past - feature extraction from historic maps using Python, O...Looking into the past - feature extraction from historic maps using Python, O...
Looking into the past - feature extraction from historic maps using Python, O...James Crone
 
Processing Large Graphs
Processing Large GraphsProcessing Large Graphs
Processing Large GraphsNishant Gandhi
 
A Production Quality Sketching Library for the Analysis of Big Data
A Production Quality Sketching Library for the Analysis of Big DataA Production Quality Sketching Library for the Analysis of Big Data
A Production Quality Sketching Library for the Analysis of Big DataDatabricks
 
Big Process for Big Data @ NASA
Big Process for Big Data @ NASABig Process for Big Data @ NASA
Big Process for Big Data @ NASAIan Foster
 
Frontera: open source, large scale web crawling framework
Frontera: open source, large scale web crawling frameworkFrontera: open source, large scale web crawling framework
Frontera: open source, large scale web crawling frameworkScrapinghub
 
DataEngConf SF16 - High cardinality time series search
DataEngConf SF16 - High cardinality time series searchDataEngConf SF16 - High cardinality time series search
DataEngConf SF16 - High cardinality time series searchHakka Labs
 
High cardinality time series search: A new level of scale - Data Day Texas 2016
High cardinality time series search: A new level of scale - Data Day Texas 2016High cardinality time series search: A new level of scale - Data Day Texas 2016
High cardinality time series search: A new level of scale - Data Day Texas 2016Eric Sammer
 
How to interactively visualise and explore a billion objects (wit vaex)
How to interactively visualise and explore a billion objects (wit vaex)How to interactively visualise and explore a billion objects (wit vaex)
How to interactively visualise and explore a billion objects (wit vaex)Ali-ziane Myriam
 
Locality Sensitive Hashing By Spark
Locality Sensitive Hashing By SparkLocality Sensitive Hashing By Spark
Locality Sensitive Hashing By SparkSpark Summit
 
Automated Data Exploration: Building efficient analysis pipelines with Dask
Automated Data Exploration: Building efficient analysis pipelines with DaskAutomated Data Exploration: Building efficient analysis pipelines with Dask
Automated Data Exploration: Building efficient analysis pipelines with DaskASI Data Science
 

Similar to Rabbit Order: Just-in-time Reordering for Fast Graph Analysis (20)

Big Process for Big Data @ PNNL, May 2013
Big Process for Big Data @ PNNL, May 2013Big Process for Big Data @ PNNL, May 2013
Big Process for Big Data @ PNNL, May 2013
 
Semi-Supervised Classification with Graph Convolutional Networks @ICLR2017読み会
Semi-Supervised Classification with Graph Convolutional Networks @ICLR2017読み会Semi-Supervised Classification with Graph Convolutional Networks @ICLR2017読み会
Semi-Supervised Classification with Graph Convolutional Networks @ICLR2017読み会
 
Thorny Path to the Large Scale Graph Processing, Алексей Зиновьев (Тамтэк)
Thorny Path to the Large Scale Graph Processing, Алексей Зиновьев (Тамтэк)Thorny Path to the Large Scale Graph Processing, Алексей Зиновьев (Тамтэк)
Thorny Path to the Large Scale Graph Processing, Алексей Зиновьев (Тамтэк)
 
Thorny path to the Large-Scale Graph Processing (Highload++, 2014)
Thorny path to the Large-Scale Graph Processing (Highload++, 2014)Thorny path to the Large-Scale Graph Processing (Highload++, 2014)
Thorny path to the Large-Scale Graph Processing (Highload++, 2014)
 
A Lightweight Infrastructure for Graph Analytics
A Lightweight Infrastructure for Graph AnalyticsA Lightweight Infrastructure for Graph Analytics
A Lightweight Infrastructure for Graph Analytics
 
Software tools for calculating materials properties in high-throughput (pymat...
Software tools for calculating materials properties in high-throughput (pymat...Software tools for calculating materials properties in high-throughput (pymat...
Software tools for calculating materials properties in high-throughput (pymat...
 
ER 2016 Tutorial
ER 2016 TutorialER 2016 Tutorial
ER 2016 Tutorial
 
Follow the money with graphs
Follow the money with graphsFollow the money with graphs
Follow the money with graphs
 
Looking into the past - feature extraction from historic maps using Python, O...
Looking into the past - feature extraction from historic maps using Python, O...Looking into the past - feature extraction from historic maps using Python, O...
Looking into the past - feature extraction from historic maps using Python, O...
 
Time-oriented event search. A new level of scale
Time-oriented event search. A new level of scale Time-oriented event search. A new level of scale
Time-oriented event search. A new level of scale
 
Processing Large Graphs
Processing Large GraphsProcessing Large Graphs
Processing Large Graphs
 
A Production Quality Sketching Library for the Analysis of Big Data
A Production Quality Sketching Library for the Analysis of Big DataA Production Quality Sketching Library for the Analysis of Big Data
A Production Quality Sketching Library for the Analysis of Big Data
 
Big Process for Big Data @ NASA
Big Process for Big Data @ NASABig Process for Big Data @ NASA
Big Process for Big Data @ NASA
 
Frontera: open source, large scale web crawling framework
Frontera: open source, large scale web crawling frameworkFrontera: open source, large scale web crawling framework
Frontera: open source, large scale web crawling framework
 
DataEngConf SF16 - High cardinality time series search
DataEngConf SF16 - High cardinality time series searchDataEngConf SF16 - High cardinality time series search
DataEngConf SF16 - High cardinality time series search
 
High cardinality time series search: A new level of scale - Data Day Texas 2016
High cardinality time series search: A new level of scale - Data Day Texas 2016High cardinality time series search: A new level of scale - Data Day Texas 2016
High cardinality time series search: A new level of scale - Data Day Texas 2016
 
How to interactively visualise and explore a billion objects (wit vaex)
How to interactively visualise and explore a billion objects (wit vaex)How to interactively visualise and explore a billion objects (wit vaex)
How to interactively visualise and explore a billion objects (wit vaex)
 
Vaex talk-pydata-paris
Vaex talk-pydata-parisVaex talk-pydata-paris
Vaex talk-pydata-paris
 
Locality Sensitive Hashing By Spark
Locality Sensitive Hashing By SparkLocality Sensitive Hashing By Spark
Locality Sensitive Hashing By Spark
 
Automated Data Exploration: Building efficient analysis pipelines with Dask
Automated Data Exploration: Building efficient analysis pipelines with DaskAutomated Data Exploration: Building efficient analysis pipelines with Dask
Automated Data Exploration: Building efficient analysis pipelines with Dask
 

More from Junya Arai

YOU は何して VLDB2020 Tokyo へ? (グラフ編)
YOU は何して VLDB2020 Tokyo へ? (グラフ編)YOU は何して VLDB2020 Tokyo へ? (グラフ編)
YOU は何して VLDB2020 Tokyo へ? (グラフ編)Junya Arai
 
Scalable Cooperative File Caching with RDMA-Based Directory Management
Scalable Cooperative File Caching with RDMA-Based Directory ManagementScalable Cooperative File Caching with RDMA-Based Directory Management
Scalable Cooperative File Caching with RDMA-Based Directory ManagementJunya Arai
 
第3回システム系輪講会:IPDPS'17 の機械学習系論文
第3回システム系輪講会:IPDPS'17 の機械学習系論文第3回システム系輪講会:IPDPS'17 の機械学習系論文
第3回システム系輪講会:IPDPS'17 の機械学習系論文Junya Arai
 
IPDPS & HPDC 報告
IPDPS & HPDC 報告IPDPS & HPDC 報告
IPDPS & HPDC 報告Junya Arai
 
WWW2014 勉強会 新井担当分
WWW2014 勉強会 新井担当分WWW2014 勉強会 新井担当分
WWW2014 勉強会 新井担当分Junya Arai
 
ICDE2014 勉強会 新井担当分
ICDE2014 勉強会 新井担当分ICDE2014 勉強会 新井担当分
ICDE2014 勉強会 新井担当分Junya Arai
 

More from Junya Arai (6)

YOU は何して VLDB2020 Tokyo へ? (グラフ編)
YOU は何して VLDB2020 Tokyo へ? (グラフ編)YOU は何して VLDB2020 Tokyo へ? (グラフ編)
YOU は何して VLDB2020 Tokyo へ? (グラフ編)
 
Scalable Cooperative File Caching with RDMA-Based Directory Management
Scalable Cooperative File Caching with RDMA-Based Directory ManagementScalable Cooperative File Caching with RDMA-Based Directory Management
Scalable Cooperative File Caching with RDMA-Based Directory Management
 
第3回システム系輪講会:IPDPS'17 の機械学習系論文
第3回システム系輪講会:IPDPS'17 の機械学習系論文第3回システム系輪講会:IPDPS'17 の機械学習系論文
第3回システム系輪講会:IPDPS'17 の機械学習系論文
 
IPDPS & HPDC 報告
IPDPS & HPDC 報告IPDPS & HPDC 報告
IPDPS & HPDC 報告
 
WWW2014 勉強会 新井担当分
WWW2014 勉強会 新井担当分WWW2014 勉強会 新井担当分
WWW2014 勉強会 新井担当分
 
ICDE2014 勉強会 新井担当分
ICDE2014 勉強会 新井担当分ICDE2014 勉強会 新井担当分
ICDE2014 勉強会 新井担当分
 

Recently uploaded

Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 

Recently uploaded (20)

Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 

Rabbit Order: Just-in-time Reordering for Fast Graph Analysis

  • 1. Copyright© 2016 NTT Corp. All Rights Reserved. Rabbit Order: Just-in-time Parallel Reordering for Fast Graph Analysis Junya Arai Nippon Telegraph and Telephone Corp. (NTT) Hiroaki Shiokawa Univ. of Tsukuba Takeshi Yamamuro NTT Makoto Onizuka Osaka Univ. Sotetsu Iwamura NTT
  • 2. J. Arai+, "Rabbit Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 2 Summary • Vertex reordering has been used to improve locality of graph processing • However, overheads of reordering tend to increase end-to-end runtime (= reordering + analysis) • Thus, we propose a fast reordering algorithm, Rabbit Order • Exploit community structures in real-world graphs • Up to 3.5x speedup for PageRank • Including reordering overheads! • Also effective for various graph analysis
  • 3. J. Arai+, "Rabbit Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 3 Graph analysis To deal with large-scale graphs, performance of various analysis algorithms need to be improved Real-world graphs • Web graphs Over 50B pages*1 • Social graphs 1B users 200B friendships*1 Analysis algorithms • Community detection • Ranking (e.g., PageRank) • Shortest Path • Diameter • Connected components • k-core decomposition • ...... Large-scale Various *1: Andrew+, “Parallel Graph Analytics,” CACM, 59(5), ‘16
  • 4. J. Arai+, "Rabbit Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 4 Poor locality • Poor locality in memory accesses is a problem common to various analysis algorithms Poor locality causes ... • Frequent cache misses • Frequent inter-core communications • Memory bandwidth saturation • Simultaneous memory access from cores Poor scalability
  • 5. J. Arai+, "Rabbit Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 5 Memory access example • PageRank until convergence do for each vertex 𝑣 do 𝒔 𝑣 = σ 𝑢∈𝑁𝑒𝑖𝑔ℎ𝑏𝑜𝑟(𝑣) Τ𝒔[𝑢] degree(𝑢) Accessed elements in array 𝒔 0 1 2 3 4 5 6 7 𝑣 = 0 Access PageRank score 𝒔 of each neighbor 𝒔 0 , 𝒔 2 , 𝒔 4 and 𝒔[7] are accessed when 𝑣 = 0 5 2 0 7 4 1 3 6
  • 6. J. Arai+, "Rabbit Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 6 Memory access example • PageRank until convergence do for each vertex 𝑣 do 𝒔 𝑣 = σ 𝑢∈𝑁𝑒𝑖𝑔ℎ𝑏𝑜𝑟(𝑣) Τ𝒔[𝑢] degree(𝑢) Access PageRank score 𝒔 of each neighbor Accessed elements in array 𝒔 0 1 2 3 4 5 6 7 𝑣 = 0 𝑣 = 1 5 2 0 7 4 1 3 6
  • 7. J. Arai+, "Rabbit Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 7 Memory access example • PageRank until convergence do for each vertex 𝑣 do 𝒔 𝑣 = σ 𝑢∈𝑁𝑒𝑖𝑔ℎ𝑏𝑜𝑟(𝑣) Τ𝒔[𝑢] degree(𝑢) Access PageRank score 𝒔 of each neighbor Accessed elements in array 𝒔 0 1 2 3 4 5 6 7 𝑣 = 0 𝑣 = 1 𝑣 = 2 5 2 0 7 4 1 3 6
  • 8. J. Arai+, "Rabbit Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 8 Memory access example • PageRank until convergence do for each vertex 𝑣 do 𝒔 𝑣 = σ 𝑢∈𝑁𝑒𝑖𝑔ℎ𝑏𝑜𝑟(𝑣) Τ𝒔[𝑢] degree(𝑢) Access PageRank score 𝒔 of each neighbor Accessed elements in array 𝒔 0 1 2 3 4 5 6 7 𝑣 = 0 𝑣 = 1 𝑣 = 2 𝑣 = 3 𝑣 = 4 𝑣 = 5 𝑣 = 6 𝑣 = 7 5 2 0 7 4 1 3 6
  • 9. J. Arai+, "Rabbit Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 9 Memory access example • PageRank until convergence do for each vertex 𝑣 do 𝒔 𝑣 = σ 𝑢∈𝑁𝑒𝑖𝑔ℎ𝑏𝑜𝑟(𝑣) Τ𝒔[𝑢] degree(𝑢) Access PageRank score 𝒔 of each neighbor Accessed elements in array 𝒔 0 1 2 3 4 5 6 7 𝑣 = 0 𝑣 = 1 𝑣 = 2 𝑣 = 3 𝑣 = 4 𝑣 = 5 𝑣 = 6 𝑣 = 7 Poor spatial locality Poor temporal locality 5 2 0 7 4 1 3 6
  • 10. J. Arai+, "Rabbit Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 10 Reordering • Preprocess for optimizing vertex ordering (ID numbering) • No change of analysis algorithms and implementations is required • Improve locality by co-locating neighboring vertices in memory • Existing algorithms: RCM, LLP, Nested Dissection, ... Random ordering High-locality ordering 5 2 0 7 4 1 3 6 0 2 3 1 4 7 6 5
  • 11. J. Arai+, "Rabbit Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 11 On a reordered graph • PageRank until convergence do for each vertex 𝑣 do 𝒔 𝑣 = σ 𝑢∈𝑁𝑒𝑖𝑔ℎ𝑏𝑜𝑟(𝑣) Τ𝒔[𝑢] degree(𝑢) Access PageRank score 𝒔 of each neighbor Accessed elements in array 𝒔 0 1 2 3 4 5 6 7 𝑣 = 0 𝑣 = 1 𝑣 = 2 𝑣 = 3 𝑣 = 4 𝑣 = 5 𝑣 = 6 𝑣 = 7 0 2 3 1 4 7 6 5
  • 12. J. Arai+, "Rabbit Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 12 On a reordered graph • PageRank until convergence do for each vertex 𝑣 do 𝒔 𝑣 = σ 𝑢∈𝑁𝑒𝑖𝑔ℎ𝑏𝑜𝑟(𝑣) Τ𝒔[𝑢] degree(𝑢) Access PageRank score 𝒔 of each neighbor Accessed elements in array 𝒔 0 1 2 3 4 5 6 7 𝑣 = 0 𝑣 = 1 𝑣 = 2 𝑣 = 3 𝑣 = 4 𝑣 = 5 𝑣 = 6 𝑣 = 7 0 2 3 1 4 7 6 5 High spatial locality High temporal locality
  • 13. J. Arai+, "Rabbit Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 13 Problem in reordering • Reordering tends to increase end-to-end runtime • end-to-end = reordering + analysis (e.g., PageRank) • ‘Speedup’ by ahead-of-time reordering Reordering: Slow Analysis: Fast Reorder again when the graph is modified Result 0 2 3 1 4 7 6 5 5 2 0 7 4 1 3 6
  • 14. J. Arai+, "Rabbit Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 14 Problem in reordering • Reordering tends to increase end-to-end runtime • end-to-end = reordering + analysis (e.g., PageRank) • ‘Speedup’ by ahead-of-time reordering w/o reordering Analysis w/ reordering Reordering Analysis Time Slowdown!!!
  • 15. J. Arai+, "Rabbit Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 15 Our contribution: Rabbit Order • Reordering algorithm to reduce end-to-end runtime • Speedup by just-in-time reordering w/o reordering Analysis w/ reordering Reordering Analysis Time ReorderingAnalysis Fast reordering High locality& Rabbit Order
  • 16. J. Arai+, "Rabbit Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 16 Rabbit Order
  • 17. J. Arai+, "Rabbit Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 17 Two main techniques 1. Hierarchical community-based ordering • For high locality 2. Parallel incremental aggregation • For fast reordering
  • 18. J. Arai+, "Rabbit Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 18 Two main techniques 1. Hierarchical community-based ordering • For high locality 2. Parallel incremental aggregation • For fast reordering
  • 19. J. Arai+, "Rabbit Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 19 Community-based ordering • Community: a group of densely connected vertices • Common in real-world graphs (e.g., web, social, ...) • Co-locate vertices within each community in memory (cf. [Prat-Perez ‘11][Boldi+ ‘11]) Accessed elements in array 𝒔 0 1 2 3 4 5 6 7 𝑣 = 0 𝑣 = 1 𝑣 = 2 𝑣 = 3 𝑣 = 4 𝑣 = 5 𝑣 = 6 𝑣 = 7 0 2 3 1 4 7 6 5 Community 1 Vertex 0~4 Community 2 Vertex 5~7 Community 1 Community 2
  • 20. J. Arai+, "Rabbit Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 20 Community-based ordering • Community: a group of densely connected vertices • Common in real-world graphs (e.g., web, social, ...) • Co-locate vertices within each community in memory (cf. [Prat-Perez ‘11][Boldi+ ‘11]) Real social network http://snap.stanford.edu/data/egonets-Facebook.html Accessed elements in array 𝒔 0 1 2 3 …… 𝑣 = 0 𝑣 = 1 𝑣 = 2 ……
  • 21. J. Arai+, "Rabbit Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 21 Hierarchy of communities • A community contains inner nested communities • e.g., social network of students • Hierarchy of schools, grades, and classes Real social network http://snap.stanford.edu/data/egonets-Facebook.html
  • 22. J. Arai+, "Rabbit Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 22 Hierarchical community-based ordering • Hierarchical community co-location for further locality • Recursively co-locate vertices within each inner-community • Inner communities produce denser blocks, higher locality Accessed elements in array 𝒔 0 1 2 3 …… 𝑣 = 0 𝑣 = 1 𝑣 = 2 …… Denser block Real social network http://snap.stanford.edu/data/egonets-Facebook.html
  • 23. J. Arai+, "Rabbit Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 23 Hierarchical community-based ordering • Hierarchical community co-location for further locality • Recursively co-locate vertices within each inner-community • Inner communities produce denser blocks, higher locality Accessed elements in array 𝒔 0 1 2 3 …… 𝑣 = 0 𝑣 = 1 𝑣 = 2 …… Denser block Real social network http://snap.stanford.edu/data/egonets-Facebook.html How can we obtain hierarchical communities? Reordering time must be short!
  • 24. J. Arai+, "Rabbit Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 24 Two main techniques 1. Hierarchical community-based ordering • For high locality 2. Parallel incremental aggregation • For fast reordering
  • 25. J. Arai+, "Rabbit Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 25 Incremental aggregation [Shiokawa+ '13] • Extract hierarchical communities by merging vertex pairs • Fast since it rapidly coarsens the graph, but sequential Merged to a neighbor that most improves modularity 𝑸 2 0 7 4 𝜟𝑸(𝒗 𝟎, 𝒗 𝟐) = 𝟎. 𝟎𝟓𝟐 𝛥𝑄(𝑣0, 𝑣4) = 0.031 𝛥𝑄(𝑣0, 𝑣7) = 0.042 Gain of modularity for merging vertex 𝒖 and 𝒗: 𝛥𝑄 𝑢, 𝑣 = 2 𝑤 𝑢𝑣 2𝑚 − 𝑑𝑒𝑔 𝑢 𝑑𝑒𝑔(𝑣) 2𝑚 2 𝒘 𝒖𝒗 Edge weight between vertex 𝑢 and 𝑣 𝒎 Total number of edges in the graph Community 20 75 4 Community 13 6 5 2 0 7 4 6 3 1 2 7 4 3 1 8 6 2 4 3 [Newman+ ‘04]
  • 26. J. Arai+, "Rabbit Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 26 Parallelization issues • Naive per-vertex parallelization causes conflicts • Mutex: large overheads • Fine-grained locking (per vertex) is required • Atomic operation: too small operands (16 bytes on x86-64) • Cannot atomically merge vertices • by reattaching edges and removing a one of the vertices 1 2 4 5 6 3 0 Thread 1 Thread 2
  • 27. J. Arai+, "Rabbit Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 27 Solution: lazy aggregation (1/2) • Lightweight concurrency control by atomic operations • Delay merges until the merged vertex is required • to reduce data size to be atomically modified 1 2 4 5 6 3 0 1 2 4 5 6 3 0 Just register vertices as a community member • This can be performed using compare-and-swap by storing the members in a singly-linked list • All the members are virtually treated as vertex 1 Community Thread 1 Thread 2 1 1
  • 28. J. Arai+, "Rabbit Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 28 Solution: lazy aggregation (2/2) • Lightweight concurrency control by atomic operations • Delay merges until the merged vertex is required • to reduce data size to be atomically modified 1 2 4 5 6 3 0 Which vertex should vertex 1 be merged to? 1 5 6 3 01 1 Actually merge the members • Only one thread is assigned to each vertex, and so it can merge the members without conflicts Compute 𝜟𝐐 6 2 Thread Thread
  • 29. J. Arai+, "Rabbit Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 29 Communities to ordering in a hierarchical community-based manner • Construct a dendrogram while extracting communities 1 3 65 7 0 2 4 Community 2 Community 1 Inner community 5 2 0 7 4 1 3 6
  • 30. J. Arai+, "Rabbit Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 30 Communities to ordering in a hierarchical community-based manner • Construct a dendrogram while extracting communities • Reorder vertices to DFS visit order on it • Vertices in each inner-community are recursively co-located 1 3 65 7 0 2 4 Community 2 Community 1 DFS DFS New ordering 5 6 70 1 2 3 4 Inner community 5 2 0 7 4 1 3 6 0 3 2 1 4 5 6 7
  • 31. J. Arai+, "Rabbit Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 31 Evaluation
  • 32. J. Arai+, "Rabbit Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 32 Setup • Xeon E5-2697v2 12 cores x 2 socket / RAM 256GB • Reordering methods for comparison • Graphs Slash SlashBurn [Lim+ TKDE’14] Sequential BFS Unordered parallel BFS [Karantasis+ SC’14] Parallel RCM Unordered parallel RCM [Karantasis+ SC’14] Parallel ND Multithreaded Nested Dissection [LaSalle+ IPDPS’13] Parallel LLP Layered Label Propagation [Boldi+ WWW’11] Parallel Shingle The shingle ordering [Chierichetti+ KDD’09] Parallel Degree Ascending order of degree Parallel Random Random ordering (baseline) - berkstan enwiki ljournal uk-2002 road-usa uk-2005 it-2004 twitter sk-2005 webbase V 0.7M 4.2M 4.8M 18.5M 23.9M 39.5M 41.3M 41.7M 50.6M 118.1M E 7.6M 101.4M 69.0M 298.1M 57.7M 936.4M 1.2B 1.5B 1.9B 1.0B
  • 33. J. Arai+, "Rabbit Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 33 End-to-end PageRank speedup Rabbit Order yields up to 3.5x (avg. 2.2x) speedup The other methods degrade performance in most cases • End−to−end speedup = PageRank runtime with random ordering Reordering runtime + PageRank runtime • Reordering methods and PageRank are run with 48 threads using HyperThreading 0 0.5 1 1.5 2 2.5 3 3.5 berkstan enwiki ljournal uk-2002 road-usa uk-2005 it-2004 twitter sk-2005 webbase Speedup Rabbit Slash BFS RCM ND LLP Shingle Degree SpeedupSlowdown Best speedup 3.5x
  • 34. J. Arai+, "Rabbit Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 34 Breakdown of PageRank runtime • Rabbit Order achieves fast reordering and high locality at the same time • Reorder a 1.2B-edge graph in about 12 sec. 0 500 1000 1500 2000 2500 Random Degree Shingle LLP ND RCM BFS Slash Rabbit Runtime [sec] Reordering PageRank Fast Graph: it-2004
  • 35. J. Arai+, "Rabbit Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 35 Cache misses during PageRank • Competitive with the best state-of-the-art algorithms 0 2E+10 4E+10 6E+10 8E+10 1E+11 1.2E+11 1.4E+11 1.6E+11 1.8E+11 Rabbit Slash BFS RCM ND LLP Shingle Degree Rand #ofcachemisses Graph: it-2004L1 L2 L3
  • 36. J. Arai+, "Rabbit Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 36 Effectiveness for other analyses • Rabbit Order is effective for various analysis algorithms • Efficiency is affected by computational cost of analyses • It is difficult to amortize the reordering time by short analysis time (e.g., that of DFS and BFS) 0 0.5 1 1.5 2 2.5 3 3.5 DFS BFS Connected components Graph diameter k-core decomposition Speedup Average end-to-end speedup for the 10 graphs Rabbit Slash BFS RCM ND LLP Shingle Degree SlowdownSpeedup Analysis 1-10 sec Analysis 10-100 sec
  • 37. J. Arai+, "Rabbit Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 37 Scalability of reordering • Highest scalability against the number of threads • Plenty of parallelism in incremental aggregation • Lightweight concurrency control (lazy aggregation) 0 2 4 6 8 10 12 14 16 18 20 Rabbit BFS RCM ND LLP Shingle Degree Avg.speedupvs.1thread Reordering time 12 threads 24 threads 48 threads (HT) Scalable
  • 38. J. Arai+, "Rabbit Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 38 Conclusion • Reordering improves locality of graph analysis • But existing algorithms tend to increase end-to-end runtime • Rabbit Order reduces the end-to-end runtime by two main techniques: 1. Hierarchical community-based ordering for high locality 2. Parallel incremental aggregation for fast reordering • Up to 3.5x speedup for PageRank • Also effective for various analysis algorithms Implementation available https://git.io/rabbit (for evaluation purposes only)