LFGRAPH: SIMPLE AND FAST DISTRIBUTED GRAPH ANALYTICS Hoque, Imranul, Vmware Inc. and Gupta, Indranil, University of Illinois at Urbana-Champaign – TRIOS.

Slides:



Advertisements
Similar presentations
Distributed Systems Major Design Issues Presented by: Christopher Hector CS8320 – Advanced Operating Systems Spring 2007 – Section 2.6 Presentation Dr.
Advertisements

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
Data Management in the Cloud Paul Szerlip. The rise of data Think about this o For the past two decades, the largest generator of data was humans -- now.
Distributed System Structures Network Operating Systems –provide an environment where users can access remote resources through remote login or file transfer.
Armend Hoxha Trevor Hodde Kexin Shi Mizan: A system for Dynamic Load Balancing in Large-Scale Graph Processing Presented by:
Distributed Graph Analytics Imranul Hoque CS525 Spring 2013.
Distributed Graph Processing Abhishek Verma CS425.
Cache Coherent Distributed Shared Memory. Motivations Small processor count –SMP machines –Single shared memory with multiple processors interconnected.
APACHE GIRAPH ON YARN Chuan Lei and Mohammad Islam.
CS 425 / ECE 428 Distributed Systems Fall 2014 Indranil Gupta (Indy) Lecture 25: Distributed Shared Memory All slides © IG.
Scaling Distributed Machine Learning with the BASED ON THE PAPER AND PRESENTATION: SCALING DISTRIBUTED MACHINE LEARNING WITH THE PARAMETER SERVER – GOOGLE,
Lecture 6 – Google File System (GFS) CSE 490h – Introduction to Distributed Computing, Winter 2008 Except as otherwise noted, the content of this presentation.
Graph Processing Recap: data-intensive cloud computing – Just database management on the cloud – But scaling it to thousands of nodes – Handling partial.
Design Patterns for Efficient Graph Algorithms in MapReduce Jimmy Lin and Michael Schatz University of Maryland Tuesday, June 29, 2010 This work is licensed.
Spring Routing & Switching Umar Kalim Dept. of Communication Systems Engineering 06/04/2007.
Paper by: Grzegorz Malewicz, Matthew Austern, Aart Bik, James Dehnert, Ilan Horn, Naty Leiser, Grzegorz Czajkowski (Google, Inc.) Pregel: A System for.
CS 425 / ECE 428 Distributed Systems Fall 2014 Indranil Gupta (Indy) Lecture 22: Stream Processing, Graph Processing All slides © IG.
Sensor Networks Storage Sanket Totala Sudarshan Jagannathan.
Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung Google∗
Pregel: A System for Large-Scale Graph Processing
Charm++ Load Balancing Framework Gengbin Zheng Parallel Programming Laboratory Department of Computer Science University of Illinois at.
Introduction to Parallel Programming MapReduce Except where otherwise noted all portions of this work are Copyright (c) 2007 Google and are licensed under.
By: Jeffrey Dean & Sanjay Ghemawat Presented by: Warunika Ranaweera Supervised by: Dr. Nalin Ranasinghe.
11 If you were plowing a field, which would you rather use? Two oxen, or 1024 chickens? (Attributed to S. Cray) Abdullah Gharaibeh, Lauro Costa, Elizeu.
Distributed Load Balancing for Key-Value Storage Systems Imranul Hoque Michael Spreitzer Malgorzata Steinder.
1 Fast Failure Recovery in Distributed Graph Processing Systems Yanyan Shen, Gang Chen, H.V. Jagadish, Wei Lu, Beng Chin Ooi, Bogdan Marius Tudor.
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,
X-Stream: Edge-Centric Graph Processing using Streaming Partitions
GRAPH PROCESSING Hi, I am Mayank and the second presenter for today is Shadi. We will be talking about Graph Processing.
Distributed shared memory. What we’ve learnt so far  MapReduce/Dryad as a distributed programming model  Data-flow (computation as vertex, data flow.
Chord: A Scalable Peer-to-peer Lookup Protocol for Internet Applications Xiaozhou Li COS 461: Computer Networks (precept 04/06/12) Princeton University.
Scalable Web Server on Heterogeneous Cluster CHEN Ge.
CSE 486/586 CSE 486/586 Distributed Systems Graph Processing Steve Ko Computer Sciences and Engineering University at Buffalo.
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.
CS 5204 (FALL 2005)1 Leases: An Efficient Fault Tolerant Mechanism for Distributed File Cache Consistency Gray and Cheriton By Farid Merchant Date: 9/21/05.
Multiprossesors Systems.. What are Distributed Databases ? “ A Logically interrelated collection of shared data ( and a description of this data) physically.
VICTORIA UNIVERSITY OF WELLINGTON Te Whare Wananga o te Upoko o te Ika a Maui SWEN 432 Advanced Database Design and Implementation Partitioning and Replication.
CS 347Notes101 CS 347 Parallel and Distributed Data Processing Distributed Information Retrieval Hector Garcia-Molina Zoltan Gyongyi.
Computing Scientometrics in Large-Scale Academic Search Engines with MapReduce Leonidas Akritidis Panayiotis Bozanis Department of Computer & Communication.
Scale up Vs. Scale out in Cloud Storage and Graph Processing Systems
Data Structures and Algorithms in Parallel Computing Lecture 4.
Data Structures and Algorithms in Parallel Computing Lecture 7.
Data Structures and Algorithms in Parallel Computing
Pregel: A System for Large-Scale Graph Processing Nov 25 th 2013 Database Lab. Wonseok Choi.
PowerGraph: Distributed Graph- Parallel Computation on Natural Graphs Joseph E. Gonzalez, Yucheng Low, Haijie Gu, and Danny Bickson, Carnegie Mellon University;
Cluster computing. 1.What is cluster computing? 2.Need of cluster computing. 3.Architecture 4.Applications of cluster computing 5.Advantages of cluster.
REX: RECURSIVE, DELTA-BASED DATA-CENTRIC COMPUTATION Yavuz MESTER Svilen R. Mihaylov, Zachary G. Ives, Sudipto Guha University of Pennsylvania.
FTC-Charm++: An In-Memory Checkpoint-Based Fault Tolerant Runtime for Charm++ and MPI Gengbin Zheng Lixia Shi Laxmikant V. Kale Parallel Programming Lab.
The Google File System Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung Presenter: Chao-Han Tsai (Some slides adapted from the Google’s series lectures)
Supporting On-Demand Elasticity in Distributed Graph Processing Mayank Pundir*, Manoj Kumar, Luke M. Leslie, Indranil Gupta, Roy H. Campbell University.
Department of Computer Science, Johns Hopkins University Pregel: BSP and Message Passing for Graph Computations EN Randal Burns 14 November 2013.
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.
Resilient Distributed Datasets A Fault-Tolerant Abstraction for In-Memory Cluster Computing Matei Zaharia, Mosharaf Chowdhury, Tathagata Das, Ankur Dave,
Mizan:Graph Processing System
Lecture 22: Stream Processing, Graph Processing
Spark Presentation.
PREGEL Data Management in the Cloud
Apache Spark Resilient Distributed Datasets: A Fault-Tolerant Abstraction for In-Memory Cluster Computing Aditya Waghaye October 3, 2016 CS848 – University.
Data Structures and Algorithms in Parallel Computing
Towards Effective Partition Management for Large Graphs
OPTiC: Opportunistic Graph Processing in Multi-Tenant Clusters
Mayank Bhatt, Jayasi Mehar
Distributed Systems CS
Lecture 26 A: Distributed Shared Memory
Replication-based Fault-tolerance for Large-scale Graph Processing
Lecture 22: Stream Processing, Graph Processing
Lecture 26 A: Distributed Shared Memory
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
MapReduce: Simplified Data Processing on Large Clusters
Presentation transcript:

LFGRAPH: SIMPLE AND FAST DISTRIBUTED GRAPH ANALYTICS Hoque, Imranul, Vmware Inc. and Gupta, Indranil, University of Illinois at Urbana-Champaign – TRIOS ‘13 Presented by : Chaitanya Datye

Why Distributed Graph Processing ??  Graphs are everywhere!! – Social Networks, Finance, Stocks, Transportation Networks, Search engines, etc  Well, These graphs are HUGE !!! – Millions and billions of vertices and edges

Distributed Graph Analytics Engine – Key Aspects Computations – Low and Load balanced Communications – Low and Load balanced Low Preprocessing Cost Smaller Memory Footprint System should be Scalable

Server 2 Server 1 Pregel B C D E

Is there any better option?

GraphLab Server 2 Server 1 B C D E D E

Can we do better ?

Server 2 Server 1 PowerGraph B C D E

Can we still do better ?

LFGraph – YES, We Can !!! Cheap Hash based partitioning Decoupling Computation and Communication Publish – Subscribe Mechanism Single – Pass Computations No Locking In – Neighbor Storage

Publish Subscribe Mechanism  Subscribe Lists  Created during preprocessing and are short lived  Per remote server  List contains vertices to be fetched from that server.  Garbage collected after preprocessing iteration  Publish Lists  Created based on the Subscribe lists.  Each server maintains a Publish list for each remote server consisting of the vertices it needs to send to that server.

Publish Subscribe Mechanism Server 2 Server 1 B C D E Subscribe to {A} Publish List at S1 for S2 : {A} Allows for Fetch-Once behavior since values are fetched only once

LFGraph System Design

Local and Remote Value Stores  Local Value Store  Real Version (Reads), Shadow Version (Writes)  Decoupled reads and writes – No Locking required  Shared across the computation workers in a Job Server  Flag set whenever shadow value written - used by communication workers to send values  Remote Value Store  Stores values for each in-neighbor of a vertex at a Job Server.  Uses a flag – set only if updated value is received – Allows to skip vertices which aren’t updated in that iteration.

Example : SSSP using LFGraph Server 2 Server 1 B0B0 C∞C∞ D∞D∞ E∞E∞ ITERATION – 0

Example : SSSP using LFGraph Server 2 Server 1 B0B0 C∞C∞ D∞D∞ E∞E∞ ITERATION – 1 Read : 0 Read : ∞ Update value Shadow Publish Value of {A}

Example : SSSP using LFGraph Server 2 Server 1 B0B0 C∞C∞ D 2 E 2 ITERATION – 2 Locally Read A’s value received in previous iteration and use that

Communication Overhead analysis

Computation Balance analysis – Real World vs Ideal Power Law graphs  Cheap partitioning strategy suffices for real world graphs

Communication Balance analysis  Communication imbalance  more processing time  If data sent by server S1 is more than that of S2, overall transfer time increases  LFGraph balances communication load very well since error bars are small

PageRank runtime ignoring partition time  PowerGraph couldn’t load graph at small cluster sizes  LFGraph wins over the best PowerGraph version by a factor of 2x

PageRank runtime including partition time  Improvement is most over the intelligent partitioning schemes of PowerGraph  8 servers – 4x to 100x improvement, 32 servers – 5x to 380x improvement  Intelligent partitioning strategies have little effect

Memory Footprint – LFGraph vs PowerGraph  LFGraph stores only in-links and publish lists unlike PowerGraph.  Memory footprint is 8x to 12x lesser than PowerGraph

Network Communication – LFGraph vs PowerGraph  There is first a quick rise in the total communication overhead  But, as the total communication overhead plateaus out, the cluster size increase takes over dropping the per server overhead  LFGraph transfers about 4x less data per server than PowerGraph

Computation vs Communication  Computation time decreases with increasing number of servers  Communication time curve mirrors the per-server network overhead  Compute dominates communicate in small clusters  After 16 servers, LFGraph achieves a balance

Scaling to Larger Graphs  Pregel – 300 servers, 800 workers  LFGraph – 12 servers, 96 workers  Runs SSSP benchmark  Uses 10x less compute power still gives better performance. LFGraph scales well

Pros  Low computation and communication overheads  Low memory footprint  Highly Scalable  Computations and Communications are balanced  Cheap partitioning strategy suffices

Cons/Comments/Discussion  In case of failures, LFGraph restarts computation. More efficient mechanisms for fault tolerance?  Barrier Server – SPOF!!  LFGraph requires that sufficient memory is available in the cluster to store the graph and the associated values. What if graph size is large? Or such a cluster is unavailable?  No techniques to give out partial results in case of LFGraph. Every computation runs to completion. What if there is a deadline?

Questions ?