GridGraph: Large-Scale Graph Processing on a Single Machine Using 2-Level Hierarchical Partitioning. Xiaowei ZHU Tsinghua University

Size: px
Start display at page:

Download "GridGraph: Large-Scale Graph Processing on a Single Machine Using 2-Level Hierarchical Partitioning. Xiaowei ZHU Tsinghua University"

Transcription

1 GridGraph: Large-Scale Graph Processing on a Single Machine Using -Level Hierarchical Partitioning Xiaowei ZHU Tsinghua University

2 Widely-Used Graph Processing

3 Shared memory Single-node & in-memory Ligra, Galois, Polymer Distributed Multi-node & in-memory GraphLab, GraphX, PowerLyra Out-of-core Single-node & disk-based GraphChi, X-Stream, TurboGraph Existing Solutions 3

4 Existing Solutions Shared memory Large-scale Single-node & in-memory Ligra, Galois, Polymer Distributed Multi-node & in-memory GraphLab, GraphX, PowerLyra Out-of-core Single-node & disk-based GraphChi, X-Stream, TurboGraph Limited capability to big graphs Irregular structure Imbalance of computation and communication Inevitable random access Expensive disk random access 4

5 Existing Solutions Shared memory Large-scale Single-node & in-memory Ligra, Galois, Polymer Distributed Multi-node & in-memory GraphLab, GraphX, PowerLyra Out-of-core Single-node & disk-based GraphChi, X-Stream, TurboGraph Most cost effective! Limited capability to big graphs Irregular structure Balance of computation and communication Inevitable random access Expensive disk random access 5

6 Methodology How to handle graphs that is much larger than memory capacity? System Unit Partition! GraphChi TurboGraph X-Stream PathGraph FlashGraph GridGraph Shards Page Streaming Partitions Tree-Based Partitions Page Chunks & Blocks

7 State-of-the-Art Methodology X-Stream Access edges sequentially from disks Access vertices randomly inside memory Guarantee locality of vertex accesses by partitioning 7

8 State-of-the-Art Methodology X-Stream Access edges sequentially from slow memory Access vertices randomly inside fast memory Guarantee locality of vertex accesses by partitioning Out-of-core In-memory Cache Memory Disk 8

9 Edge-Centric Scatter-Gather source destination Scatter: for each streaming partition load source vertex chunk of edges into fast memory stream edges append to several updates Gather: for each streaming partition load destination vertex chunk of updates into fast memory stream updates apply to vertices X-Stream: Edge-centric Graph Processing using Streaming Partitions, A. Roy et al., SOSP 03 9

10 Motivation source Question: Is it possible to apply on-the-fly updates? (Thus bypass the writes and reads of updates.) Can be as large as O(E)! destination 0

11 Basic Idea source & destination Answer: Guarantee the locality of both source and destination vertices when streaming edges! Streaming-Apply: for each streaming edge block load source and destination vertex chunk of edges into memory stream edges read from source vertices write to destination vertices

12 Solution Grid representation Dual sliding windows Selective scheduling -level hierarchical partitioning

13 Grid Representation Vertices partitioned into P equalized chunks Edges partitioned into P P blocks Row source Column destination 3 4 Source Chunk Destination Chunk (, ) (, ) (3, ) (4, ) (, 3) (, 4) (4, 3) P= Edge Block(, ) 3

14 Streaming-Apply Processing Model Stream edges block by block Each block corresponding to two vertex chunks Source chunk + destination chunk Fit into memory Difference with scatter-gather phases phase Updates are applied on-the-fly src. chunk 3 dest. chunk P=4 4

15 Dual Sliding Windows Access edge blocks in column-oriented order From left to right Destination window slides as column moves From top to bottom Source window slides as row moves Optimize write amount pass over the destination vertices P=4 5

16 Dual Sliding Windows,, 0,, 0 P= PR Deg NewPR Object I/O Amt. 3,, 0 4 (, ) (, ) (3, ) (4, ) (, 3) (, 4) (4, 3) Edges 0 Src. vertex 0 Dest. vertex 0,, 0 Initialize 6

17 Dual Sliding Windows,, 0.5,, 0.5 P= PR Deg NewPR Object I/O Amt. 3,, 0 4 (, ) (, ) (3, ) (4, ) (, 3) (, 4) (4, 3) Edges 0 Src. vertex 0 Dest. vertex 0,, 0 Stream Block (, ) Cache source vertex chunk in memory (miss); Cache destination vertex chunk in memory (miss); Read edges (, ), (, ) from disk; 7

18 Dual Sliding Windows,, 0.5,, P= PR Deg NewPR Object I/O Amt. 3,, 0 4 (, ) (, ) (3, ) (4, ) (, 3) (, 4) (4, 3) Edges 4 Src. vertex 4 Dest. vertex,, 0 Stream Block (, ) Cache source vertex chunk in memory (miss); Cache destination vertex chunk in memory (hit); Read edges (3, ), (4, ) from disk; 8

19 Dual Sliding Windows,, 0.5,, P= PR Deg NewPR Object I/O Amt. 3,, (, ) (, ) (3, ) (4, ) (, 3) (, 4) (4, 3) Edges 4 6 Src. vertex 4 6 Dest. vertex 6,, 0.5 Stream Block (, ) Cache source vertex chunk in memory (miss); Cache destination vertex chunk in memory (miss); Write back destination vertex chunk to disk; Read edges (, 3), (, 4) from disk; 9

20 Dual Sliding Windows,, 0.5,, P= PR Deg NewPR Object I/O Amt. 3,, 4 (, ) (, ) (3, ) (4, ) (, 3) (, 4) (4, 3) Edges 6 7 Src. vertex 6 8 Dest. vertex 6,, 0.5 Stream Block (, ) Cache source vertex chunk in memory (miss); Cache destination vertex chunk in memory (hit); Read edges (4, 3) from disk; 0

21 Dual Sliding Windows,, 0.5,, P= PR Deg NewPR Object I/O Amt. 3,, 4 (, ) (, ) (3, ) (4, ) (, 3) (, 4) (4, 3) Edges 7 Src. vertex 8 Dest. vertex 6 8,, 0.5 Iteration finishes Write back destination vertex chunk to disk;

22 For iteration I/O Access Amount E + ( + P) V pass over the edges (read) P pass over the source vertices (read) pass over the destination vertices (read+write) Implication: P should be the minimum value that enables needed vertex data to be fit into memory.

