# 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} }

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…

## Figures and Tables from this paper

## 27 Citations

Parallelizing Sequential Graph Computations

- Computer ScienceSIGMOD Conference
- 2017

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

- Computer ScienceSGMD
- 2018

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

- Computer ScienceSci. China Inf. Sci.
- 2020

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

- Computer ScienceSIGMOD Conference
- 2018

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.

A feasible graph partition framework for parallel computing of big graph

- Computer ScienceKnowl. Based Syst.
- 2017

FlexGraph: Flexible partitioning and storage for scalable graph mining

- Computer SciencePloS one
- 2020

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

- Computer ScienceProc. VLDB Endow.
- 2019

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

- Computer Science2019 IEEE 35th International Conference on Data Engineering (ICDE)
- 2019

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

- Computer SciencePLDI
- 2020

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

- Computer ScienceArXiv
- 2018

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.

## References

SHOWING 1-10 OF 80 REFERENCES

Parallelizing Sequential Graph Computations

- Computer ScienceSIGMOD Conference
- 2017

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

- Computer ScienceSIGMOD Conference
- 2018

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

- Computer ScienceSIGMOD Conference
- 2010

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

- Computer ScienceCIDR
- 2013

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

- Computer ScienceHPDC
- 2015

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

- Computer ScienceEuroSys '13
- 2013

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

- Computer SciencePPoPP 2015
- 2015

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

- Computer ScienceProc. VLDB Endow.
- 2014

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

- Computer ScienceProc. VLDB Endow.
- 2014

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

- Computer ScienceOSDI
- 2012

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.