Graph Colouring as a Challenge Problem for Dynamic Graph Processing on Distributed Systems Scott Sallinen, Keita Iwabuchi, Suraj Poudel, Maya Gokhale,

Slides:



Advertisements
Similar presentations
Google News Personalization: Scalable Online Collaborative Filtering
Advertisements

Outline Flows Flow tiles Applications Assessment Conclusion.
Provenance-Aware Storage Systems Margo Seltzer April 29, 2005.
SkewReduce YongChul Kwon Magdalena Balazinska, Bill Howe, Jerome Rolia* University of Washington, *HP Labs Skew-Resistant Parallel Processing of Feature-Extracting.
LIBRA: Lightweight Data Skew Mitigation in MapReduce
LEARNING INFLUENCE PROBABILITIES IN SOCIAL NETWORKS Amit Goyal Francesco Bonchi Laks V. S. Lakshmanan University of British Columbia Yahoo! Research University.
LLNL-PRES This work was performed under the auspices of the U.S. Department of Energy by Lawrence Livermore National Laboratory under contract DE-AC52-07NA27344.
Seunghwa Kang David A. Bader Large Scale Complex Network Analysis using the Hybrid Combination of a MapReduce Cluster and a Highly Multithreaded System.
Analysis and Modeling of Social Networks Foudalis Ilias.
Distributed Approximate Spectral Clustering for Large- Scale Datasets FEI GAO, WAEL ABD-ALMAGEED, MOHAMED HEFEEDA PRESENTED BY : BITA KAZEMI ZAHRANI 1.
FAWN: Fast Array of Wimpy Nodes A technical paper presentation in fulfillment of the requirements of CIS 570 – Advanced Computer Systems – Fall 2013 Scott.
Running Large Graph Algorithms – Evaluation of Current State-of-the-Art Andy Yoo Lawrence Livermore National Laboratory – Google Tech Talk Feb Summarized.
Distributed Breadth-First Search with 2-D Partitioning Edmond Chow, Keith Henderson, Andy Yoo Lawrence Livermore National Laboratory LLNL Technical report.
Gossip Scheduling for Periodic Streams in Ad-hoc WSNs Ercan Ucan, Nathanael Thompson, Indranil Gupta Department of Computer Science University of Illinois.
Benchmarking Parallel Code. Benchmarking2 What are the performance characteristics of a parallel code? What should be measured?
The Energy Case for Graph Processing on Hybrid Platforms Abdullah Gharaibeh, Lauro Beltrão Costa, Elizeu Santos-Neto and Matei Ripeanu NetSysLab The University.
Experiences with Streaming Construction of SAH KD Trees Stefan Popov, Johannes Günther, Hans-Peter Seidel, Philipp Slusallek.
MSSG: A Framework for Massive-Scale Semantic Graphs Timothy D. R. Hartley, Umit Catalyurek, Fusun Ozguner, Andy Yoo, Scott Kohn, Keith Henderson Dept.
Sharing Aggregate Computation for Distributed Queries Ryan Huebsch, UC Berkeley Minos Garofalakis, Yahoo! Research † Joe Hellerstein, UC Berkeley Ion Stoica,
A Stratified Approach for Supporting High Throughput Event Processing Applications July 2009 Geetika T. LakshmananYuri G. RabinovichOpher Etzion IBM T.
1 On Compressing Web Graphs Michael Mitzenmacher, Harvard Micah Adler, Univ. of Massachusetts.
Design Patterns for Efficient Graph Algorithms in MapReduce Jimmy Lin and Michael Schatz University of Maryland Tuesday, June 29, 2010 This work is licensed.
Abstract Shortest distance query is a fundamental operation in large-scale networks. Many existing methods in the literature take a landmark embedding.
Leveraging Big Data: Lecture 11 Instructors: Edith Cohen Amos Fiat Haim Kaplan Tova Milo.
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.
Emalayan Vairavanathan
1 On Querying Historical Evolving Graph Sequences Chenghui Ren $, Eric Lo *, Ben Kao $, Xinjie Zhu $, Reynold Cheng $ $ The University of Hong Kong $ {chren,
Panagiotis Antonopoulos Microsoft Corp Ioannis Konstantinou National Technical University of Athens Dimitrios Tsoumakos.
1 Fast Failure Recovery in Distributed Graph Processing Systems Yanyan Shen, Gang Chen, H.V. Jagadish, Wei Lu, Beng Chin Ooi, Bogdan Marius Tudor.
X-Stream: Edge-Centric Graph Processing using Streaming Partitions
+ Mayukha Bairy Disk Intersection graphs and CDS as a backbone in wireless ad hoc networks.
HPDC 2014 Supporting Correlation Analysis on Scientific Datasets in Parallel and Distributed Settings Yu Su*, Gagan Agrawal*, Jonathan Woodring # Ayan.
A Survey of Distributed Task Schedulers Kei Takahashi (M1)
1/52 Overlapping Community Search Graph Data Management Lab, School of Computer Science
1 Knowledge Discovery from Transportation Network Data Paper Review Jiang, W., Vaidya, J., Balaporia, Z., Clifton, C., and Banich, B. Knowledge Discovery.
DynamicMR: A Dynamic Slot Allocation Optimization Framework for MapReduce Clusters Nanyang Technological University Shanjiang Tang, Bu-Sung Lee, Bingsheng.
Data Structures and Algorithms in Parallel Computing Lecture 7.
1 Adaptive Parallelism for Web Search Myeongjae Jeon Rice University In collaboration with Yuxiong He (MSR), Sameh Elnikety (MSR), Alan L. Cox (Rice),
Department of Computer Science, Johns Hopkins University Pregel: BSP and Message Passing for Graph Computations EN Randal Burns 14 November 2013.
Dynamic Network Analysis Case study of PageRank-based Rewiring Narjès Bellamine-BenSaoud Galen Wilkerson 2 nd Second Annual French Complex Systems Summer.
Cohesive Subgraph Computation over Large Graphs
Threads vs. Events SEDA – An Event Model 5204 – Operating Systems.
Data Center Network Architectures
Introduction to Load Balancing:
Pagerank and Betweenness centrality on Big Taxi Trajectory Graph
Sofus A. Macskassy Fetch Technologies
Distributed Network Traffic Feature Extraction for a Real-time IDS
PREGEL Data Management in the Cloud
Minimum Spanning Tree 8/7/2018 4:26 AM
Nithin Michael, Yao Wang, G. Edward Suh and Ao Tang Cornell University
Kijung Shin1 Mohammad Hammoud1
Sang-Woo Jun, Andy Wright, Sizhuo Zhang, Shuotao Xu and Arvind
Query-Friendly Compression of Graph Streams
Towards Effective Partition Management for Large Graphs
DISTRIBUTED CLUSTERING OF UBIQUITOUS DATA STREAMS
Yu Su, Yi Wang, Gagan Agrawal The Ohio State University
Degree-aware Hybrid Graph Traversal on FPGA-HMC Platform
Graph Indexing for Shortest-Path Finding over Dynamic Sub-Graphs
Peng Jiang, Linchuan Chen, and Gagan Agrawal
Scaling up Link Prediction with Ensembles
Jongik Kim1, Dong-Hoon Choi2, and Chen Li3
Fully-dynamic aimGraph
Tahsin Reza Matei Ripeanu Nicolas Tripoul
Big Data Analytics: Exploring Graphs with Optimized SQL Queries
Pei Lee, ICDE 2014, Chicago, IL, USA
Lecture 6: Counting triangles Dynamic graphs & sampling
There are Trillions of Little Forks in the Road. Choose Wisely
Lecture 10 Graph Algorithms
Relax and Adapt: Computing Top-k Matches to XPath Queries
Contention-Aware Resource Scheduling for Burst Buffer Systems
Presentation transcript:

Graph Colouring as a Challenge Problem for Dynamic Graph Processing on Distributed Systems Scott Sallinen, Keita Iwabuchi, Suraj Poudel, Maya Gokhale, Matei Ripeanu, Roger Pearce This work was partially performed under the auspices of the U.S. Department of Energy by Lawrence Livermore National Laboratory under Contract DE-AC52-07NA27344. (LLNL-PRES-709441). Lawrence Livermore National Laboratory University of British Columbia

Graphs are Everywhere 19th century shipping routes

Graphs are Constantly Changing Transportation and flight network Showcases a key characteristic of real world graphs – hubs or high centrality locations 21st century transportation network

Graphs Evolve Networks change over time. How do we analyze this? Could store static snapshots. But how do we answer queries? Q: What is the most friends Cop has ever had?

How should we query a Graph? Pause, Snapshot Incrementally Pros: + Classic, known algorithms + Queries on static graphs: optimized Cons: - Lose info between snapshots - Granularity depends on # snapshots - Needs pre-processing - Might rebuild solutions from scratch Pros: + Maintain complete granularity + No pre-processing Cons: - No longer ‘classic’ - Need infrastructure support - Need to design new algorithms That’s not a problem, that’s a research question!

Research Directions Infrastructure support for large scale dynamic graph processing. Novel algorithm and design principles. Infrastructure Algorithm

Design Space Algorithm Hook Incoming Graph Changes Modify Graph Storage Algorithm Hook 3. How do we store a graph like this? 1. How should we model changes? 2. What should an algorithm look like?

Incoming Graph Changes 1. Modeling Changes Incoming Graph Changes Algorithm Hook Modify Graph Storage Changes occur in networks as edge centric events.

Incoming Graph Changes 2. Designing Algorithms Incoming Graph Changes Algorithm Hook Modify Graph Storage Queries update based on events. Events caused by: Adds, deletes, updates, other events Q: What is the most friends Cop has ever had? Add edge to cop: degree++ most = max(most, degree) Delete edge to cop: degree--

Incoming Graph Changes 3. Storing the Graph Incoming Graph Changes Algorithm Hook Modify Graph Storage ‘Vertex as a Process’ design. Distribute events to associated vertex-process (Consistent Hashing) Improve upon existing frameworks: [1] Distributed Static Graph Analysis [2] Efficient Dynamic Storage [1] Roger Pearce, Maya Gokhale, Nancy M Amato. “Multithreaded asynchronous graph traversal for in-memory and semi-external memory.” Supercomputing (2010) [2] Keita Iwabuchi, Scott Sallinen, Roger Pearce, Brian Van Essen, Maya Gokhale, Satoshi Matsuoka. “Towards a Distributed Large Scale Dynamic Graph Data Store.” GABB (2016).

Research Contributions Infrastructure support for large scale dynamic graph processing. Novel algorithm and design principles. Start with a challenge problem.

Graph Colouring Goal: Build ‘independent sets’. Pre-processing for allocation. (Similar to sorting) Independence discovery. Clustering analysis. Sample selection.

Motivation to use Colouring No solution exists for true dynamic colouring. Literature describes vertex addition, not edge changes. (Doesn’t make sense – a person doesn’t know all their friends ever!) Not embarrassingly parallel, and not explored at large scale (statically OR dynamically)

Graph Colouring as Events Incoming Graph Changes Algorithm Hook Modify Graph Storage Queries update based on events. Add edge: Case 1: A is NOT the same colour as B Case 2: A is the same colour as B Recolour the vertex with the lower hash. If hash(A) < hash(B), A recolours. Otherwise, B recolours.

Graph Colouring as Events Incoming Graph Changes Algorithm Hook Modify Graph Storage Queries update based on events. Delete edge: If a vertex can ‘reduce’ it’s colour, do so. (Decrease colour count)

Graph Colouring as Events Incoming Graph Changes Algorithm Hook Modify Graph Storage Events continue, and we maintain a valid colouring. Add edge: Delete edge:

Research Contributions Infrastructure support for large scale dynamic graph processing. Novel algorithm and design principles. So what’s the evaluation?

Evaluation Hard to compare Static vs. Dynamic Comparing a single solution of the final graph, to a ‘continuous’ solution: ALL solutions during evolution up, to the final graph. Platform: Catalyst cluster, Lawrence Livermore National Laboratory 324 nodes: 12-core Intel Xeon E5-2695v2 (2.4 GHz) 128 GB Memory Intel 910 PCI-attached NAND Flash

Analyzing Performance Performance on par, or better than one solution with GraphLab (static). At high node count: A continuous solution is only 2x as expensive as one snapshot. Only the blue line is a dynamic solution Static graphs are randomized and ingested Friendster Dataset, ~4 billion edges.

Analyzing Solution Quality Compare to a Static, Greedy Algorithm Solution quality is similar, varying at most by 16%. Solution space shows a remarkably similar distribution. With a novel, non-deterministic approach, we must show that the quality of the solution is good.

Scaling to Massive Graphs Real-world Web hyperlink graph with ~250 Billion edges (5 TB) GraphLab cannot colour this graph, even with 300 nodes (38 TB agg. mem.) Inspired by lack of large scale graphs in literature, we use a

Real Dynamic Graphs To fully show the capabilities of the framework, we curated a real dynamic crawl of Wikipedia. Vertices are pages, and edges are hyperlinks. No ‘static equivalent’, the entire dataset is a set of dynamic events. The relationship between edge additions and deletions is captured.

Wikipedia Dynamic Graph We present sampled results of the algorithm based on year. this is not snapshotting

Note on Digesting Events in Parallel The framework and colouring algorithm supports parallel, asynchronous events. (details in paper) Digesting event streams in parallel has an obvious boost in performance.

Lessons Learned Infrastructure support for large scale dynamic graph processing. An event driven dynamic framework is not only possible, but highly performant and scalable. Novel algorithm and design principles. Dynamic algorithms are able to close the performance gap to static ones, while capturing true dynamic properties. We believe the techniques, strategies, and behaviour associated with this, will be useful for future dynamic algorithm design.

Thank you! Collaborators: Scott Sallinen Keita Iwabuchi Roger Pearce Matei Ripeanu Suraj Poudel Maya Gokhale

Questions? Lessons Learned Infrastructure support for large scale dynamic graph processing. An event driven dynamic framework is not only possible, but highly performant and scalable. Novel algorithm and design principles. Dynamic algorithms are able to close the performance gap to static ones, while capturing true dynamic properties. We believe the techniques, strategies, and behaviour associated with this, will be useful for future dynamic algorithm design. Questions?

Static method: Baseline Comparison - GraphLab Graphlab can not be run on a small node count, despite 128 GB memory per node (graphs being ~60 GB in edge pair txt format) GraphLab scales poorly (to negatively) with increasing colour count and node count. The plots present runtime for GraphLab and our solution using LDF and Hash vertex priority assignment for 1 to 64 nodes. Missing data-points in the plot indicate that GraphLab was unable to load the data.

Static method: Baseline Comparison - Literature We see long colouring times in literature. Multiple orders of magnitude of difference, not all explained by hardware. Faster due to allowing asynchronicity (instead of a BSP/map-reduce model) Especially useful for communication among large compute node counts. Cluster solutions for the Friendster graph. Left: ~2 hours. 26 nodes: 32 cores, 64 GB RAM each. (S. Salihoglu et. al, VLDB 2014) Right: ~10 minutes. 15 nodes: two E5-2620 2.0GHz (12 cores), 48 GB RAM each. (Y. Lu et. al, VLDB 2015) This paper: 35 seconds on 1 node w/ two E5-2695 2.4 GHz (24 cores), 128 GB RAM. 3 seconds on 16 nodes.