Parallelizing Sequential Graph Computations

被引:27
|
作者
Fan, Wenfei [1 ,2 ,3 ]
Yu, Wenyuan [4 ]
Xu, Jingbo [4 ]
Zhou, Jingren [4 ]
Luo, Xiaojian [4 ]
Yin, Qiang [2 ,4 ]
Lu, Ping [5 ]
Cao, Yang [1 ]
Xu, Ruiqi [1 ]
机构
[1] Univ Edinburgh, 10 Crichton St, Edinburgh EH8 9AB, Midlothian, Scotland
[2] Beihang Univ, 37 Xue Yuan Rd, Beijing 100191, Peoples R China
[3] Shenzhen Inst Comp Sci, Shenzhen, Peoples R China
[4] Alibaba Grp, 969 West Wen Yi Rd, Hangzhou 311121, Zhejiang, Peoples R China
[5] Beihang Univ, BDBC, 37 Xue Yuan Rd, Beijing 100191, Peoples R China
来源
ACM TRANSACTIONS ON DATABASE SYSTEMS | 2018年 / 43卷 / 04期
基金
英国工程与自然科学研究理事会; 欧洲研究理事会;
关键词
Graph computations; parallel graph query engines; parallelizing sequential algorithms; convergence; simulation; CONVERGENCE; MODEL;
D O I
10.1145/3282488
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
This article presents GRAPE, a parallel (GRAPh) under bar (E) under bar ngine for graph computations. GRAPE differs from prior systems in its ability to parallelize existing sequential graph algorithms as a whole, without the need for recasting the entire algorithm into a new model. Underlying GRAPE are a simple programming model and a principled approach based on fixpoint computation that starts with partial evaluation and uses an incremental function as the intermediate consequence operator. We show that users can devise existing sequential graph algorithms with minor additions, and GRAPE parallelizes the computation. Under a monotonic condition, the GRAPE parallelization guarantees to converge at correct answers as long as the sequential algorithms are correct. Moreover, we show that algorithms in MapReduce, BSP, and PRAM can be optimally simulated on GRAPE. In addition to the ease of programming, we experimentally verify that GRAPE achieves comparable performance to the state-of-the-art graph systems using real-life and synthetic graphs.
引用
收藏
页数:39
相关论文
共 50 条
  • [1] Parallelizing Sequential Graph Computations
    Fan, Wenfei
    Xu, Jingbo
    Wu, Yinghui
    Yu, Wenyuan
    Jiang, Jiaxin
    Zheng, Zeyu
    Zhang, Bohan
    Cao, Yang
    Tian, Chao
    SIGMOD'17: PROCEEDINGS OF THE 2017 ACM INTERNATIONAL CONFERENCE ON MANAGEMENT OF DATA, 2017, : 495 - 510
  • [2] GRAPE: Parallelizing Sequential Graph Computations
    Fan, Wenfei
    Xu, Jingbo
    Wu, Yinghui
    Yu, Wenyuan
    Jiang, Jiaxin
    PROCEEDINGS OF THE VLDB ENDOWMENT, 2017, 10 (12): : 1889 - 1892
  • [3] Parallelizing Computations of Full Disjunctions
    Paganelli, Matteo
    Beneventano, Domenico
    Guerra, Francesco
    Sottovia, Paolo
    BIG DATA RESEARCH, 2019, 17 : 18 - 31
  • [4] PARALLELIZING SEQUENTIAL CODE
    August, David I.
    IEEE MICRO, 2012, 32 (04) : 6 - 7
  • [5] Parallelizing and Optimizing Sparse Tensor Computations
    Baskaran, Muthu Manikandan
    Meister, Benoit
    Lethin, Richard
    PROCEEDINGS OF THE 28TH ACM INTERNATIONAL CONFERENCE ON SUPERCOMPUTING, (ICS'14), 2014, : 179 - 179
  • [6] Parallelizing Irregular Computations for Molecular Docking
    Solis-Vasquez, Leonardo
    Santos-Martins, Diogo
    Tillack, Andreas F.
    Koch, Andreas
    Eberhardt, Jerome
    Forli, Stefano
    PROCEEDINGS OF IA3 2020: 2020 IEEE/ACM 10TH WORKSHOP ON IRREGULAR APPLICATIONS: ARCHITECTURES AND ALGORITHMS (IA3), 2020, : 12 - 21
  • [7] PARALLELIZING VISIBILITY COMPUTATIONS ON TRIANGULATED TERRAINS
    DEFLORIANI, L
    MONTANI, C
    SCOPIGNO, R
    INTERNATIONAL JOURNAL OF GEOGRAPHICAL INFORMATION SYSTEMS, 1994, 8 (06): : 515 - 531
  • [8] Technical Perspective The Power of Parallelizing Computations
    Larus, James
    COMMUNICATIONS OF THE ACM, 2016, 59 (10) : 84 - 84
  • [9] Challenging the "Embarrassingly Sequential": Parallelizing Finite State Machine-Based Computations through Principled Speculation
    Zhao, Zhijia
    Wu, Bo
    Shen, Xipeng
    ACM SIGPLAN NOTICES, 2014, 49 (04) : 543 - 558
  • [10] PARALLELIZING SUBROUTINES IN SEQUENTIAL PROGRAMS
    CHU, CP
    CARVER, DL
    IEEE SOFTWARE, 1994, 11 (01) : 77 - 85