PREGEL: A SYSTEM FOR LARGE-SCALE GRAPH PROCESSING

Similar documents
Pregel: A System for Large-Scale Graph Proces sing

Authors: Malewicz, G., Austern, M. H., Bik, A. J., Dehnert, J. C., Horn, L., Leiser, N., Czjkowski, G.

ECE 7650 Scalable and Secure Internet Services and Architecture ---- A Systems Perspective

PREGEL: A SYSTEM FOR LARGE- SCALE GRAPH PROCESSING

PREGEL AND GIRAPH. Why Pregel? Processing large graph problems is challenging Options

Big Graph Processing. Fenggang Wu Nov. 6, 2016

Pregel: A System for Large- Scale Graph Processing. Written by G. Malewicz et al. at SIGMOD 2010 Presented by Chris Bunch Tuesday, October 12, 2010

modern database systems lecture 10 : large-scale graph processing

Pregel. Ali Shah

CS 347 Parallel and Distributed Data Processing

Large-Scale Graph Processing 1: Pregel & Apache Hama Shiow-yang Wu ( 吳秀陽 ) CSIE, NDHU, Taiwan, ROC

Distributed Systems. 21. Graph Computing Frameworks. Paul Krzyzanowski. Rutgers University. Fall 2016

CS 347 Parallel and Distributed Data Processing

PREGEL. A System for Large-Scale Graph Processing

COSC 6339 Big Data Analytics. Graph Algorithms and Apache Giraph

Large Scale Graph Processing Pregel, GraphLab and GraphX

CS /21/2016. Paul Krzyzanowski 1. Can we make MapReduce easier? Distributed Systems. Apache Pig. Apache Pig. Pig: Loading Data.

Pregel: A System for Large-Scale Graph Processing

King Abdullah University of Science and Technology. CS348: Cloud Computing. Large-Scale Graph Processing

Memory-Optimized Distributed Graph Processing. through Novel Compression Techniques

Parallel HITS Algorithm Implemented Using HADOOP GIRAPH Framework to resolve Big Data Problem

Handling limits of high degree vertices in graph processing using MapReduce and Pregel

Data-Intensive Distributed Computing

One Trillion Edges. Graph processing at Facebook scale

USING DYNAMOGRAPH: APPLICATION SCENARIOS FOR LARGE-SCALE TEMPORAL GRAPH PROCESSING

I ++ Mapreduce: Incremental Mapreduce for Mining the Big Data

Lecture 8, 4/22/2015. Scribed by Orren Karniol-Tambour, Hao Yi Ong, Swaroop Ramaswamy, and William Song.

Part II: Software Infrastructure in Data Centers: Distributed Execution Engines

DFA-G: A Unified Programming Model for Vertex-centric Parallel Graph Processing

PREGEL. A System for Large Scale Graph Processing

Report. X-Stream Edge-centric Graph processing

Graph Processing. Connor Gramazio Spiros Boosalis

BSP, Pregel and the need for Graph Processing

GraphHP: A Hybrid Platform for Iterative Graph Processing

Turning NoSQL data into Graph Playing with Apache Giraph and Apache Gora

Distributed Systems. 20. Other parallel frameworks. Paul Krzyzanowski. Rutgers University. Fall 2017

CS November 2017

Graph Processing Frameworks

CS6200 Information Retreival. The WebGraph. July 13, 2015

Palgol: A High-Level DSL for Vertex-Centric Graph Processing with Remote Access

Giraph: Large-scale graph processing infrastructure on Hadoop. Qu Zhi

Clash of the Titans: MapReduce vs. Spark for Large Scale Data Analytics

Jordan Boyd-Graber University of Maryland. Thursday, March 3, 2011

Drakkar: a graph based All-Nearest Neighbour search algorithm for bibliographic coupling

Graph Processing & Bulk Synchronous Parallel Model

GPS: A Graph Processing System

Optimizing CPU Cache Performance for Pregel-Like Graph Computation

TI2736-B Big Data Processing. Claudia Hauff

CIM/E Oriented Graph Database Model Architecture and Parallel Network Topology Processing

Distributed Systems. 21. Other parallel frameworks. Paul Krzyzanowski. Rutgers University. Fall 2018

CS November 2018

AN INTRODUCTION TO GRAPH COMPRESSION TECHNIQUES FOR IN-MEMORY GRAPH COMPUTATION

GoFFish: A Sub-Graph Centric Framework for Large-Scale Graph Analytics

Investigating Graph Algorithms in the BSP Model on the Cray XMT

