GridGraph: Large-Scale Graph Processing on a Single Machine Using 2-Level Hierarchical Partitioning. Xiaowei ZHU Tsinghua University
|
|
- Rosamond Owen
- 6 years ago
- Views:
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 Yuze Chi, Guohao Dai, Yu Wang, Guangyu Sun, Guoliang Li and Huazhong Yang Tsinghua National Laboratory for Information Science and Technology,
More informationNXgraph: 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 informationFPGP: 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 informationMosaic: 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 informationReport. 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 informationX-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 informationGraph-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 informationA 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 informationNUMA-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 informationJure 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 informationX-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 informationBig 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 informationRStream: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 informationGraphMP: 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 informationAN 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 informationGraFBoost: 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 informationFlashGraph: 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 informationKartik 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 informationOptimizing 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 informationGraphZ: 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 informationGraphQ: 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 informationBig 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 informationChaos: 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 informationPractical 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 informationHUS-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 informationChaos: 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 informationFast 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 informationTutorial: 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 informationCascade 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 informationarxiv: 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 informationGraphChi: 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 informationGraFBoost: 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 informationDomain-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 informationAn 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 informationFastBFS: 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 informationAS 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 informationIrregular 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 informationPathGraph: 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 informationA 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 informationScale-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 informationSqueezing 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 informationWhy 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 informationLoad 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 informationGraph 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 informationLLAMA: 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 informationGemini: 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 informationEfficient 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 informationCallisto-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 informationJulienne: 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 informationForeGraph: 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 informationAmbry: 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 informationA 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 informationDomain-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 informationThe 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 informationarxiv: 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 informationExtreme-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 informationCS 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 informationCS 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 informationCS 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 informationChunkStash: 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 informationHigh-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 informationarxiv: 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 informationA 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 informationShenTu: 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 informationMapReduce 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 informationSort 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 informationEverything 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 informationarxiv: 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 informationVENUS: 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 informationCACHE-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 informationGTS: 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 informationNavigating 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 informationMizan: 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 informationTegra 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 informationLocality-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 informationGraphX: 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 informationBasics 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 informationCuSP: 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 informationBig 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 informationCloud 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 informationA 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 informationHow 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 informationLatency-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 informationArchitectural 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 informationExtreme-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 information15-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 informationAN 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 informationCluster 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 informationVoldemort. 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 informationFlat 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 informationHP 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 informationA 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 informationECE 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 informationBigtable. 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 informationAutomatic 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 informationCS 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 A Quick Survey Have you used a static program analysis?
More informationCOMP 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 informationCuSha: 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 informationDomain-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