Department of Computer Science, Johns Hopkins University Pregel: BSP and Message Passing for Graph Computations EN 600.423 Randal Burns 14 November 2013.

Slides:



Advertisements
Similar presentations
Pregel: A System for Large-Scale Graph Processing
Advertisements

Making Time-stepped Applications Tick in the Cloud Tao Zou, Guozhang Wang, Marcos Vaz Salles*, David Bindel, Alan Demers, Johannes Gehrke, Walker White.
Piccolo: Building fast distributed programs with partitioned tables Russell Power Jinyang Li New York University.
epiC: an Extensible and Scalable System for Processing Big Data
Make Sense of Big Data Researched by JIANG Wen-rui Led by Pro. ZOU
MapReduce Online Created by: Rajesh Gadipuuri Modified by: Ying Lu.
Armend Hoxha Trevor Hodde Kexin Shi Mizan: A system for Dynamic Load Balancing in Large-Scale Graph Processing Presented by:
Naiad Timely Dataflow System Presented by Leeor Peled Advanced Topics in Computer Architecture April 2014.
Distributed Graph Analytics Imranul Hoque CS525 Spring 2013.
Distributed Graph Processing Abhishek Verma CS425.
APACHE GIRAPH ON YARN Chuan Lei and Mohammad Islam.
Yucheng Low Aapo Kyrola Danny Bickson A Framework for Machine Learning and Data Mining in the Cloud Joseph Gonzalez Carlos Guestrin Joe Hellerstein.
LFGRAPH: SIMPLE AND FAST DISTRIBUTED GRAPH ANALYTICS Hoque, Imranul, Vmware Inc. and Gupta, Indranil, University of Illinois at Urbana-Champaign – TRIOS.
Piccolo – Paper Discussion Big Data Reading Group 9/20/2010.
PaaS Techniques Programming Model
Scaling Distributed Machine Learning with the BASED ON THE PAPER AND PRESENTATION: SCALING DISTRIBUTED MACHINE LEARNING WITH THE PARAMETER SERVER – GOOGLE,
Distributed Computations
Graph Processing Recap: data-intensive cloud computing – Just database management on the cloud – But scaling it to thousands of nodes – Handling partial.
GraphLab A New Parallel Framework for Machine Learning Carnegie Mellon Based on Slides by Joseph Gonzalez Mosharaf Chowdhury.
Pregel: A System for Large-Scale Graph Processing
Big Data Infrastructure Jimmy Lin University of Maryland Monday, April 13, 2015 Session 10: Beyond MapReduce — Graph Processing This work is licensed under.
Paper by: Grzegorz Malewicz, Matthew Austern, Aart Bik, James Dehnert, Ilan Horn, Naty Leiser, Grzegorz Czajkowski (Google, Inc.) Pregel: A System for.
GraphLab A New Framework for Parallel Machine Learning
Pregel: A System for Large-Scale Graph Processing
Presented By HaeJoon Lee Yanyan Shen, Beng Chin Ooi, Bogdan Marius Tudor National University of Singapore Wei Lu Renmin University Cang Chen Zhejiang University.
Pregel: A System for Large-Scale Graph Processing Presented by Dylan Davis Authors: Grzegorz Malewicz, Matthew H. Austern, Aart J.C. Bik, James C. Dehnert,
GRAPH PROCESSING Hi, I am Mayank and the second presenter for today is Shadi. We will be talking about Graph Processing.
Big Graph Processing on Cloud Jeffrey Xu Yu ( 于旭 ) The Chinese University of Hong Kong
Efficient Graph Processing with Distributed Immutable View Rong Chen Rong Chen +, Xin Ding +, Peng Wang +, Haibo Chen +, Binyu Zang + and Haibing Guan.
Distributed shared memory. What we’ve learnt so far  MapReduce/Dryad as a distributed programming model  Data-flow (computation as vertex, data flow.
A Framework for Elastic Execution of Existing MPI Programs Aarthi Raveendran Tekin Bicer Gagan Agrawal 1.
A Framework for Elastic Execution of Existing MPI Programs Aarthi Raveendran Graduate Student Department Of CSE 1.
CSE 486/586 CSE 486/586 Distributed Systems Graph Processing Steve Ko Computer Sciences and Engineering University at Buffalo.
Carnegie Mellon Yucheng Low Aapo Kyrola Danny Bickson A Framework for Machine Learning and Data Mining in the Cloud Joseph Gonzalez Carlos Guestrin Joe.
Pregel: A System for Large-Scale Graph Processing Grzegorz Malewicz, Matthew H. Austern, Aart J. C. Bik, James C. Dehnert, Ilan Horn, Naty Leiser, and.
Mizan Mizan: Optimizing Graph Mining in Large Parallel Systems Panos Kalnis King Abdullah University of Science and Technology (KAUST) H. Jamjoom (IBM.
Distributed Galois Andrew Lenharth 2/27/2015. Goals An implementation of the operator formulation for distributed memory – Ideally forward-compatible.
PREDIcT: Towards Predicting the Runtime of Iterative Analytics Adrian Popescu 1, Andrey Balmin 2, Vuk Ercegovac 3, Anastasia Ailamaki
Joseph Gonzalez Yucheng Low Danny Bickson Distributed Graph-Parallel Computation on Natural Graphs Haijie Gu Joint work with: Carlos Guestrin.
Carnegie Mellon Yucheng Low Aapo Kyrola Danny Bickson A Framework for Machine Learning and Data Mining in the Cloud Joseph Gonzalez Carlos Guestrin Joe.
Is Your Graph Algorithm Eligible for Nondeterministic Execution? Zhiyuan Shao, Lin Hou, Yan Ai, Yu Zhang and Hai Jin Services Computing Technology and.
Distributed Systems CS
Data Structures and Algorithms in Parallel Computing Lecture 4.
Data Structures and Algorithms in Parallel Computing
A N I N - MEMORY F RAMEWORK FOR E XTENDED M AP R EDUCE 2011 Third IEEE International Conference on Coud Computing Technology and Science.
Pregel: A System for Large-Scale Graph Processing Nov 25 th 2013 Database Lab. Wonseok Choi.
Acknowledgement: Arijit Khan, Sameh Elnikety. Google: > 1 trillion indexed pages Web GraphSocial Network Facebook: > 1.5 billion active users 31 billion.
Outline  Introduction  Subgraph Pattern Matching  Types of Subgraph Pattern Matching  Models of Computation  Distributed Algorithms  Performance.
Next Generation of Apache Hadoop MapReduce Owen
Supporting On-Demand Elasticity in Distributed Graph Processing Mayank Pundir*, Manoj Kumar, Luke M. Leslie, Indranil Gupta, Roy H. Campbell University.
Big Data Infrastructure Week 11: Analyzing Graphs, Redux (1/2) This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0.
Department of Computer Science, Johns Hopkins University Lecture 7 Finding Concurrency EN /420 Instructor: Randal Burns 26 February 2014.
EpiC: an Extensible and Scalable System for Processing Big Data Dawei Jiang, Gang Chen, Beng Chin Ooi, Kian Lee Tan, Sai Wu School of Computing, National.
Chenning Xie+, Rong Chen+, Haibing Guan*, Binyu Zang+ and Haibo Chen+
Big Data Infrastructure
TensorFlow– A system for large-scale machine learning
Distributed Programming in “Big Data” Systems Pramod Bhatotia wp
Pagerank and Betweenness centrality on Big Taxi Trajectory Graph
PREGEL Data Management in the Cloud
Distributed Systems CS
Data Structures and Algorithms in Parallel Computing
Data-Intensive Distributed Computing
Distributed Systems CS
Distributed Systems CS
Replication-based Fault-tolerance for Large-scale Graph Processing
Pregelix: Think Like a Vertex, Scale Like Spandex
Da Yan, James Cheng, Yi Lu, Wilfred Ng Presented By: Nafisa Anzum
Distributed Systems CS
Motivation Contemporary big data tools such as MapReduce and graph processing tools have fixed data abstraction and support a limited set of communication.
Supporting Online Analytics with User-Defined Estimation and Early Termination in a MapReduce-Like Framework Yi Wang, Linchuan Chen, Gagan Agrawal The.
Presentation transcript:

Department of Computer Science, Johns Hopkins University Pregel: BSP and Message Passing for Graph Computations EN Randal Burns 14 November 2013

Tenets of Large-Scale Graphs Graph computations require scale-out computing architectures At some level of scalability this is true But, there is a big performance gap between what can be done on one machine and clusters (RB’s opinion) Graph computations require fault-tolerance All computations at scale require fault tolerance This aspect is quite different (even than MPI)

Why not Map/Reduce? Many iterations needed for graph algorithms? – Traversals, path finding M/R has fixed costs to set up each job Must materialize all inputs/outputs from each M/R stage Not the right model: – Not fine grained – Not asynchronous

Bulk- Synchronous Parallel

Pregel Bulk-synchronous parallel Strict message passing Computing in rounds (supersteps) Programming graphs from the perspective of the vertex – Can compute on local data – Can receive messages – Can send messages – Can modify local state – Can create new vertices (computational contexts) G. Malewicz et al. Pregel: A System for Large-Scale Graph Processing. SIGMOD, 2010.

Example: Maximum Value Express algorithms as operations on vertices

Compare with MPI Message passing, no shared memory [ ] Bulk-synchronous processing [ ] Supersteps=barriers [ ] SPMD [ ] Similar architectural properties and benefits. More restrictive in programming model (what each node can do) and communication protocols (when nodes can communicate These restrictions lead to some nice system properties

Model of Computation During a superstep – Receive messages from previous superstep (from the past) – Send messages to next superstep (to the future) – No interactive communication during rounds No deadlocks are possible. Why? All vertex-to-vertex operations are totally synchronous – Makes fault tolerance simple Vertices run their local compute function asynchronously

API Simple (if you can represent algorithm as round-by-round modification of vertices)

SSSP Is this Djikstra’s? How does it compare?

SSSP Combiner Concept from map reduce (aggregation of messages) – I’m not sure where combiners run in pregel to reduce message traffic

Fault Tolerance Checkpoint at the start of (every or some) superstep to shared storage Master election, worker pings Restart computation from checkpoint for nodes that do not respond Synchronous helpful – Single system view of state superstep) – No dependencies among nodes with superstep (message from previous step, to future step)

Scaleout Linear scaling properties (looks good) – But is the baselines slow? i.e. with message passing as a common denominator

GraphLab Asynchronous, dynamic, graph parallel computation – Asynchronous is different Graph lab is a “sequential, shared-memory abstraction where each vertex can read and write data to adjacent edges and vertices” Y. Low et al. Distributed GraphLab: A Framework for Machine Learning in the Cloud. VLDB 5(8), 2012.

Natural Graphs and Skewness In BSP programming, performance is limited by the slowest machine “Natural graphs” have a power-law distribution of edge degrees which leads to few highly-loaded nodes Graphlab concludes: need to compute asynchronously to avoid barrier waits

Asynchronous and Convergence Propogation algorithms converge more quickly in an asynchronous model – With some nodes converging immediately and few stragglers

GraphLab Abstraction Data graph: user-modifiable program state Update function: computation to modify the graph in small overlapping scopes Sync operation: extract and maintain global aggregates

PageRank in GraphLab

PageRank in Pregel

Differences Pregel lock-step on every node, iterate until some heuristic property is met (30?) – No ability to pull data, must wait for updates – GraphLab people say is weird GraphLab significant changes lead to “activations” – Just activate the portion of the network that needs to compute – More directed computation towards convergence

GraphLab Complexities Scheduling what can run: – Graph coloring and parallel execution of nodes of the same color (no adjacencies) – Distributed locking complex schemes What about synchronous algorithms – Many algorithms are. GraphLab can actually emulate Pregel semantics with sync. This is the topic of the next class.