23 I/O Access Amount For iteration E + ( + P) V Cache Memory Disk pass over the edges (read) P pass over the source vertices (read) pass over the destination vertices (read+write) Implication: P should be the minimum value that enables needed vertex data to be fit into memory. 3

24 Memory Access Amount For iteration E + ( + P) V Cache Memory Disk pass over the edges (read) P pass over the source vertices (read) pass over the destination vertices (read+write) Implication: P should be the minimum value that enables needed vertex data to be fit into memory. 4

25 Selective Scheduling Skip blocks with no active edges Very simple but important optimization Effective for lots of algorithms BFS, WCC, 5

26 Selective Scheduling 3 BFS from with P = 4 Iteration Active True False False False Parent (, ) (, ) (3, ) (4, ) (, 3) (, 4) (4, 3) Before Access 4 edges Active False True True False Parent - After 6

27 Selective Scheduling 3 BFS from with P = 4 Iteration Active False True True False Parent - (, ) (, ) (3, ) (4, ) (, 3) (, 4) (4, 3) Before Access 7 edges Active False False False True Parent After 7

28 Selective Scheduling 3 BFS from with P = 4 Iteration 3 Active False False False True Parent (, ) (, ) (3, ) (4, ) (, 3) (, 4) (4, 3) Before Access 3 edges Active False False False False Parent After 8

29 Selective Scheduling 3 BFS from with P = 4 BFS finishes Parent (, ) (, ) (3, ) (4, ) (, 3) (, 4) (4, 3) 4+7+3=4 Access 4 edges in all 9

30 Impact of P on Selective Scheduling BFS from 3 P 4 Edge accesses (=7+7+7) 4=(4+7+3) 7=(+3+) Effect becomes better with more fine-grained partitioning. 4 Implication: A larger value of P is preferred. 30

31 Dilemma on Selection of P Coarse-grained Fewer accesses on vertices Poorer locality Less selective scheduling Fine-grained Better locality More selective scheduling More accesses on vertices P small large 3

32 Dilemma from Memory Hierarchy Different selections of P Disk Memory hierarchy Fit hot vertex data into memory Memory Cache hierarchy Fit hot vertex data into cache Disk Memory Cache? Cache Memory Disk 3

33 -Level Hierarchical Partitioning Apply a Q Q partitioning over the P P grid Q V / M P V / C C << M P >> Q Group the small blocks into larger ones P=4 Q= P = number of partitions, M = memory capacity, C = LLC capacity, V = size of vertices 33

34 Programming Interface StreamVertices(F v, F) StreamEdges(F e, F) 34

35 Evaluation Test environment AWS EC i.xlarge 4 hyperthread cores 30.5GB memory 800GB SSD AWS EC d.xlarge 4 hyperthread cores 30.5GB memory 3 TB HDD Applications BFS, WCC, SpMV, PageRank 35

36 BFS WCC SpMV PageRank LiveJournal GraphChi X-Stream GridGraph BFS WCC SpMV PageRank Twitter GraphChi X-Stream GridGraph UK GraphChi X-Stream GridGraph Yahoo Runtime(S) BFS WCC SpMV PageRank GraphChi X-Stream GridGraph BFS WCC SpMV PageRank - indicates failing to finish in 48 hours i.xlarge, memory limited to 8GB 36

37 Disk Bandwidth Usage I/O throughput of a 0-minute interval running PageRank on Yahoo graph 37

38 Effect of Dual Sliding Windows I/O Amount GraphChi X-Stream GridGraph 0 Reads Writes PageRank on Yahoo 38

39 Effect of Selective Scheduling I/O Amount X-Stream GridGraph Iteration WCC on Twitter 39

40 Impact of P on In-Memory Performance Runtime(s) P PageRank on Twitter Edges cached in 30.5GB memory Optimal around P=3 where needed vertex data can be fit into L3 cache. 40

41 Impact of Q on Out-of-Core Performance Runtime(s) SpMV on Yahoo Memory limited to 8GB Optimal at Q= where needed vertex data can be fit into memory. 4

42 Comparison with Distributed Systems PowerGraph, GraphX * 6 m.4xlarge, $5.98/h GridGraph i.4xlarge, $3.4/h 4 SSDs.8GB/s disk bandwidth PowerGraph GraphX GridGraph * GraphX: Graph Processing in a Distributed Dataflow Framework, JE Gonzalez et al., OSDI 04 4

43 Conclusion GridGraph Dual sliding windows Reduce I/O amount, especially writes Selective scheduling Reduce unnecessary I/O -level hierarchical grid partitioning Applicable to 3-level (cache-memory-disk) hierarchy 43

44 Thanks! 44

NXgraph: An Efficient Graph Processing System on a Single Machine

NXgraph: An Efficient Graph Processing System on a Single Machine NXgraph: An Efficient Graph Processing System on a Single Machine Yuze Chi, Guohao Dai, Yu Wang, Guangyu Sun, Guoliang Li and Huazhong Yang Tsinghua National Laboratory for Information Science and Technology,

More information

NXgraph: An Efficient Graph Processing System on a Single Machine

NXgraph: An Efficient Graph Processing System on a Single Machine NXgraph: An Efficient Graph Processing System on a Single Machine arxiv:151.91v1 [cs.db] 23 Oct 215 Yuze Chi, Guohao Dai, Yu Wang, Guangyu Sun, Guoliang Li and Huazhong Yang Tsinghua National Laboratory

More information

FPGP: Graph Processing Framework on FPGA

FPGP: Graph Processing Framework on FPGA FPGP: Graph Processing Framework on FPGA Guohao DAI, Yuze CHI, Yu WANG, Huazhong YANG E.E. Dept., TNLIST, Tsinghua University dgh14@mails.tsinghua.edu.cn 1 Big graph is widely used Big graph is widely

More information

Mosaic: Processing a Trillion-Edge Graph on a Single Machine

Mosaic: Processing a Trillion-Edge Graph on a Single Machine Mosaic: Processing a Trillion-Edge Graph on a Single Machine Steffen Maass, Changwoo Min, Sanidhya Kashyap, Woonhak Kang, Mohan Kumar, Taesoo Kim Georgia Institute of Technology Best Student Paper @ EuroSys

More information

Report. X-Stream Edge-centric Graph processing

