1
GABB: May 23, 2016
Graph Analytics: Complexity, Scalability, and Architectures
Peter M. Kogge McCourtney Prof. of CSE
- Univ. of Notre Dame
Graph Analytics: Complexity, Scalability, and Architectures Peter - - PowerPoint PPT Presentation
Graph Analytics: Complexity, Scalability, and Architectures Peter M. Kogge McCourtney Prof. of CSE Univ. of Notre Dame IBM Fellow (retired) Please Sir, I want more GABB: May 23, 2016 1 Thesis Graph computation is increasing To
1
GABB: May 23, 2016
2
GABB: May 23, 2016
3
GABB: May 23, 2016
4
GABB: May 23, 2016
http://icensa.com/sites/default/files/styles/research_image/public/Unknown.png?itok=HfBBjbJK https://www.researchgate.net/profile/ Mehmet_Bakal/publication/266968024/ figure/fig4/AS: 295737989582855@1447520839376/ Figure-42-A-sample-basic-retweet- graph.png
5
GABB: May 23, 2016
6
GABB: May 23, 2016
7
GABB: May 23, 2016
Kernel Class: what class of computing kernel performs Benchmarking Efforts
Outputs: what is size or structure of result of kernel execution?
Connectedness Path ¡Analysis Centrality Clustering Subgraph ¡Isomorphism Other Standalone Firehose Graph500 GraphBLAS Graph ¡Challenge Graph ¡Algorithm ¡Platform HPC ¡Graph ¡Analysis Kepner ¡& ¡Gilbert Stinger VAST Graph ¡Modification Compute ¡Vertex ¡Property Output ¡Global ¡Value Output ¡O(1) ¡Events Output ¡O(|V|) ¡List Output ¡O(|V|k) ¡List ¡(k>1) Anomaly ¡-‑ ¡Fixed ¡Key X S X Anomaly ¡-‑ ¡Unbounded ¡Key X S X Anomaly ¡-‑ ¡Two-‑level ¡Key X S X BC: ¡Betweeness ¡Centrality X B B B S X BFS: ¡Breadth ¡First ¡Search X B B B B B B X X Search ¡for ¡"Largest" X B X CCW: ¡Weakly ¡Connected ¡Components X B B S X X CCS: ¡ ¡Strongly ¡Connected ¡Components X B B X CCO: ¡Clustering ¡Coefficients X B S X CD: ¡Community ¡Detection X X S X X GC: ¡Graph ¡Contraction X B B X GP: ¡Graph ¡Partitioning X B/S B X GTC: ¡Global ¡Triangle ¡Counting X B X Insert/Delete X S X Jaccard X B/S X MIS: ¡Maximally ¡Independent ¡Set B B PR: ¡PageRank X B X SSSP: ¡Single ¡Source ¡Shortest ¡Path X B B/S B X X APSP: ¡All ¡pairs ¡Shortest ¡Path X B X SI: ¡General ¡Subgraph ¡Isomorphism X B/S TL: ¡Triangle ¡Listing X B/S X Geo ¡& ¡Temporal ¡Correlation X B/S X
Kernel
Kernel ¡Class Benchmarking ¡Efforts Outputs
8
GABB: May 23, 2016
9
GABB: May 23, 2016
10
GABB: May 23, 2016
11
GABB: May 23, 2016
12
GABB: May 23, 2016
Software Architecture:
https://upload.wikimedia.org/wikipedia/ commons/0/02/Fig4b_HPCC.jpg
13
GABB: May 23, 2016
14
GABB: May 23, 2016
1.E-‑02 1.E-‑01 1.E+00 1.E+01 1.E+02 1.E+03 1 2 3 4 5 6 7 8 9
Disk CPU Memory Network
15
GABB: May 23, 2016
16
GABB: May 23, 2016
17
GABB: May 23, 2016
18
GABB: May 23, 2016
1.E+02 1.E+03 1.E+04 1.E+05 1.E+04 1.E+05 1.E+06 1.E+07 1.E+08
Time ¡(Sec) Vertices
Measured Modeled 1.E+07 1.E+08 1.E+09 1.E+10 1.E+11 1.E+12 1.E+13 1.E+04 1.E+05 1.E+06 1.E+07 1.E+08
Coefficients Vertices
Measured Modeled
Burkhardt “Asking Hard Graph Questions,” Beyond Watson Workshop, Feb. 2014. RMAT matrices, average d(i) = 16, on 1000 node system, each with 12 cores & 64GB # Coefficients grows more rapidly than # vertices Time also grows more than linearly
19
GABB: May 23, 2016
20
GABB: May 23, 2016
– Start with ID1 and find all ID2 reachable via shared address – Score each path – Sum all path scores & pass (ID1, ID2) if > threshold
21
GABB: May 23, 2016
22
GABB: May 23, 2016
23
GABB: May 23, 2016
24
GABB: May 23, 2016
25
GABB: May 23, 2016
Property Updates
Persistent Big Data/Graph Data Set Seed Identification
Selection Criteria
Subgraph Extraction
Seeds
Sub Graph Sub Graph Sub Graph Batch Analytics Batch Analytics Batch Analytics Local Update
Real-Time, Stream Events Events Graph Properties
26
GABB: May 23, 2016
27
GABB: May 23, 2016
https://www.micron.com/products/hybrid-memory-cube/~/media/track-2-images/content-images/content_image_knights_landing_1200_x_600.jpg?la=en
28
GABB: May 23, 2016
Song, et al. “Novel Graph Processor Architecture, Prototype System, and Results,” IEEE HPEC 2016
Matrix Reader Matrix Memory Sorter ALU Matrix Writer Control Network Interface
29
GABB: May 23, 2016
– Perform local computations & memory references (inc. atomics) – Migrate to other Nodelets w’o software involvement – Spawn new Threads – Call System Services on SCs
cores)
– Execute Operating System – Manage IO / File System – Call or Spawn Gossamer Threads
Nodes Internal ¡Network Memory Controller GCore GCore GCore GCore Memory Nodelets
Memory Controller GCore GCore GCore GCore Memory Migration ¡Engine ¡& ¡Network ¡ I/F Memory Controller GCore GCore GCore GCore Memory Nodelets
Memory Controller GCore GCore GCore GCore Memory Migration ¡Engine ¡& ¡Network ¡ I/F
30
GABB: May 23, 2016
Migrating Threads on the Emu System Architecture,” SC16
31
GABB: May 23, 2016
Property Updates
Selection Criteria
Seeds
Real-Time, Stream Events Events Graph Properties
32
GABB: May 23, 2016
0.1 1 10 100 1000 1 2 3 4 5 6 7 8 9 10
Speedup ¡over ¡2012 ¡Baseline Racks
HeavyWeight Lightweight Next-‑Gen ¡Compute Emu
Emu1 assumes 400MHz GCs 2400 MT/s DRAM Channels
33
GABB: May 23, 2016
34
GABB: May 23, 2016