[CoolName++]: A Graph Processing Framework for Charm++

Giraphx: Parallel Yet Serializable Large-Scale Graph Processing

Giraph Unchained: Barrierless Asynchronous Parallel Execution in Pregel-like Graph Processing Systems

Frameworks for Graph-Based Problems

Project Number: Start Date of Project: 01/12/2012 Duration: 36 months

Oolong: Asynchronous Distributed Applications Made Easy

Implementing Graph Transformations in the Bulk Synchronous Parallel Model

Putting it together. Data-Parallel Computation. Ex: Word count using partial aggregation. Big Data Processing. COS 418: Distributed Systems Lecture 21

Distributed Graph Algorithms

Graphs (Part II) Shannon Quinn

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

igiraph: A Cost-efficient Framework for Processing Large-scale Graphs on Public Clouds

Optimizing Memory Performance for FPGA Implementation of PageRank

Today s content. Resilient Distributed Datasets(RDDs) Spark and its data model

Spark. In- Memory Cluster Computing for Iterative and Interactive Applications

PAGE: A Partition Aware Graph Computation Engine

Apache Giraph: Facebook-scale graph processing infrastructure. 3/31/2014 Avery Ching, Facebook GDM

Parallel Computing: MapReduce Jin, Hai

Graph-Processing Systems. (focusing on GraphChi)

Piccolo. Fast, Distributed Programs with Partitioned Tables. Presenter: Wu, Weiyi Yale University. Saturday, October 15,

Batch & Stream Graph Processing with Apache Flink. Vasia

Optimistic Recovery for Iterative Dataflows in Action

Giraph Unchained: Barrierless Asynchronous Parallel Execution in Pregel-like Graph Processing Systems

ECE 7650 Scalable and Secure Internet Services and Architecture ---- A Systems Perspective

Fast Failure Recovery in Distributed Graph Processing Systems

Distributed Computations MapReduce. adapted from Jeff Dean s slides

ZHT+ : Design and Implementation of a Graph Database Using ZHT

Defining supersteps for BSP

MapReduce: Simplified Data Processing on Large Clusters 유연일민철기

Scale-up Graph Processing: A Storage-centric View

Parallelizing Machine Learning Functionally

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

Data Analytics on RAMCloud

Faster Parallel Traversal of Scale Free Graphs at Extreme Scale with Vertex Delegates

Link Analysis in the Cloud

Centralities (4) By: Ralucca Gera, NPS. Excellence Through Knowledge

Computation and Communication Efficient Graph Processing with Distributed Immutable View

Apache Giraph. for applications in Machine Learning & Recommendation Systems. Maria Novartis

Graph-Parallel Problems. ML in the Context of Parallel Architectures

Webinar Series TMIP VISION

MOTIVATION 1/18/18. Software tools for Complex Networks Analysis. Graphs are everywhere. Why do we need tools?

Sync-on-the-fly: A Parallel Framework for Gradient Descent Algorithms on Transient Resources

Embedded domain specific language for GPUaccelerated graph operations with automatic transformation and fusion

Distributed Graph Storage. Veronika Molnár, UZH

MPGM: A Mixed Parallel Big Graph Mining Tool

Social Networks 2015 Lecture 10: The structure of the web and link analysis

Transcription:

PREGEL: A SYSTEM FOR LARGE-SCALE GRAPH PROCESSING Grzegorz Malewicz, Matthew Austern, Aart Bik, James Dehnert, Ilan Horn, Naty Leiser, Grzegorz Czajkowski (Google, Inc.) SIGMOD 2010 Presented by : Xiu Zhang 20161011

Motivations Computation Models System Architecture False Toleration Applications Experiments

MOTIVATION 3

Motivation Large Graphs Computation is needed: Social Media Transportation

Motivation Documents=vertices Links=edges Web graph

Graph Algorithms Pattern Matching Search through the entire graph Identify similar components Traversals Define a specific start point Iteratively explore the graph Global measurements Compute one value for graph, based on all its vertices or edges

Challenges for Graph Algorithms Poor Locality of memory access Very little computation work required per vertex, however iterate many times Shortest Path Changing degree of parallelism over course of execution Connect Component Analysis

Possible Solutions Custom distributed frame work for each alg. Existing distributed computing platforms MapReduce unnecessarily slow, hard to implement Single-computer graph algorithm libraries Scale limitation Existing parallel graph systems Fault tolerance Parallel BGL and CGMgraph