Report. X-Stream Edge-centric Graph processing Report X-Stream Edge-centric Graph processing Yassin Hassan hassany@student.ethz.ch Abstract. X-Stream is an edge-centric graph processing system, which provides an API for scatter gather algorithms. The

More information

X-Stream: A Case Study in Building a Graph Processing System. Amitabha Roy (LABOS)

X-Stream: A Case Study in Building a Graph Processing System. Amitabha Roy (LABOS) X-Stream: A Case Study in Building a Graph Processing System Amitabha Roy (LABOS) 1 X-Stream Graph processing system Single Machine Works on graphs stored Entirely in RAM Entirely in SSD Entirely on Magnetic

More information

Graph-Processing Systems. (focusing on GraphChi)

Graph-Processing Systems. (focusing on GraphChi) Graph-Processing Systems (focusing on GraphChi) Recall: PageRank in MapReduce (Hadoop) Input: adjacency matrix H D F S (a,[c]) (b,[a]) (c,[a,b]) (c,pr(a) / out (a)), (a,[c]) (a,pr(b) / out (b)), (b,[a])

More information

A Framework for Processing Large Graphs in Shared Memory

A Framework for Processing Large Graphs in Shared Memory A Framework for Processing Large Graphs in Shared Memory Julian Shun Based on joint work with Guy Blelloch and Laxman Dhulipala (Work done at Carnegie Mellon University) 2 What are graphs? Vertex Edge

More information

NUMA-aware Graph-structured Analytics

NUMA-aware Graph-structured Analytics NUMA-aware Graph-structured Analytics Kaiyuan Zhang, Rong Chen, Haibo Chen Institute of Parallel and Distributed Systems Shanghai Jiao Tong University, China Big Data Everywhere 00 Million Tweets/day 1.11

More information

Jure Leskovec Including joint work with Y. Perez, R. Sosič, A. Banarjee, M. Raison, R. Puttagunta, P. Shah

Jure Leskovec Including joint work with Y. Perez, R. Sosič, A. Banarjee, M. Raison, R. Puttagunta, P. Shah Jure Leskovec (@jure) Including joint work with Y. Perez, R. Sosič, A. Banarjee, M. Raison, R. Puttagunta, P. Shah 2 My research group at Stanford: Mining and modeling large social and information networks

More information

X-Stream: Edge-centric Graph Processing using Streaming Partitions

X-Stream: Edge-centric Graph Processing using Streaming Partitions X-Stream: Edge-centric Graph Processing using Streaming Partitions Amitabha Roy, Ivo Mihailovic, Willy Zwaenepoel {amitabha.roy, ivo.mihailovic, willy.zwaenepoel}@epfl.ch EPFL Abstract X-Stream is a system

More information

Big Data Analytics Using Hardware-Accelerated Flash Storage

Big Data Analytics Using Hardware-Accelerated Flash Storage Big Data Analytics Using Hardware-Accelerated Flash Storage Sang-Woo Jun University of California, Irvine (Work done while at MIT) Flash Memory Summit, 2018 A Big Data Application: Personalized Genome

More information

RStream:Marrying Relational Algebra with Streaming for Efficient Graph Mining on A Single Machine

RStream:Marrying Relational Algebra with Streaming for Efficient Graph Mining on A Single Machine RStream:Marrying Relational Algebra with Streaming for Efficient Graph Mining on A Single Machine Guoqing Harry Xu Kai Wang, Zhiqiang Zuo, John Thorpe, Tien Quang Nguyen, UCLA Nanjing University Facebook

More information

GraphMP: An Efficient Semi-External-Memory Big Graph Processing System on a Single Machine

GraphMP: An Efficient Semi-External-Memory Big Graph Processing System on a Single Machine GraphMP: An Efficient Semi-External-Memory Big Graph Processing System on a Single Machine Peng Sun, Yonggang Wen, Ta Nguyen Binh Duong and Xiaokui Xiao School of Computer Science and Engineering, Nanyang

More information

AN EXPERIMENTAL COMPARISON OF PARTITIONING STRATEGIES IN DISTRIBUTED GRAPH PROCESSING SHIV VERMA THESIS

AN EXPERIMENTAL COMPARISON OF PARTITIONING STRATEGIES IN DISTRIBUTED GRAPH PROCESSING SHIV VERMA THESIS c 2017 Shiv Verma AN EXPERIMENTAL COMPARISON OF PARTITIONING STRATEGIES IN DISTRIBUTED GRAPH PROCESSING BY SHIV VERMA THESIS Submitted in partial fulfillment of the requirements for the degree of Master

More information

GraFBoost: Using accelerated flash storage for external graph analytics

GraFBoost: Using accelerated flash storage for external graph analytics GraFBoost: Using accelerated flash storage for external graph analytics Sang-Woo Jun, Andy Wright, Sizhuo Zhang, Shuotao Xu and Arvind MIT CSAIL Funded by: 1 Large Graphs are Found Everywhere in Nature

More information

FlashGraph: Processing Billion-Node Graphs on an Array of Commodity SSDs

FlashGraph: Processing Billion-Node Graphs on an Array of Commodity SSDs FlashGraph: Processing Billion-Node Graphs on an Array of Commodity SSDs Da Zheng, Disa Mhembere, Randal Burns Department of Computer Science Johns Hopkins University Carey E. Priebe Department of Applied

More information

Kartik Lakhotia, Rajgopal Kannan, Viktor Prasanna USENIX ATC 18

Kartik Lakhotia, Rajgopal Kannan, Viktor Prasanna USENIX ATC 18 Accelerating PageRank using Partition-Centric Processing Kartik Lakhotia, Rajgopal Kannan, Viktor Prasanna USENIX ATC 18 Outline Introduction Partition-centric Processing Methodology Analytical Evaluation

More information

Optimizing Cache Performance for Graph Analytics. Yunming Zhang Presentation

Optimizing Cache Performance for Graph Analytics. Yunming Zhang Presentation Optimizing Cache Performance for Graph Analytics Yunming Zhang 6.886 Presentation Goals How to optimize in-memory graph applications How to go about performance engineering just about anything In-memory

More information

GraphZ: Improving the Performance of Large-Scale Graph Analytics on Small-Scale Machines

GraphZ: Improving the Performance of Large-Scale Graph Analytics on Small-Scale Machines GraphZ: Improving the Performance of Large-Scale Graph Analytics on Small-Scale Machines Zhixuan Zhou Henry Hoffmann University of Chicago, Dept. of Computer Science Abstract Recent programming frameworks

