Parallelizing Sequential Graph Computations

@article{Fan2017ParallelizingSG,
  title={Parallelizing Sequential Graph Computations},
  author={Wenfei Fan and Jingbo Xu and Yinghui Wu and Wenyuan Yu and Jiaxin Jiang and Zeyu Zheng and Bohan Zhang and Y. Cao and Chao Tian},
  journal={Proceedings of the 2017 ACM International Conference on Management of Data},
  year={2017}
}
  • W. Fan, Jingbo Xu, Chao Tian
  • Published 9 May 2017
  • Computer Science
  • Proceedings of the 2017 ACM International Conference on Management of Data
This paper presents GRAPE, a parallel system for graph computations. GRAPE differs from prior systems in its ability to parallelize existing sequential graph algorithms as a whole. Underlying GRAPE are a simple programming model and a principled approach, based on partial evaluation and incremental computation. We show that sequential graph algorithms can be "plugged into" GRAPE with minor changes, and get parallelized. As long as the sequential algorithms are correct, their GRAPE… 
Parallelizing Sequential Graph Computations
This article presents GRAPE, a parallel GRAPh Engine for graph computations. GRAPE differs from prior systems in its ability to parallelize existing sequential graph algorithms as a whole, without
From Think Parallel to Think Sequential
TLDR
It is shown how the familiar sequential graph algorithms can be parallelized by GRAPE, and it is experimentally verified that GRAPE achieves comparable performance to the state-of-the-art graph systems, using real-life and synthetic graphs.
Graph algorithms: parallelization and scalability
TLDR
This position paper answers both questions in the affirmative about how to parallelize sequential graph algorithms and guarantee convergence at the correct results as long as the sequential algorithms are correct.
Adaptive Asynchronous Parallelization of Graph Algorithms
TLDR
An Adaptive Asynchronous Parallel model for graph computations, employing the programming model of GRAPE, AAP aims to parallelize existing sequential algorithms based on fixpoint computation with partial and incremental evaluation and guarantees to converge at correct answers if the sequential algorithms are correct.
FlexGraph: Flexible partitioning and storage for scalable graph mining
TLDR
FlexGraph significantly decreases the communication cost, which is the main bottleneck of distributed systems, by exploiting different edge placement policies based on types of vertices, and proposes a flexible storage format to reduce I/O costs when reading input graph repeatedly.
Fast and Robust Distributed Subgraph Enumeration
TLDR
RADS is proposed, a Robust Asynchronous Distributed Subgraph enumeration system that employs a novel region-grouped multi-round expand verify & filter framework which does not need to shuffle and exchange the intermediate results, nor does it need to replicate a large part of the data graph in each machine.
TuFast: A Lightweight Parallelization Library for Graph Analytics
TLDR
A lightweight transactional memory library TuFast which provides easy-to-use primitives for the end-user to agilely develop fast shared memory graph parallelization on a multi-core server and outperform state-of-the-art distributed and multi- core graph analytical systems by up to 4 orders of magnitude.
SympleGraph: distributed graph processing with precise loop-carried dependency guarantee
TLDR
SympleGraph is proposed, a novel distributed graph processing framework that precisely enforces loop-carried dependency, i.e., when a condition is satisfied by a neighbor, all following neighbors can be skipped and achieves a good trade-off between precise semantics and parallelism.
DRONE: a Distributed gRaph cOmputiNg Engine
TLDR
An innovative distributed graph computing framework, DRONE, which combines the subgraph-centric model and the vertex-cut graph partitioning strategy and is capable to scale up to process one-trillion-edges synthetic power-law graphs, which is orders of magnitude larger than previously reported by existing SC-based frameworks.
...
1
2
3
...

References

SHOWING 1-10 OF 80 REFERENCES
Parallelizing Sequential Graph Computations
This article presents GRAPE, a parallel GRAPh Engine for graph computations. GRAPE differs from prior systems in its ability to parallelize existing sequential graph algorithms as a whole, without
Adaptive Asynchronous Parallelization of Graph Algorithms
TLDR
An Adaptive Asynchronous Parallel model for graph computations, employing the programming model of GRAPE, AAP aims to parallelize existing sequential algorithms based on fixpoint computation with partial and incremental evaluation and guarantees to converge at correct answers if the sequential algorithms are correct.
Pregel: a system for large-scale graph processing
TLDR
A model for processing large graphs that has been designed for efficient, scalable and fault-tolerant implementation on clusters of thousands of commodity computers, and its implied synchronicity makes reasoning about programs easier.
Asynchronous Large-Scale Graph Processing Made Easy
TLDR
GRACE is designed, a new graph programming platform that separates application logic from execution policies and contains a carefully designed and implemented parallel execution engine for both synchronous and user-specified built-in asynchronous execution policies.
Fast Iterative Graph Computation with Resource Aware Graph Parallel Abstractions
TLDR
GraphLego is novel in three aspects: it is argued that vertex-centric or edge-centric graph partitioning are ineffective for parallel processing of large graphs and three alternative graph parallel abstractions are introduced to enable a large graph to be partitioned at the granularity of subgraphs by slice, strip and dice based partitioning.
Mizan: a system for dynamic load balancing in large-scale graph processing
TLDR
Mizan is introduced, a Pregel system that achieves efficient load balancing to better adapt to changes in computing needs and does not assume any a priori knowledge of the structure of the graph or behavior of the algorithm.
SYNC or ASYNC: time to fuse for distributed graph-parallel computation
TLDR
This paper proposes Hsync, a hybrid graph computation mode that adaptively switches a graph-parallel program between the two modes for optimal performance, and builds online sampling and offline profiling approaches combined with a set of heuristics to accurately predicting future performance in the two mode.
Pregel Algorithms for Graph Connectivity Problems with Performance Guarantees
TLDR
This paper identifies a set of desirable properties of an efficient Pregel algorithm, such as linear space, communication and computation cost per iteration, and logarithmic number of iterations, and proposes PPAs for computing connected components, biconnected components and strongly connected components.
An Experimental Comparison of Pregel-like Graph Processing Systems
TLDR
A study to experimentally compare Giraph, GPS, Mizan, and Graphlab on equal ground by considering graph and algorithm agnostic optimizations and by using several metrics finds that the system optimizations present in Giraph and GraphLab allow them to perform well.
PowerGraph: Distributed Graph-Parallel Computation on Natural Graphs
TLDR
This paper describes the challenges of computation on natural graphs in the context of existing graph-parallel abstractions and introduces the PowerGraph abstraction which exploits the internal structure of graph programs to address these challenges.
...
1
2
3
4
5
...