Inspired by Valiant s Bulk Synchronous Parallel (BSP) mode Vertex centric computation

COMPUTATION MODEL 10

Computation Model(BSP) asynchronization Source: http://en.wikipedia.org/wiki/bulk_synchronous_parallel 11

: Message Passing Model Vertex: A unique identifier A modifiable, user defined value Edge: Source vertex and Target vertex identifiers A modifiable, user defined value

Basic Organization Supersteps: Iterations Invoke user defined function for each vertex Read messages sent to V in superstep S-1 Send messages that will be received in S+1 Modify the state of V and the outgoing edges Make topology changes Introduce/Delete/Modify edges(vertices) Votes to halt if no further work to do

State machine for a vertex Termination Condition All vertices are simultaneously inactive There are no messages in transit

Example Single Source Shortest Path Find shortest path from a source node to all target nodes Example taken from talk by Taewhi Lee,2010 http://zhenxiao.com/read/.ppt 15

Example: SSSP Parallel BFS in 1 10 0 2 3 9 4 6 Inactive Vertex Active Vertex 5 2 7 x x Edge weight Message 16

Example: SSSP Parallel BFS in 10 10 1 0 2 3 9 4 6 Inactive Vertex Active Vertex 5 7 x x Edge weight Message 5 2 17

Example: SSSP Parallel BFS in 10 1 10 0 2 3 9 4 6 Inactive Vertex Active Vertex x Edge weight 5 7 x Message 5 2 18

Example: SSSP Parallel BFS in 10 1 11 10 8 14 0 2 3 9 4 6 Inactive Vertex Active Vertex x Edge weight 5 12 7 x Message 5 2 7 19

Example: SSSP Parallel BFS in 8 1 11 10 0 2 3 9 4 6 Inactive Vertex Active Vertex x Edge weight 5 7 x Message 5 2 7 20

Example: SSSP Parallel BFS in 8 1 9 10 0 2 3 9 4 6 Inactive Vertex Active Vertex x Edge weight 5 7 x Message 5 2 7 21

Example: SSSP Parallel BFS in 8 1 9 10 0 2 3 9 4 6 Inactive Vertex Active Vertex x Edge weight 5 7 13 x Message 5 2 7 22

Example: SSSP Parallel BFS in 8 1 9 10 0 2 3 9 4 6 Inactive Vertex Active Vertex x Edge weight 5 7 x Message 5 2 7 23

SYSTEM ARCHITECTURE 24

System Architecture system uses the master/worker model Master Coordinates workers Recovers faults of workers Worker Processes its task Communicates with the other workers Persistent data is in distributed storage system Temporary data is stored on local disk 25

Execution 26

Execution 27

Execution 28

Execution 29

Execution 30

FALSE TOLERANCE 31

Fault Tolerance Checkpointing The master periodically instructs the workers to save the state of their partitions to persistent storage e.g., Vertex values, edge values, incoming messages Failure detection Master uses regular ping messages to detect worker failures 32

Fault Tolerance Recovery The master reassigns graph partitions to the currently available workers The workers all reload their partition states from most recent available checkpoint 33

APPLICATIONS 34

PageRank the importance of a document the number of references to it the importance of the source documents themselves A = A given page T 1. T n = Pages that point to page A (citations) d = Damping factor between 0 and 1 (usually kept as 0.85) C(T) = number of links going out of T PR(A) = the PageRank of page A PR( A) (1 d) d PR( T1 ) ( C( T ) 1 PR( T2 ) C( T ) 2... PR( Tn ) ) C( T ) n 35

PageRank Courtesy: Wikipedia 36

PageRank Iterative loop till convergence Initial value of PageRank of all pages = 1.0; While ( sum of PageRank of all pages numpages > epsilon) { for each Page Pi in list { PageRank(Pi) = (1-d); for each page Pj linking to page Pi { PageRank(Pi) += d (PageRank(Pj)/numOutLinks(Pj)); } } } 37

Page Rank In

EXPERIMENTS 39

Experiments: (Shortest Paths) 1 billion vertex binary tree: varying number of worker tasks 40

Experiments: binary trees: varying graph sizes on 800 worker tasks 41

Experiments Log-normal random graphs, mean out-degree 127.1 (thus over 127 billion edges in the largest case): varying graph sizes on 800 worker tasks 42

Conclusion Distributed system for large scale graph processing Think like a vertex computation model (intuitive API) 43

Limitations Inefficient if different regions of the graph converge at different speed Slowest machine Dense Graphs

THANK YOU ANY QUESTIONS?