More information

GraphQ: Graph Query Processing with Abstraction Refinement -- Scalable and Programmable Analytics over Very Large Graphs on a Single PC

GraphQ: Graph Query Processing with Abstraction Refinement -- Scalable and Programmable Analytics over Very Large Graphs on a Single PC GraphQ: Graph Query Processing with Abstraction Refinement -- Scalable and Programmable Analytics over Very Large Graphs on a Single PC Kai Wang, Guoqing Xu, University of California, Irvine Zhendong Su,

More information

Big Graph Processing. Fenggang Wu Nov. 6, 2016

Big Graph Processing. Fenggang Wu Nov. 6, 2016 Big Graph Processing Fenggang Wu Nov. 6, 2016 Agenda Project Publication Organization Pregel SIGMOD 10 Google PowerGraph OSDI 12 CMU GraphX OSDI 14 UC Berkeley AMPLab PowerLyra EuroSys 15 Shanghai Jiao

More information

Chaos: Scale-out Graph Processing from Secondary Storage

Chaos: Scale-out Graph Processing from Secondary Storage Chaos: Scale-out Graph Processing from Secondary Storage Amitabha Roy Laurent Bindschaedler Jasmina Malicevic Willy Zwaenepoel Intel EPFL, Switzerland firstname.lastname@{intel.com, epfl.ch } Abstract

More information

Practical Near-Data Processing for In-Memory Analytics Frameworks

Practical Near-Data Processing for In-Memory Analytics Frameworks Practical Near-Data Processing for In-Memory Analytics Frameworks Mingyu Gao, Grant Ayers, Christos Kozyrakis Stanford University http://mast.stanford.edu PACT Oct 19, 2015 Motivating Trends End of Dennard

More information

HUS-Graph: I/O-Efficient Out-of-Core Graph Processing with Hybrid Update Strategy

HUS-Graph: I/O-Efficient Out-of-Core Graph Processing with Hybrid Update Strategy : I/O-Efficient Out-of-Core Graph Processing with Hybrid Update Strategy Xianghao Xu Wuhan National Laboratory for Optoelectronics, School of Computer Science and Technology, Huazhong University of Science

More information

Chaos: Scale-out Graph Processing from Secondary Storage

Chaos: Scale-out Graph Processing from Secondary Storage Chaos: Scale-out Graph Processing from Secondary Storage Amitabha Roy Laurent Bindschaedler Jasmina Malicevic Willy Zwaenepoel Intel EPFL, Switzerland firstname.lastname@{intel.com, epfl.ch } Abstract

More information

Fast Iterative Graph Computation: A Path Centric Approach

Fast Iterative Graph Computation: A Path Centric Approach Fast Iterative Graph Computation: A Path Centric Approach Pingpeng Yuan*, Wenya Zhang, Changfeng Xie, Hai Jin* Services Computing Technology and System Lab. Cluster and Grid Computing Lab. School of Computer

More information

Tutorial: Large-Scale Graph Processing in Shared Memory

Tutorial: Large-Scale Graph Processing in Shared Memory Tutorial: Large-Scale Graph Processing in Shared Memory Julian Shun (University of California, Berkeley) Laxman Dhulipala (Carnegie Mellon University) Guy Blelloch (Carnegie Mellon University) PPoPP 2016

More information

Cascade Mapping: Optimizing Memory Efficiency for Flash-based Key-value Caching

Cascade Mapping: Optimizing Memory Efficiency for Flash-based Key-value Caching Cascade Mapping: Optimizing Memory Efficiency for Flash-based Key-value Caching Kefei Wang and Feng Chen Louisiana State University SoCC '18 Carlsbad, CA Key-value Systems in Internet Services Key-value

More information

arxiv: v1 [cs.db] 21 Oct 2017

arxiv: v1 [cs.db] 21 Oct 2017 : High-performance external graph analytics Sang-Woo Jun, Andy Wright, Sizhuo Zhang, Shuotao Xu and Arvind Department of Electrical Engineering and Computer Science Massachusetts Institute of Technology

More information

GraphChi: Large-Scale Graph Computation on Just a PC

GraphChi: Large-Scale Graph Computation on Just a PC OSDI 12 GraphChi: Large-Scale Graph Computation on Just a PC Aapo Kyrölä (CMU) Guy Blelloch (CMU) Carlos Guestrin (UW) In co- opera+on with the GraphLab team. BigData with Structure: BigGraph social graph

More information

GraFBoost: Using accelerated flash storage for external graph analytics

GraFBoost: Using accelerated flash storage for external graph analytics : Using accelerated flash storage for external graph analytics Sang-Woo Jun, Andy Wright, Sizhuo Zhang, Shuotao Xu and Arvind Department of Electrical Engineering and Computer Science Massachusetts Institute

More information

Domain-specific programming on graphs

Domain-specific programming on graphs Lecture 25: Domain-specific programming on graphs Parallel Computer Architecture and Programming CMU 15-418/15-618, Fall 2016 1 Last time: Increasing acceptance of domain-specific programming systems Challenge

More information

An Experimental Comparison of Partitioning Strategies in Distributed Graph Processing

An Experimental Comparison of Partitioning Strategies in Distributed Graph Processing An Experimental Comparison of Partitioning Strategies in Distributed Graph Processing ABSTRACT Shiv Verma 1, Luke M. Leslie 1, Yosub Shin, Indranil Gupta 1 1 University of Illinois at Urbana-Champaign,

More information

FastBFS: Fast Breadth-First Graph Search on a Single Server

FastBFS: Fast Breadth-First Graph Search on a Single Server 2016 IEEE International Parallel and Distributed Processing Symposium : Fast Breadth-First Graph Search on a Single Server Shuhan Cheng, Guangyan Zhang, Jiwu Shu, Qingda Hu, Weimin Zheng Tsinghua University,

More information

AS an alternative to distributed graph processing, singlemachine

AS an alternative to distributed graph processing, singlemachine JOURNAL OF L A T E X CLASS FILES, VOL. 14, NO. 8, AUGUST 018 1 CLIP: A Disk I/O Focused Parallel Out-of-core Graph Processing System Zhiyuan Ai, Mingxing Zhang, Yongwei Wu, Senior Member, IEEE, Xuehai

More information

