mapgraph a high level api for fast development of high ... · pdf filedevelopment of high...

19
MapGraph A High Level API for Fast Development of High Performance Graphic Analytics on GPUs http://mapgraph.io Zhisong Fu, Michael Personick and Bryan Thompson SYSTAP, LLC

Upload: phunghanh

Post on 18-Feb-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: MapGraph A High Level API for Fast Development of High ... · PDF fileDevelopment of High Performance Graphic Analytics on GPUs http ... funded by the DARPA XDATA program under AFRL

MapGraph

A High Level API for Fast Development of High Performance

Graphic Analytics on GPUs

http://mapgraph.io

Zhisong Fu, Michael Personick and Bryan Thompson

SYSTAP, LLC

Page 2: MapGraph A High Level API for Fast Development of High ... · PDF fileDevelopment of High Performance Graphic Analytics on GPUs http ... funded by the DARPA XDATA program under AFRL

Outline

• Motivations

• MapGraph overview

• Results

• Summary

SYSTAP™, LLC

© 2006-2014 All Rights Reserved

Page 3: MapGraph A High Level API for Fast Development of High ... · PDF fileDevelopment of High Performance Graphic Analytics on GPUs http ... funded by the DARPA XDATA program under AFRL

GPUs – A Game Changer for Graph Analytics? • Graphs are everywhere in data, also

getting bigger and bigger

• GPUs may be the technology that finally delivers real-time analytics on large graphs

• 10x flops over CPU

• 10x memory bandwidth

• This is a hard problem

• Irregular memory access

• Load imbalance

• Significant speed up over CPU on BFS [Merrill2013]

• Over 10x speedup over CPU

SYSTAP™, LLC

© 2006-2014 All Rights Reserved

0

500

1000

1500

2000

2500

3000

3500

1 10 100 1000 10000 100000Mill

ion

Tra

vers

ed E

dg

es p

er S

eco

nd

Average Traversal Depth

NVIDIA Tesla C2050

Multicore per socket

Sequential

Page 4: MapGraph A High Level API for Fast Development of High ... · PDF fileDevelopment of High Performance Graphic Analytics on GPUs http ... funded by the DARPA XDATA program under AFRL

Low-level VS. High-level

Low-level approach

• BFS: [Merrill2013]

• PageRank: [Duong2012]

• SSSP: [Davidson2014]

• Pros: High performance

• Cons: Difficulty to develop

Reinvent the wheels

High-level approach

• GraphLab [Low2012]

• Medusa [Zhong2013]

• Totem [Gharaibeh2013]

Pros: High programmability

Cons: Low Performance

SYSTAP™, LLC

© 2006-2014 All Rights Reserved

Page 5: MapGraph A High Level API for Fast Development of High ... · PDF fileDevelopment of High Performance Graphic Analytics on GPUs http ... funded by the DARPA XDATA program under AFRL

MapGraph

SYSTAP™, LLC

© 2006-2014 All Rights Reserved

• High-level graph processing framework • High programmability: only C++ sequential GPU architecture Optimization techniques CUDA, OpenCL • High performance Comparable to low-level approach

Page 6: MapGraph A High Level API for Fast Development of High ... · PDF fileDevelopment of High Performance Graphic Analytics on GPUs http ... funded by the DARPA XDATA program under AFRL

SYSTAP™, LLC

© 2006-2014 All Rights Reserved

GAS Abstraction

Gather

Page 7: MapGraph A High Level API for Fast Development of High ... · PDF fileDevelopment of High Performance Graphic Analytics on GPUs http ... funded by the DARPA XDATA program under AFRL

SYSTAP™, LLC

© 2006-2014 All Rights Reserved

GAS Abstraction

Gather

Apply

Page 8: MapGraph A High Level API for Fast Development of High ... · PDF fileDevelopment of High Performance Graphic Analytics on GPUs http ... funded by the DARPA XDATA program under AFRL

SYSTAP™, LLC

© 2006-2014 All Rights Reserved

GAS Abstraction

Gather

Apply

Scatter = Expand + Contract

Page 9: MapGraph A High Level API for Fast Development of High ... · PDF fileDevelopment of High Performance Graphic Analytics on GPUs http ... funded by the DARPA XDATA program under AFRL

SYSTAP™, LLC

© 2006-2014 All Rights Reserved

GAS Abstraction

Gather

Apply

Scatter = Expand + Contract

Frontier size > 0

Page 10: MapGraph A High Level API for Fast Development of High ... · PDF fileDevelopment of High Performance Graphic Analytics on GPUs http ... funded by the DARPA XDATA program under AFRL

MapGraph Runtime Pipeline

SYSTAP™, LLC

© 2006-2014 All Rights Reserved

Page 11: MapGraph A High Level API for Fast Development of High ... · PDF fileDevelopment of High Performance Graphic Analytics on GPUs http ... funded by the DARPA XDATA program under AFRL

Experiment Datasets

SYSTAP™, LLC

© 2006-2014 All Rights Reserved

Dataset #vertices #edges Max Degree MTEPS (BFS)

Webbase 1,000,005 3,105,536 23 514

Delaunay 2,097,152 6,291,408 4,700 154

