Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe...
Transcript of Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe...
![Page 1: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/1.jpg)
1
dr. ir. Alexandru Iosup
Distributed Systems Group
@AIosup
Graphalytics = From
Benchmarking to Performance
Engineering, leading to
Massivizing Graph-Processing
Systems
Presentation developed jointly with Ana Lucia Varbanescu.
Several slides developed jointly with Yong Guo.
Tim Hegeman, Wing-Lung Ngai, and Stijn Heldens.
![Page 2: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/2.jpg)
2
(TU) Delft – the Netherlands – Europe
pop.: 100,000 pop: 16.5 M
founded 13th centurypop: 100,000
founded 1842pop: 15,000
Barcelona
Delft
![Page 3: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/3.jpg)
3
Graphs Are at the Core of Our Society:
The LinkedIn Example
Feb 2012100M Mar 2011, 69M May 2010
Sources: Vincenzo Cosenza, The State of LinkedIn, http://vincos.it/the-state-of-linkedin/
via Christopher Penn, http://www.shiftcomm.com/2014/02/state-linkedin-social-media-dark-horse/
A very good resource for matchmaking workforce and
prospective employers
Vital for your company’s life,
as your Head of HR would tell you
Vital for the prospective employees
Tens of “specialized LinkedIns”: medical, mil, edu, gov, ...
400 million Q3
2015
![Page 4: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/4.jpg)
4
LinkedIn’s Service/Ops Analytics
Feb 2012100M Mar 2011, 69M May 2010
Sources: Vincenzo Cosenza, The State of LinkedIn, http://vincos.it/the-state-of-linkedin/
via Christopher Penn, http://www.shiftcomm.com/2014/02/state-linkedin-social-media-dark-horse/
but fewer visitors (and page views)
3-4 new users every second
By processing the graph:
opinion mining, hub detection,
etc. Always new questions
about whole dataset.
Apr 2014300,000,000100+ million questions of
customer retention,
of (lost) customer influence, of ...
Plus new hypotheses to test on
whole dataset.
![Page 5: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/5.jpg)
5
Why Analytics?
Feb 2012100M Mar 2011, 69M May 2010
Sources: Vincenzo Cosenza, The State of LinkedIn, http://vincos.it/the-state-of-linkedin/
via Christopher Penn, http://www.shiftcomm.com/2014/02/state-linkedin-social-media-dark-horse/
but fewer visitors (and page views)
3-4 new users every second
Great, if you can
process this graph:
opinion mining,
hub detection, etc.
Apr 2014300,000,000100+ million questions of
customer retention,
of (lost) customer influence, of ...
Periodic and/or continuous
full-graph analytics
![Page 6: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/6.jpg)
6
How to do Analytics? Graph Processing @large
A Graph Processing Platform
Streaming not considered in this presentation.
Interactive processing not considered in this presentation.
AlgorithmETL(Extraction, Transf, Loading)
Active Storage(filtering, compression,
replication, caching)
Distributionto processing
platform
![Page 7: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/7.jpg)
7
The Data Deluge vs. Analytics
Graph-processing is at the core of our society
Graph processing @large
Which to select? What to tune? What to re-design?
A performance comparison of graph-processing systems
Take-home message
![Page 8: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/8.jpg)
The data deluge: large-scale graphs
Web graph
~50 billion pages
~1 trillion hyperlinks
Brain network
~100 billion neurons
~100 trillion connections
Source: Smith, CHI’10; Blog webpage; Gigandet et al., PLoS ONE 3(12)]
Social network
~1 billion vertices
~100 billion connections
![Page 9: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/9.jpg)
9
The data deluge: graphs everywhere!
270M MAU200+ avg followers
>54B edges
1.2B MAU 0.8B DAU200+ avg followers
>240B edges
400M users
??? edges
![Page 10: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/10.jpg)
10
The data deluge: graphs everywhere!
270M MAU200+ avg followers
>54B edges
1.2B MAU 0.8B DAU200+ avg followers
>240B edges
company/day: 40-60 posts, 500-700 comments
Oracle 1.2M followers,132k employees
![Page 11: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/11.jpg)
The data deluge vs. Analytics
270M MAU200+ avg followers
>54B edges
1.2B MAU 0.8B DAU200+ avg followers
>240B edges
company/day: 40-60 posts, 500-700 comments
Oracle 1.2M followers,132k employees
Data-intesive workload10x graph size 100x—1,000x slower
![Page 12: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/12.jpg)
12
The data deluge vs. Analytics
270M MAU200+ avg followers
>54B edges
1.2B MAU 0.8B DAU200+ avg followers
>240B edges
company/day: 40-60 posts, 500-700 comments
Compute-intesive workloadmore complex analysis ?x slower
Oracle 1.2M followers,132k employees
Data-intesive workload10x graph size 100x—1,000x slower
![Page 13: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/13.jpg)
13
The data deluge vs. Analytics
270M MAU200+ avg followers
>54B edges
1.2B MAU 0.8B DAU200+ avg followers
>240B edges
company/day: 40-60 posts, 500-700 comments
Compute-intesive workloadmore complex analysis ?x slower
Dataset-dependent workloadunfriendly graphs ??x slower
Oracle 1.2M followers,132k employees
Data-intesive workload10x graph size 100x—1,000x slower
![Page 14: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/14.jpg)
![Page 15: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/15.jpg)
![Page 16: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/16.jpg)
The “sorry, but…” moment
Supporting multiple users10x number of users ????x slower
![Page 17: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/17.jpg)
Supporting multiple users10x number of users ????x slower
Compute-intesive workloadmore complex analysis ?x slower
Dataset-dependent workloadunfriendly graphs ??x slower
Data-intesive workload10x graph size 100x—1,000x slower
What would you do to solve this?
![Page 18: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/18.jpg)
18
Graph Processing @Large
Graph-processing is at the core of our society
The data deluge vs. Analytics
Which to select? What to tune? What to re-design?
A performance comparison of graph-processing systems
Take-home message
![Page 19: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/19.jpg)
19
Graph Processing @large
A Graph Processing Platform
Streaming not considered in this presentation.
Interactive processing not considered in this presentation.
AlgorithmETL
Active Storage(filtering, compression,
replication, caching)
Distributionto processing
platform
Ideally,
N cores/disks Nx
faster
Ideally,
N cores/disks Nx
faster Ideally, Parallel/
Distributed/
Heterogeneous
![Page 20: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/20.jpg)
Graph processing systems
Custom
Systems
Generic
Systems
Dedicated
Systems
Performance
Development Effort
• Specify application• Choose the hardware • Implement & optimize• Think Graph500 performers
• Use existing distributed systems
• Mapping is difficult
• Parallelism is “free”
• Think Hadoop/Spark
• Systems for graph processing • Separate users from backends• Think Giraph
![Page 21: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/21.jpg)
21
System diversity (CPU-based)
YARN
Trinity
Dedicated Systems
Generic
Intel Graphmat
![Page 22: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/22.jpg)
22
System diversity (GPU-enabled)Dedicated Systems
Generic
![Page 23: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/23.jpg)
23
Graph-Processing Platforms
Platform: the combined hardware, software, and programming system that is being used to complete a graph processing task
Trinity
2
Which to choose?
What to tune?
What to re-design?
Intel Graphmat
![Page 24: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/24.jpg)
24
Graphalytics:
Which system to select?
What to tune? What to re-design?
Graph-processing is at the core of our society
The data deluge vs. Analytics
Graph processing @large
A performance comparison of graph-processing systems
Take-home message
![Page 25: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/25.jpg)
Benchmarking, but … What Is a Benchmark?
Benchmark definition must include:Data schema: data representation
Workloads: formalize datasets + algorithms
Performance metrics: from performance to non-traditional to cost-related
Execution rules: how to run the benchmark tests, parameter values, etc.
Desirable support for stakeholders:Live addition of results
Curation of added results
Auditing results
![Page 26: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/26.jpg)
26
What is the performance of
graph-processing platforms?
• Graph500
• Single application (BFS), Single class of synthetic datasets. @ISC16: future diversification.
• Few existing platform-centric comparative studies
• Prove the superiority of a given system, limited set of metrics
• GreenGraph500, GraphBench, XGDBench
• Issues with representativeness, systems covered, metrics, …
Metrics
Diversity
Graph
Diversity
Algorithm
Diversity
![Page 27: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/27.jpg)
27
What is the performance of
graph-processing platforms?
• Graph500
• Single application (BFS), Single class of synthetic datasets
• Few existing platform-centric comparative studies
• Prove the superiority of a given system, limited set of metrics
• GreenGraph500, GraphBench, XGDBench
• Representativeness, systems covered, metrics, …
Metrics
Diversity
Graph
Diversity
Algorithm
Diversity
Graphalytics = comprehensive benchmarking suite for
graph processing across many platforms
Why is “LDBC” here?
![Page 28: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/28.jpg)
ldbcouncil.org
![Page 29: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/29.jpg)
29
Graphalytics, in a nutshell
http://graphalytics.ewi.tudelft.nl
https://github.com/tudelft-atlarge/graphalytics/
• An LDBC benchmark*
• Advanced benchmarking harness
• Many classes of algorithms used in practice
• Diverse real and synthetic datasets
• Diverse set of experiments representative for practice
• Granula for manual choke-point analysis
• Modern software engineering practices
• Supports many platforms
• Enables comparison of community-driven and industrial systems
![Page 30: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/30.jpg)
30
Benchmarking Harness
Iosup et al. LDBC Graphalytics: A Benchmark for Large
Scale Graph Analysis on Parallel and Distributed Platform, VLDB’16.
![Page 31: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/31.jpg)
31
Graphalytics = Representative
Classes of Algorithms and Datasets
• 2-stage selection process of algorithms and datasets
Class Examples %
Graph Statistics Diameter, Local Clust. Coeff., PageRank 20
Graph Traversal BFS, SSSP, DFS 50
Connected Comp. Reachability, BiCC, Weakly CC 10
Community Detection Clustering, Nearest Neighbor,
Community Detection w Label Propagation
5
Other Sampling, Partitioning <15
Guo et al. How Well do Graph-Processing Platforms Perform? An Empirical Performance
Evaluation and Analysis, IPDPS’14.
+ weighted graphs: Single-Source Shortest Paths (~35%)
![Page 32: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/32.jpg)
Graphalytics = Distributed Graph
Generation w DATAGEN
Person
Generation
Edge
Generation
Activity
Generation
“Knows”
graph
serializatio
n
Activity
serialization
Graphalytics
32
• Rich set of configurations
• More diverse degree distribution than Graph500
• Realistic properties, e.g., clustering coefficient and assortativity
Level of
Detail
![Page 33: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/33.jpg)
33
Graphalytics = Diverse Automated Experiments
Category Experiment Algo. Data Nodes/
Threads
Metrics
Baseline Dataset variety BFS,PR All 1 Run, norm.
Algorithm variety All R4(S),
D300(L)
1 Runtime
Scalability Vertical vs. horiz. BFS, PR D300(L),
D1000(XL)
1—16/1—32 Runtime, S
Weak vs. strong BFS, PR G22(S)—
G26(XL)
1—16/1—32 Runtime, S
Robustness Stress test BFS All 1 SLA met
Variability BFS D300(L),
D1000(L)
1/16 CV
Self-Test Time to run/part -- Datagen 1—16 Runtime
![Page 34: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/34.jpg)
Graphalytics = Portable
Performance Analysis w Granula
Graph Processing System
Logging Patch
Performance
Analyzer
Granula
Performance
Archive
Granula
Performance
Model
ModelingArchiving
logs
rules
Granula
Archiver
Sharing
Monitoring
Minimal code invasion + automated data collection at runtime
+ portable archive (+ web UI) portable bottleneck analysis
![Page 35: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/35.jpg)
35
Graphalytics = Modern Software
Engineering Process
https://github.com/tudelft-atlarge/graphalytics/
Graphalytics code reviewsInternal release to LDBC partners (first, Feb 2015; last, Feb 2016)
Public release, announced first through LDBC (Apr 2015)
First full benchmark specification, LDBC criteria (Q1 2016)
Jenkins continuous integration server
SonarQube software quality analyzer
![Page 36: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/36.jpg)
Implementation statusMR2
Gi-raph
GraphX
Power
Graph
GraphLab
Neo4j PGX.D
Grap
h
Mat
Open
G
TOTEM MapGraph
Medu
sa
LCC G G G G G G -- G G -- -- --
BFS G G G G G G G G G V V V
WCC G G G G G G G G G V V V
CDLP G G G G G G G G G -- -- --
P’Rank
-- G G G V -- G G G V V V
SSSP -- G G G -- -- G G G -- -- --
https://github.com/tudelft-atlarge/graphalytics/
G=validated, on GitHub
V=validation stage
![Page 37: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/37.jpg)
Implementation statusMR2
Gi-raph
GraphX
Power
Graph
GraphLab
Neo4j PGX.D
Grap
h
Mat
Open
G
TOTEM MapGraph
Medu
sa
LCC G G G G G G -- G G -- -- --
BFS G G G G G G G G G V V V
WCC G G G G G G G G G V V V
CDLP G G G G G G G G G -- -- --
P’Rank
-- G G G V -- G G G V V V
SSSP -- G G G -- -- G G G -- -- --
Benchmarking and tuning performed by vendors
G=validated, on GitHub
V=validation stage
![Page 38: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/38.jpg)
38
Graphalytics Capabilities: An ExampleGraphalytics enables deep comparison of many systems at once, through
diverse experiments and metrics
Your system here!
Diverse algorithms Diverse metrics
Diverse
datasets
![Page 39: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/39.jpg)
39
Processing time (s) + Edges[+Vertices]/s
Which system is the best?
It depends…
Algorithm + Dataset + Metric
OK, but … why is this system better
for this workload for this metric?
![Page 40: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/40.jpg)
40
Graphalytics:
Which system to select?
What to tune? What to re-design?
Graph-processing is at the core of our society
The data deluge vs. Analytics
Graph processing @large
A performance comparison of graph-processing systems
Take-home message
![Page 41: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/41.jpg)
Coarse-grained vs Fine-grained Evaluation (1)
Fine-grained evaluation method is more comprehensive
system viewed as a black-boxCoarse-grained Method Fine-grained Method
system viewed as a white-box
Algorithms, Datasets, Resources Algorithms, Datasets, Resources
(Overall Execution Time)
Graph
processing
system
Fine-grained metricsCoarse-grained metrics
IO operations
Processing
Overheads
(Stage 3 time, straggler tasks)
![Page 42: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/42.jpg)
Coarse-grained vs Fine-grained Evaluation (2)
… but more time-consuming, esp. to implement
knowledge at conceptual level
Graph
Processing
Systems
Distributed
Infrastructure
Few, coarse-grained results
Coarse-grained Method Fine-grained Method
Many, fine-grained results
knowledge at technical level
Fine-grained evaluation method is more comprehensive
GranularAbstract
![Page 43: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/43.jpg)
Graphalytics:
Granula Overview
Modeling
Archiving Visualizing
1
2 3
Concepts
Information
Feedback
https://github.com/tudelft-atlarge/granula/
Fine-grained Method
Granular
1
2
3
![Page 44: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/44.jpg)
Granula Modeller
Operation [Actor @ Mission]
Operation
Operation Operation Operation
Info [StartTime]
Info [EndTime]
Info [….............]
Visual
Visual
Visual
Job
::
1
2
31
Time-consuming, expert-only,
Done only once per platform, but incrementally
![Page 45: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/45.jpg)
Incremental Model of Graph-Processing in GiraphGranula Modeller
1
![Page 46: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/46.jpg)
Granula Archiver
Graph Processing System
Logging Patch
Performance
Analyzer
Job
Performance
Archive
Performance
Model
Modeling Archiving
logs
rules
Granula
Archiver
1
2
32
Time-consuming, minimal code invasion,
automated data collection at runtime, portable archive
![Page 47: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/47.jpg)
Granula VisualizerPortable choke-point analysis for everyone!
3
Computation imbalance!
![Page 48: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/48.jpg)
48
A Performance Comparison of
Graph-Processing Systems
Graph-processing is at the core of our society
The data deluge vs. Analytics
Graph processing @large
Graphalytics: Which system to select? What to tune? What to re-design?
Take-home message
![Page 49: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/49.jpg)
BFS Algorithm: All CPU Platforms, All Datasets
No platform runs fastest for all graphs, but Hadoop is the worst performer.
Not all platforms can process all graphs, but Hadoop processes everything.
Better
Always consider reliability!
![Page 50: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/50.jpg)
PageRank Algorithm: All GPU Platforms, Datasets
100
101
102
103
104
Amazon
WikiTalk
Citation
KGSDotaLeague
Scale-22
Alg
ori
thm
ru
n t
ime
[m
s]
Datasets
M
T-H
T-G
MG
Better
• Medusa, MapGraph fail on larger
datasets, with MG failing earlier
• Medusa better for small datasets
• Totem the only system able to
process all tried datasets
Guo et al. How Well do Graph-Processing Platforms Perform? An
Empirical Performance Evaluation and Analysis, IPDPS’14.
Always consider reliability!
![Page 51: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/51.jpg)
53
2 orders of magnitude
difference due to platform
M. Capota et al., Graphalytics: A Big Data Benchmark
for Graph-Processing Platforms. SIGMOD GRADES 2015
Runtime: The Platform Has Large Impact
Better
![Page 52: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/52.jpg)
54
Neo4j : MapReduce ~ 1:2
Neo4j can fail
Runtime: The Dataset Has Large Impact
M. Capota et al., Graphalytics: A Big Data Benchmark
for Graph-Processing Platforms. SIGMOD GRADES 2015
Neo4j : MapReduce ~ 2:1
Better
![Page 53: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/53.jpg)
55
~7x smaller
Throughput: The Dataset Has Large Impact
M. Capota et al., Graphalytics: A Big Data Benchmark
for Graph-Processing Platforms. SIGMOD GRADES 2015
~2.5x larger
~20x differenceBetter
![Page 54: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/54.jpg)
56
The Platform-Algorithm-Dataset (PAD) Triangle
for Performance Engineering of
Graph-Processing Systems
Algorithm
Dataset Platform
OverstudiedPerformance is enabledPortability is disabled
In progress Algorithms for differentdata types and graphs
UnderstudiedNo systematic findings yetMust be correlated with the algorithm
Introduced
by Ana Lucia
Varbanescu.
![Page 55: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/55.jpg)
Lessons learned*
Performance of graph processing is function of
(Dataset, Algorithm, Platform, Deployment)
All current platforms have important drawbacks
(crashes, long execution time, tuning, etc.)
Best-performing is not only low response time
Scalability with cluster size/number of cores varies per system
Ease-of-use of a platform is very important
![Page 56: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/56.jpg)
58
Take-Home Message
Graph-processing is at the core of our society
The data deluge vs. Analytics
Graph processing @large
Graphalytics: Which system to select? What to tune? What to re-design?
A performance comparison of graph-processing systems
![Page 57: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/57.jpg)
Take-Home Message
Custom
Generic
Dedicated
Systems
Performance
Development Effort
Graphalytics: unified view and benchmarking of
tens of systems, with little effort
The P-A-D Triangle:
Performance = f ( Algorithm, Dataset, Platform, … )
Granula: iterative, fine-grained, shareable performance evaluation to
enable performance engineering
Towards addressing the graph data deluge with
high performance, low development effort
![Page 58: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/58.jpg)
60
Reading List
• Alexandru Iosup, Tim Hegeman, Wing Lung Ngai, Stijn Heldens, Arnau Prat Perez,
Thomas Manhardt, Hassan Chaffi, Mihai Capotă, Narayanan Sundaram, Michael Anderson,
Ilie Gabriel Tanase, Yinglong Xia, Lifeng Nai, Peter Boncz, LDBC Graphalytics: A Benchmark forLarge-Scale
Graph Analysis on Parallel andDistributed Platforms, VLDB’16.
• Mihai Capotă, Tim Hegeman, Alexandru Iosup, Arnau Prat-Pérez, Orri Erling, and Peter Boncz, Graphalytics: A
Big Data Benchmark for Graph-Processing Platforms, International Workshop on Graph Data Management
Experiences and Systems (GRADES), 2015.
• Guo et al., An Empirical Performance Evaluation of GPU-Enabled Graph-Processing Systems. CCGRID’15.
• A. Iosup, A. L. Varbanescu, M. Capotă, T. Hegeman, Y. Guo, W. L. Ngai, and M. Verstraaten, Towards
Benchmarking IaaS and PaaS Clouds for Graph Analytics, Workshop on Big Data Benchmarking (WBDB), 2014.
• Y. Guo, M. Biczak, A. L. Varbanescu, A. Iosup, C. Martella, and T. L. Willke, How Well Do Graph-Processing
Platforms Perform? An Empirical Performance Evaluation and Analysis, IEEE International Parallel and
Distributed Processing Symposium (IPDPS), 2014, pp. 395–404.
• Y. Guo, A. L. Varbanescu, A. Iosup, C. Martella, and T. L. Willke, Benchmarking graph-processing platforms,
ACM/SPEC International Conference on Performance Engineering (ICPE), 2014, pp. 289–292.
![Page 59: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/59.jpg)
61
![Page 60: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/60.jpg)
![Page 61: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/61.jpg)
64
System diversity (GPU-enabled)Dedicated Systems
Generic
![Page 62: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/62.jpg)
65
Medusa
• Enables the use of GPUs for graph processing
• Single-node, multiple GPUs
• In-memory processing
• Simple API that hides GPU programming
• Edge- / vertex-granularity that enables fine-grained parallelism.
• API calls are grouped in kernels
• Kernels are scheduled on one or multiple GPUs
• Run-time for communicating with the GPU
![Page 63: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/63.jpg)
66
Totem
• Enables use of GPUs (T-G)
• Enables *single-node* heterogeneous (T-H) computing on graphs
• Programming requires expert knowledge of all types of systems
• C+CUDA+API for specifying applications
• Based on BSP
• Partitions the data (edge-based) between CPUs and GPUs
• Based on processing capacity
• Minimizing the overhead of communication
• Buffer schemes, aggregation, smart partitioning
![Page 64: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/64.jpg)
67
MapGraph
• Target at high performance graph analytics on GPUs.
• Single GPU available and Multi-GPU ready
• Also available in a CPU-only version
• API based on the Gather-Apply-Scatter (GAS) model as used in
GraphLab.
• Productivity-oriented API
![Page 65: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/65.jpg)
Lessons learned from GPU-based systems
Brave attempts to enable the use of GPUs *inside* graph processing systems
Every system has its own quirks
Lower level programming allows more optimizations, better performance
Higher level APIs allow more productivity
No clear winner, performance-wise
Challenge:
Distributed accelerated graph-processing
![Page 66: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/66.jpg)
69
System diversity (CPU-based)
YARN
Trinity
Dedicated Systems
Generic
![Page 67: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/67.jpg)
Hadoop (Generic)
The most popular MapReduce implementation
Generic system for large-scale computation
Pros: Easy to understand model
Multitude of tools and storage systems
Cons: Express the graph application in MapReduce
Costly disk and network operations
No specific graph processing optimizations
![Page 68: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/68.jpg)
Hadoop2 with YARN (Generic)
Next generation of HadoopSupports old MapReduce jobs
Designed to facilitate multiple programming models (frameworks,
e.g., Spark)
Separates resource management (YARN) and
job managementMapReduce uses resources provided by YARN
![Page 69: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/69.jpg)
Stratosphere (Generic)
Now Apache Flink (now 6M$ investment from Intel)
Nephele resource manager Scalable parallel engine
Jobs are represented as DAGs
Supports data flow in-memory, via network, or via files
PACT job model5 second-order functions (MapReduce has 2):
Map, Reduce, Match, Cross, and CogGroup
Code annotations for compile-time plans
Compiled as DAGs for Nephele
![Page 70: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/70.jpg)
Pregel: dedicated graph-processing +
Apache Giraph (Dedicated)
Proposed a vertex-centric model for graph processingGraph-to-graph transformations
Front-end: Write the computation that runs on all vertices
Each vertex can vote to halt
All vertexes halt => terminate
Can add/remove edges and vertices
Back-end:Uses the BSP model
Message passing between nodes
Combiners, aggregators
Checkpointing for fault-tolerance
![Page 71: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/71.jpg)
GraphLab (Dedicated)
Distributed programming
model for machine learningProvides an API for graph processing, C++ based
(now Python)
All in-memory
Supports asynchronous processing
GraphChi is its single-node version,
Dato as GraphLab company
![Page 72: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/72.jpg)
Neo4J (Dedicated)
Very popular graph database Graphs are represented as relationships and annotated vertices
Single-node system Uses parallel processing
Additional caching and query optimizations
All in-memory
The most widely used solutions for medium-scale problems
Cluster version in development
![Page 73: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/73.jpg)
PGX.D (Dedicated)
Attend presentation of SC15 article!
Designed for beefy clustersFully exploits the underlying resources of modern
beefy cluster machines
Low-overhead communication mechanismLightweight cooperative context switching mechansim
Support for data-pulling (also data-pushing)Intuitive transformation of classical graph algorithms
Reducing traffic and balancing workloadsSeveral advanced techniques: Selective Ghostnodes,
edge based partitioning, edge chunking
![Page 74: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/74.jpg)
PGX.D: Programming ModelHigh level programming model for Neighborhood Iteration Tasks
foreach(n: G.nodes)foreach(t: n.Nbrs)
n.foo += t.bar class my_task_pull : public innbr_iter_task {void run(..) {read_remote(get_nbr_id(), bar);
}void read_done(void* buffer,..) {int foo_v = get_local<int>(node_id, foo);int bar_v= get_data<int>(buffer);set_local(node_id, foo_v + bar_v, foo);
}}
gm compiler
![Page 75: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/75.jpg)
GraphMat (Dedicated)
Vertex programming as front-end and
sparse matrix operations as back-end
“Matrix level performance with
vertex program productivity”
Unifying vertex programming w
linear algebra is new
![Page 76: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/76.jpg)
𝐴 𝐵 𝐶 𝐷 𝐸
𝐺𝑇 =
𝐴𝐵𝐶𝐷𝐸
− − − − 41 − − − −3 1 − − −2 − 2 − −− − − 2 −
B A
C D
E1
2
13
4
2 2
A Vertex Program (Single Source Shortest Path) ~ Giraph
SEND_MESSAGE : message ≔ vertex_distance
PROCESS_MESSAGE : result ≔ message + edge_value
REDUCE : result ≔ min(result, operand)
APPLY : vertex_distance = min(result, vertex_distance)
Example
![Page 77: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/77.jpg)
Granula Archiver
Graph Processing System
Logging Patch
Performance
Analyzer
Job
Performance
Archive
Performance
Model
Modeling Archiving
logs
rules
Granula
Archiver
1
2
32
Time-consuming, minimal code invasion,
automated data collection at runtime, portable archive
![Page 78: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/78.jpg)
Granula Visualizer1
2
33
Portable choke-point analysis for everyone!
![Page 79: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/79.jpg)
PGX.D: System Design Overview
Fast Network Connection
M2
CommunicationManager
copier thread
copier thread
copier thread RES RES RES…
REQ REQ REQ…
DataManager
TaskManager
DistributedProperty
Graph
Ghostnodes
Local Graph
GraphLoader
Edge-Partitioning
poller thread
worker thread
worker thread
worker thread
M1
Edgechunking
Task Task Task Task Task…
…
![Page 80: Graphalytics = From Benchmarking to Performance ... · 2 (TU) Delft –the Netherlands –Europe pop.: 100,000 pop: 16.5 M founded 13th century pop: 100,000 founded 1842 pop: 15,000](https://reader033.fdocuments.us/reader033/viewer/2022050306/5f6ed44036fe450fff4e3467/html5/thumbnails/80.jpg)
84
Icons