Irregular Graph Algorithms on Parallel Processing Systems

Irregular Graph Algorithms on Parallel Processing Systems Irregular Graph Algorithms on Parallel Processing Systems George M. Slota 1,2 Kamesh Madduri 1 (advisor) Sivasankaran Rajamanickam 2 (Sandia mentor) 1 Penn State University, 2 Sandia National Laboratories

More information

PathGraph: A Path Centric Graph Processing System

PathGraph: A Path Centric Graph Processing System 1 PathGraph: A Path Centric Graph Processing System Pingpeng Yuan, Changfeng Xie, Ling Liu, Fellow, IEEE, and Hai Jin Senior Member, IEEE Abstract Large scale iterative graph computation presents an interesting

More information

A Distributed Multi-GPU System for Fast Graph Processing

A Distributed Multi-GPU System for Fast Graph Processing A Distributed Multi-GPU System for Fast Graph Processing Zhihao Jia Stanford University zhihao@cs.stanford.edu Pat M c Cormick LANL pat@lanl.gov Yongkee Kwon UT Austin yongkee.kwon@utexas.edu Mattan Erez

More information

Scale-up Graph Processing: A Storage-centric View

Scale-up Graph Processing: A Storage-centric View Scale-up Graph Processing: A Storage-centric View Eiko Yoneki University of Cambridge eiko.yoneki@cl.cam.ac.uk Amitabha Roy EPFL amitabha.roy@epfl.ch ABSTRACT The determinant of performance in scale-up

More information

Squeezing out All the Value of Loaded Data: An Out-of-core Graph Processing System with Reduced Disk I/O

Squeezing out All the Value of Loaded Data: An Out-of-core Graph Processing System with Reduced Disk I/O Squeezing out All the Value of Loaded Data: An Out-of-core Graph Processing System with Reduced Disk I/O Zhiyuan Ai, Mingxing Zhang, and Yongwei Wu, Department of Computer Science and Technology, Tsinghua

More information

Why do we need graph processing?

Why do we need graph processing? Why do we need graph processing? Community detection: suggest followers? Determine what products people will like Count how many people are in different communities (polling?) Graphs are Everywhere Group

More information

Load the Edges You Need: A Generic I/O Optimization for Disk-based Graph Processing

Load the Edges You Need: A Generic I/O Optimization for Disk-based Graph Processing Load the Edges You Need: A Generic I/O Optimization for Disk-ased Graph Processing Keval Vora, University of California, Riverside; Guoqing Xu, University of California, Irvine; Rajiv Gupta, University

More information

Graph Data Management

Graph Data Management Graph Data Management Analysis and Optimization of Graph Data Frameworks presented by Fynn Leitow Overview 1) Introduction a) Motivation b) Application for big data 2) Choice of algorithms 3) Choice of

More information

LLAMA: Efficient graph analytics using Large Multiversioned Arrays

LLAMA: Efficient graph analytics using Large Multiversioned Arrays LLAMA: Efficient graph analytics using Large Multiversioned Arrays The Harvard community has made this article openly available. Please share how this access benefits you. Your story matters. Citation

More information

Gemini: A Computation-Centric Distributed Graph Processing System

Gemini: A Computation-Centric Distributed Graph Processing System Gemini: A Computation-Centric Distributed Graph Processing System Xiaowei Zhu 1, Wenguang Chen 1,2,, Weimin Zheng 1, and Xiaosong Ma 3 1 Department of Computer Science and Technology (TNLIST), Tsinghua

More information

Efficient graph computation on hybrid CPU and GPU systems

Efficient graph computation on hybrid CPU and GPU systems J Supercomput (2015) 71:1563 1586 DOI 10.1007/s11227-015-1378-z Efficient graph computation on hybrid CPU and GPU systems Tao Zhang Jingjie Zhang Wei Shu Min-You Wu Xiaoyao Liang Published online: 21 January

More information

Callisto-RTS: Fine-Grain Parallel Loops

Callisto-RTS: Fine-Grain Parallel Loops Callisto-RTS: Fine-Grain Parallel Loops Tim Harris, Oracle Labs Stefan Kaestle, ETH Zurich 7 July 2015 The following is intended to provide some insight into a line of research in Oracle Labs. It is intended

More information

Julienne: A Framework for Parallel Graph Algorithms using Work-efficient Bucketing

Julienne: A Framework for Parallel Graph Algorithms using Work-efficient Bucketing Julienne: A Framework for Parallel Graph Algorithms using Work-efficient Bucketing Laxman Dhulipala Joint work with Guy Blelloch and Julian Shun SPAA 07 Giant graph datasets Graph V E (symmetrized) com-orkut

More information

ForeGraph: Exploring Large-scale Graph Processing on Multi-FPGA Architecture

ForeGraph: Exploring Large-scale Graph Processing on Multi-FPGA Architecture ForeGraph: Exploring Large-scale Graph Processing on Multi-FPGA Architecture Guohao Dai 1, Tianhao Huang 1, Yuze Chi 2, Ningyi Xu 3, Yu Wang 1, Huazhong Yang 1 1 Tsinghua University, 2 UCLA, 3 MSRA dgh14@mails.tsinghua.edu.cn

More information

Ambry: LinkedIn s Scalable Geo- Distributed Object Store

Ambry: LinkedIn s Scalable Geo- Distributed Object Store Ambry: LinkedIn s Scalable Geo- Distributed Object Store Shadi A. Noghabi *, Sriram Subramanian +, Priyesh Narayanan +, Sivabalan Narayanan +, Gopalakrishna Holla +, Mammad Zadeh +, Tianwei Li +, Indranil

More information

A Relaxed Consistency based DSM for Asynchronous Parallelism. Keval Vora, Sai Charan Koduru, Rajiv Gupta

A Relaxed Consistency based DSM for Asynchronous Parallelism. Keval Vora, Sai Charan Koduru, Rajiv Gupta A Relaxed Consistency based DSM for Asynchronous Parallelism Keval Vora, Sai Charan Koduru, Rajiv Gupta SoCal PLS - Spring 2014 Motivation Graphs are popular Graph Mining: Community Detection, Coloring

More information

Domain-specific Programming on Graphs

Domain-specific Programming on Graphs Lecture 16: Domain-specific Programming on Graphs Parallel Computer Architecture and Programming Last time: Increasing acceptance of domain-specific programming systems Challenge to programmers: modern