Bitcoin 6,297,539 28,143,065 4,075,472 75

Wiki 3,566,907 45,030,389 7,061 821

Kron 1,048,576 89,239,674 131,505 1,871

154.0

513.6

74.8

821.3

1870.9

0

200

400

600

800

1,000

1,200

1,400

1,600

1,800

2,000

Webbase Delaunay Bitcoin Wiki Kron

MTE

PS

Page 12: MapGraph A High Level API for Fast Development of High ... · PDF fileDevelopment of High Performance Graphic Analytics on GPUs http ... funded by the DARPA XDATA program under AFRL

Results: Compare to Other GPU implementations

12

SYSTAP™, LLC

© 2006-2014 All Rights Reserved

0.10

1.00

10.00

100.00

Webbase Delaunay Bitcoin Wiki Kron

Spe

ed

up

MapGraph Speedups vs Other GPU Implementations

Medusa

B40c

Page 13: MapGraph A High Level API for Fast Development of High ... · PDF fileDevelopment of High Performance Graphic Analytics on GPUs http ... funded by the DARPA XDATA program under AFRL

BFS Results: Compare to GraphLab

13

SYSTAP™, LLC

© 2006-2014 All Rights Reserved

0.10

1.00

10.00

100.00

1,000.00

Webbase Delaunay Bitcoin Wiki Kron

Spe

ed

up

MapGraph Speedup vs GraphLab (BFS)

GL-2

GL-4

GL-8

GL-12

MPG

Page 14: MapGraph A High Level API for Fast Development of High ... · PDF fileDevelopment of High Performance Graphic Analytics on GPUs http ... funded by the DARPA XDATA program under AFRL

PageRank Results: Compare to GraphLab

SYSTAP™, LLC

© 2006-2014 All Rights Reserved

0.10

1.00

10.00

100.00

Webbase Delaunay Bitcoin Wiki Kron

Spe

ed

up

MapGraph Speedup vs GraphLab (PR)

GL-2

GL-4

GL-8

GL-12

MPG

Page 15: MapGraph A High Level API for Fast Development of High ... · PDF fileDevelopment of High Performance Graphic Analytics on GPUs http ... funded by the DARPA XDATA program under AFRL

MapGraph API

Gather

gatherOverEdges

gather_edge

gather_sum

gather_vertex

SYSTAP™, LLC

© 2006-2014 All Rights Reserved

Apply apply

Expand

expandOverEdges

expand_vertex

expand_edge

Contract contract

Scatter = Expand + Contract

Page 16: MapGraph A High Level API for Fast Development of High ... · PDF fileDevelopment of High Performance Graphic Analytics on GPUs http ... funded by the DARPA XDATA program under AFRL

Example: PageRank Implementation

SYSTAP™, LLC

© 2006-2014 All Rights Reserved

• Gather, Apply, Scatter phases

User Data VertexType float* d_ranks; int* d_num_out_edge;

Gather

gatherOverEdges return GATHER_IN_EDGES;

gather_edge float nb_rank = d_dists[neighbor_id]; new_rank = nb_rank / d_num_out_edge[neighbor_id];

gather_sum return left + right;

Apply apply

float old_value = d_ranks[vertex_id]; float new_value = 0.15f + (1.0f - 0.15f) * gathervalue; changed = fabs(old_value – new_value) >= 0.01f; d_dists[vertex_id] = new_value;

Expand

expandOverEdges return EXPAND_OUT_EDGES;

expand_vertex return changed;

expand_edge frontier = neighbor_id;

Page 17: MapGraph A High Level API for Fast Development of High ... · PDF fileDevelopment of High Performance Graphic Analytics on GPUs http ... funded by the DARPA XDATA program under AFRL

Future Work

• GPU cluster: 2D partitioning (aka vertex cuts)

• In collaboration with SCI Institute of the University of Utah

• Compute grid defined over virtual nodes.

• Patches assigned to virtual nodes based on source and target identifier of the edge.

• Topology, message and data compression

SYSTAP™, LLC

© 2006-2014 All Rights Reserved

in-e

dge

s

out-edges

target vertex ids

So

urc

e v

ert

ex id

s

Page 18: MapGraph A High Level API for Fast Development of High ... · PDF fileDevelopment of High Performance Graphic Analytics on GPUs http ... funded by the DARPA XDATA program under AFRL

Summary

• MapGraph: high-level graph processing framework • http://mapgraph.io

• High programmability: • GAS abstraction • Simple and flexible API

• High performance: • Hybrid scheduling strategy • Structure Of Arrays

SYSTAP™, LLC

© 2006-2014 All Rights Reserved

Page 19: MapGraph A High Level API for Fast Development of High ... · PDF fileDevelopment of High Performance Graphic Analytics on GPUs http ... funded by the DARPA XDATA program under AFRL

Acknowledgement

• This work was (partially) funded by the DARPA XDATA program under AFRL Contract #FA8750-13-C-0002.

• This work is also supported by the DARPA under Contract No. D14PC00029.

• Many thanks to Dr. Christopher White for the support.

SYSTAP™, LLC

© 2006-2014 All Rights Reserved