More information

The GraphGrind Framework: Fast Graph Analytics on Large. Shared-Memory Systems

The GraphGrind Framework: Fast Graph Analytics on Large. Shared-Memory Systems Memory-Centric System Level Design of Heterogeneous Embedded DSP Systems The GraphGrind Framework: Scott Johan Fischaber, BSc (Hon) Fast Graph Analytics on Large Shared-Memory Systems Jiawen Sun, PhD candidate

More information

arxiv: v4 [cs.dc] 12 Jan 2018

arxiv: v4 [cs.dc] 12 Jan 2018 Making Caches Work for Graph Analytics Yunming Zhang, Vladimir Kiriansky, Charith Mendis, Saman Amarasinghe MIT CSAIL {yunming,vlk,charithm,saman}@csail.mit.edu Matei Zaharia Stanford InfoLab matei@cs.stanford.edu

More information

Extreme-scale Graph Analysis on Blue Waters

Extreme-scale Graph Analysis on Blue Waters Extreme-scale Graph Analysis on Blue Waters 2016 Blue Waters Symposium George M. Slota 1,2, Siva Rajamanickam 1, Kamesh Madduri 2, Karen Devine 1 1 Sandia National Laboratories a 2 The Pennsylvania State

More information

CS 347 Parallel and Distributed Data Processing

CS 347 Parallel and Distributed Data Processing CS 347 Parallel and Distributed Data Processing Spring 2016 Notes 14: Distributed Graph Processing Motivation Many applications require graph processing E.g., PageRank Some graph data sets are very large

More information

CS 347 Parallel and Distributed Data Processing

CS 347 Parallel and Distributed Data Processing CS 347 Parallel and Distributed Data Processing Spring 2016 Notes 14: Distributed Graph Processing Motivation Many applications require graph processing E.g., PageRank Some graph data sets are very large

More information

CS 5220: Parallel Graph Algorithms. David Bindel

CS 5220: Parallel Graph Algorithms. David Bindel CS 5220: Parallel Graph Algorithms David Bindel 2017-11-14 1 Graphs Mathematically: G = (V, E) where E V V Convention: V = n and E = m May be directed or undirected May have weights w V : V R or w E :

More information

ChunkStash: Speeding Up Storage Deduplication using Flash Memory

ChunkStash: Speeding Up Storage Deduplication using Flash Memory ChunkStash: Speeding Up Storage Deduplication using Flash Memory Biplob Debnath +, Sudipta Sengupta *, Jin Li * * Microsoft Research, Redmond (USA) + Univ. of Minnesota, Twin Cities (USA) Deduplication

More information

High-Performance Graph Primitives on the GPU: Design and Implementation of Gunrock

High-Performance Graph Primitives on the GPU: Design and Implementation of Gunrock High-Performance Graph Primitives on the GPU: Design and Implementation of Gunrock Yangzihao Wang University of California, Davis yzhwang@ucdavis.edu March 24, 2014 Yangzihao Wang (yzhwang@ucdavis.edu)

More information

arxiv: v1 [cs.dc] 10 Dec 2018

arxiv: v1 [cs.dc] 10 Dec 2018 SIMD-X: Programming and Processing of Graph Algorithms on GPUs arxiv:8.04070v [cs.dc] 0 Dec 08 Hang Liu University of Massachusetts Lowell Abstract With high computation power and memory bandwidth, graphics

More information

A Study of Partitioning Policies for Graph Analytics on Large-scale Distributed Platforms

A Study of Partitioning Policies for Graph Analytics on Large-scale Distributed Platforms A Study of Partitioning Policies for Graph Analytics on Large-scale Distributed Platforms Gurbinder Gill, Roshan Dathathri, Loc Hoang, Keshav Pingali Department of Computer Science, University of Texas

More information

ShenTu: Processing Multi-Trillion Edge Graphs on Millions of Cores in Seconds

ShenTu: Processing Multi-Trillion Edge Graphs on Millions of Cores in Seconds ShenTu: Processing Multi-Trillion Edge Graphs on Millions of Cores in Seconds Heng Lin 1,2, Xiaowei Zhu 1,5, Bowen Yu 1, Xiongchao Tang 1,5, Wei Xue 1, Wenguang Chen 1, Lufei Zhang 3, Torsten Hoefler 4,

More information

MapReduce Spark. Some slides are adapted from those of Jeff Dean and Matei Zaharia

MapReduce Spark. Some slides are adapted from those of Jeff Dean and Matei Zaharia MapReduce Spark Some slides are adapted from those of Jeff Dean and Matei Zaharia What have we learnt so far? Distributed storage systems consistency semantics protocols for fault tolerance Paxos, Raft,

More information

Sort vs. Hash Join Revisited for Near-Memory Execution. Nooshin Mirzadeh, Onur Kocberber, Babak Falsafi, Boris Grot

Sort vs. Hash Join Revisited for Near-Memory Execution. Nooshin Mirzadeh, Onur Kocberber, Babak Falsafi, Boris Grot Sort vs. Hash Join Revisited for Near-Memory Execution Nooshin Mirzadeh, Onur Kocberber, Babak Falsafi, Boris Grot 1 Near-Memory Processing (NMP) Emerging technology Stacked memory: A logic die w/ a stack

More information

Everything you always wanted to know about multicore graph processing but were afraid to ask

Everything you always wanted to know about multicore graph processing but were afraid to ask Everything you always wanted to know about multicore graph processing but were afraid to ask Jasmina Malicevic, Baptiste Lepers, and Willy Zwaenepoel, EPFL https://www.usenix.org/conference/atc17/technical-sessions/presentation/malicevic

More information

arxiv: v1 [cs.dc] 21 Aug 2017

arxiv: v1 [cs.dc] 21 Aug 2017 GraphR: Accelerating Graph Processing Using ReRAM arxiv:78.648v [cs.dc] Aug 7 Linghao Song Duke University linghao.song@duke.edu ABSTRACT Youwei Zhuo University of Southern California youweizh@usc.edu

More information

VENUS: Vertex-Centric Streamlined Graph Computation on a Single PC

VENUS: Vertex-Centric Streamlined Graph Computation on a Single PC VENUS: Vertex-Centric Streamlined Graph Computation on a Single PC Jiefeng Cheng 1, Qin Liu 2, Zhenguo Li 1, Wei Fan 1, John C.S. Lui 2, Cheng He 1 1 Huawei Noah s Ark Lab, Hong Kong {cheng.jiefeng,li.zhenguo,david.fanwei,hecheng}@huawei.com

More information

CACHE-GUIDED SCHEDULING

CACHE-GUIDED SCHEDULING CACHE-GUIDED SCHEDULING EXPLOITING CACHES TO MAXIMIZE LOCALITY IN GRAPH PROCESSING Anurag Mukkara, Nathan Beckmann, Daniel Sanchez 1 st AGP Toronto, Ontario 24 June 2017 Graph processing is memory-bound

More information

GTS: A Fast and Scalable Graph Processing Method based on Streaming Topology to GPUs

GTS: A Fast and Scalable Graph Processing Method based on Streaming Topology to GPUs GTS: A Fast and Scalable Graph Processing Method based on Streaming Topology to GPUs Min-Soo Kim, Kyuhyeon An, Himchan Park, Hyunseok Seo, and Jinwook Kim Department of Information and Communication Engineering

More information

Navigating the Maze of Graph Analytics Frameworks using Massive Graph Datasets

Navigating the Maze of Graph Analytics Frameworks using Massive Graph Datasets Navigating the Maze of Graph Analytics Frameworks using Massive Graph Datasets Nadathur Satish, Narayanan Sundaram, Mostofa Ali Patwary, Jiwon Seo, Jongsoo Park, M. Amber Hassaan, Shubho Sengupta, Zhaoming

More information

Mizan: A System for Dynamic Load Balancing in Large-scale Graph Processing

Mizan: A System for Dynamic Load Balancing in Large-scale Graph Processing /34 Mizan: A System for Dynamic Load Balancing in Large-scale Graph Processing Zuhair Khayyat 1 Karim Awara 1 Amani Alonazi 1 Hani Jamjoom 2 Dan Williams 2 Panos Kalnis 1 1 King Abdullah University of

More information

Tegra Time-evolving Graph Processing on Commodity Clusters

Tegra Time-evolving Graph Processing on Commodity Clusters Tegra Time-evolving Graph Processing on ommodity lusters SIM SE 17 2 March 2017 nand Iyer Qifan Pu Joseph Gonzalez Ion Stoica 1 Graphs are everywhere Social Networks 2 Graphs are everywhere Gnutella network

More information

Locality-Aware Software Throttling for Sparse Matrix Operation on GPUs

Locality-Aware Software Throttling for Sparse Matrix Operation on GPUs Locality-Aware Software Throttling for Sparse Matrix Operation on GPUs Yanhao Chen 1, Ari B. Hayes 1, Chi Zhang 2, Timothy Salmon 1, Eddy Z. Zhang 1 1. Rutgers University 2. University of Pittsburgh Sparse

More information

GraphX: Graph Processing in a Distributed Dataflow Framework

GraphX: Graph Processing in a Distributed Dataflow Framework GraphX: Graph Processing in a Distributed Dataflow Framework Joseph Gonzalez Postdoc, UC-Berkeley MPLab Co-founder, GraphLab Inc. Joint work with Reynold Xin, nkur Dave, Daniel Crankshaw, Michael Franklin,

More information

Basics of Performance Engineering

Basics of Performance Engineering ERLANGEN REGIONAL COMPUTING CENTER Basics of Performance Engineering J. Treibig HiPerCH 3, 23./24.03.2015 Why hardware should not be exposed Such an approach is not portable Hardware issues frequently

More information

CuSP: A Customizable Streaming Edge Partitioner for Distributed Graph Analytics

CuSP: A Customizable Streaming Edge Partitioner for Distributed Graph Analytics CuSP: A Customizable Streaming Edge Partitioner for Distributed Graph Analytics Loc Hoang, Roshan Dathathri, Gurbinder Gill, Keshav Pingali Department of Computer Science The University of Texas at Austin

More information

Big data systems 12/8/17

Big data systems 12/8/17 Big data systems 12/8/17 Today Basic architecture Two levels of scheduling Spark overview Basic architecture Cluster Manager Cluster Cluster Manager 64GB RAM 32 cores 64GB RAM 32 cores 64GB RAM 32 cores

More information

Cloud Computing and Hadoop Distributed File System. UCSB CS170, Spring 2018

Cloud Computing and Hadoop Distributed File System. UCSB CS170, Spring 2018 Cloud Computing and Hadoop Distributed File System UCSB CS70, Spring 08 Cluster Computing Motivations Large-scale data processing on clusters Scan 000 TB on node @ 00 MB/s = days Scan on 000-node cluster

More information

A Lightweight Infrastructure for Graph Analytics

A Lightweight Infrastructure for Graph Analytics A Lightweight Infrastructure for Graph Analytics Donald Nguyen, Andrew Lenharth and Keshav Pingali The University of Texas at Austin, Texas, USA {ddn@cs, lenharth@ices, pingali@cs}.utexas.edu Abstract

More information

How To Rock with MyRocks. Vadim Tkachenko CTO, Percona Webinar, Jan

How To Rock with MyRocks. Vadim Tkachenko CTO, Percona Webinar, Jan How To Rock with MyRocks Vadim Tkachenko CTO, Percona Webinar, Jan-16 2019 Agenda MyRocks intro and internals MyRocks limitations Benchmarks: When to choose MyRocks over InnoDB Tuning for the best results

More information

Latency-Tolerant Software Distributed Shared Memory

Latency-Tolerant Software Distributed Shared Memory Latency-Tolerant Software Distributed Shared Memory Jacob Nelson, Brandon Holt, Brandon Myers, Preston Briggs, Luis Ceze, Simon Kahan, Mark Oskin University of Washington USENIX ATC 2015 July 9, 2015 25

More information

Architectural Implications on the Performance and Cost of Graph Analytics Systems

Architectural Implications on the Performance and Cost of Graph Analytics Systems Architectural Implications on the Performance and Cost of Graph Analytics Systems Qizhen Zhang,, Hongzhi Chen, Da Yan,, James Cheng, Boon Thau Loo, and Purushotham Bangalore University of Pennsylvania

More information

Extreme-scale Graph Analysis on Blue Waters

Extreme-scale Graph Analysis on Blue Waters Extreme-scale Graph Analysis on Blue Waters 2016 Blue Waters Symposium George M. Slota 1,2, Siva Rajamanickam 1, Kamesh Madduri 2, Karen Devine 1 1 Sandia National Laboratories a 2 The Pennsylvania State

More information

15-388/688 - Practical Data Science: Big data and MapReduce. J. Zico Kolter Carnegie Mellon University Spring 2018

15-388/688 - Practical Data Science: Big data and MapReduce. J. Zico Kolter Carnegie Mellon University Spring 2018 15-388/688 - Practical Data Science: Big data and MapReduce J. Zico Kolter Carnegie Mellon University Spring 2018 1 Outline Big data Some context in distributed computing map + reduce MapReduce MapReduce

More information

AN ALTERNATIVE TO ALL- FLASH ARRAYS: PREDICTIVE STORAGE CACHING

AN ALTERNATIVE TO ALL- FLASH ARRAYS: PREDICTIVE STORAGE CACHING AN ALTERNATIVE TO ALL- FLASH ARRAYS: PREDICTIVE STORAGE CACHING THE EASIEST WAY TO INCREASE PERFORMANCE AND LOWER STORAGE COSTS Bruce Kornfeld, Chief Marketing Officer, StorMagic Luke Pruen, Technical

More information

Cluster Computing Architecture. Intel Labs

Cluster Computing Architecture. Intel Labs Intel Labs Legal Notices INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED

More information

Voldemort. Smruti R. Sarangi. Department of Computer Science Indian Institute of Technology New Delhi, India. Overview Design Evaluation

Voldemort. Smruti R. Sarangi. Department of Computer Science Indian Institute of Technology New Delhi, India. Overview Design Evaluation Voldemort Smruti R. Sarangi Department of Computer Science Indian Institute of Technology New Delhi, India Smruti R. Sarangi Leader Election 1/29 Outline 1 2 3 Smruti R. Sarangi Leader Election 2/29 Data

More information

Flat Datacenter Storage. Edmund B. Nightingale, Jeremy Elson, et al. 6.S897

Flat Datacenter Storage. Edmund B. Nightingale, Jeremy Elson, et al. 6.S897 Flat Datacenter Storage Edmund B. Nightingale, Jeremy Elson, et al. 6.S897 Motivation Imagine a world with flat data storage Simple, Centralized, and easy to program Unfortunately, datacenter networks

More information

HP AutoRAID (Lecture 5, cs262a)

HP AutoRAID (Lecture 5, cs262a) HP AutoRAID (Lecture 5, cs262a) Ion Stoica, UC Berkeley September 13, 2016 (based on presentation from John Kubiatowicz, UC Berkeley) Array Reliability Reliability of N disks = Reliability of 1 Disk N

More information

A Hierarchical Synchronous Parallel Model for Wide-Area Graph Analytics

A Hierarchical Synchronous Parallel Model for Wide-Area Graph Analytics A Hierarchical Synchronous Parallel Model for Wide-Area Graph Analytics Shuhao Liu*, Li Chen, Baochun Li, Aiden Carnegie University of Toronto April 17, 2018 Graph Analytics What is Graph Analytics? 2

More information

ECE Lab 8. Logic Design for a Direct-Mapped Cache. To understand the function and design of a direct-mapped memory cache.

ECE Lab 8. Logic Design for a Direct-Mapped Cache. To understand the function and design of a direct-mapped memory cache. ECE 201 - Lab 8 Logic Design for a Direct-Mapped Cache PURPOSE To understand the function and design of a direct-mapped memory cache. EQUIPMENT Simulation Software REQUIREMENTS Electronic copy of your

More information

Bigtable. Presenter: Yijun Hou, Yixiao Peng

Bigtable. Presenter: Yijun Hou, Yixiao Peng Bigtable Fay Chang, Jeffrey Dean, Sanjay Ghemawat, Wilson C. Hsieh, Deborah A. Wallach Mike Burrows, Tushar Chandra, Andrew Fikes, Robert E. Gruber Google, Inc. OSDI 06 Presenter: Yijun Hou, Yixiao Peng

More information

Automatic Compiler-Based Optimization of Graph Analytics for the GPU. Sreepathi Pai The University of Texas at Austin. May 8, 2017 NVIDIA GTC

Automatic Compiler-Based Optimization of Graph Analytics for the GPU. Sreepathi Pai The University of Texas at Austin. May 8, 2017 NVIDIA GTC Automatic Compiler-Based Optimization of Graph Analytics for the GPU Sreepathi Pai The University of Texas at Austin May 8, 2017 NVIDIA GTC Parallel Graph Processing is not easy 299ms HD-BFS 84ms USA Road

More information

CS 6453: Parameter Server. Soumya Basu March 7, 2017

CS 6453: Parameter Server. Soumya Basu March 7, 2017 CS 6453: Parameter Server Soumya Basu March 7, 2017 What is a Parameter Server? Server for large scale machine learning problems Machine learning tasks in a nutshell: Feature Extraction (1, 1, 1) (2, -1,

More information

"Systemized" Program Analyses A "Big Data" Perspective on Static Analysis Scalability. Harry Xu and Zhiqiang Zuo University of California, Irvine

Systemized Program Analyses A Big Data Perspective on Static Analysis Scalability. Harry Xu and Zhiqiang Zuo University of California, Irvine "Systemized" Program Analyses A "Big Data" Perspective on Static Analysis Scalability Harry Xu and Zhiqiang Zuo University of California, Irvine A Quick Survey Have you used a static program analysis?

More information

COMP 530: Operating Systems File Systems: Fundamentals

COMP 530: Operating Systems File Systems: Fundamentals File Systems: Fundamentals Don Porter Portions courtesy Emmett Witchel 1 Files What is a file? A named collection of related information recorded on secondary storage (e.g., disks) File attributes Name,

More information

CuSha: Vertex-Centric Graph Processing on GPUs

CuSha: Vertex-Centric Graph Processing on GPUs CuSha: Vertex-Centric Graph Processing on GPUs Farzad Khorasani, Keval Vora, Rajiv Gupta, Laxmi N. Bhuyan HPDC Vancouver, Canada June, Motivation Graph processing Real world graphs are large & sparse Power

More information

Domain-specific programming on graphs

Domain-specific programming on graphs Lecture 23: Domain-specific programming on graphs Parallel Computer Architecture and Programming CMU 15-418/15-618, Spring 2015 Tunes Alt-J Tessellate (An Awesome Wave) We wrote the lyrics to Tessellate

More information