skip to main content
OSTI.GOV title logo U.S. Department of Energy
Office of Scientific and Technical Information

Title: Frog: Asynchronous Graph Processing on GPU with Hybrid Coloring Model

Abstract

GPUs have been increasingly used to accelerate graph processing for complicated computational problems regarding graph theory. Many parallel graph algorithms adopt the asynchronous computing model to accelerate the iterative convergence. Unfortunately, the consistent asynchronous computing requires locking or atomic operations, leading to significant penalties/overheads when implemented on GPUs. As such, coloring algorithm is adopted to separate the vertices with potential updating conflicts, guaranteeing the consistency/correctness of the parallel processing. Common coloring algorithms, however, may suffer from low parallelism because of a large number of colors generally required for processing a large-scale graph with billions of vertices. We propose a light-weight asynchronous processing framework called Frog with a preprocessing/hybrid coloring model. The fundamental idea is based on Pareto principle (or 80-20 rule) about coloring algorithms as we observed through masses of realworld graph coloring cases. We find that a majority of vertices (about 80%) are colored with only a few colors, such that they can be read and updated in a very high degree of parallelism without violating the sequential consistency. Accordingly, our solution separates the processing of the vertices based on the distribution of colors. In this work, we mainly answer three questions: (1) how to partition the vertices inmore » a sparse graph with maximized parallelism, (2) how to process large-scale graphs that cannot fit into GPU memory, and (3) how to reduce the overhead of data transfers on PCIe while processing each partition. Here, we conduct experiments on real-world data (Amazon, DBLP, YouTube, RoadNet-CA, WikiTalk and Twitter) to evaluate our approach and make comparisons with well-known non-preprocessed (such as Totem, Medusa, MapGraph and Gunrock) and preprocessed (Cusha) approaches, by testing four classical algorithms (BFS, PageRank, SSSP and CC). On all the tested applications and datasets, Frog is able to significantly outperform existing GPU-based graph processing systems except Gunrock and MapGraph. MapGraph gets better performance than Frog when running BFS on RoadNet-CA. The comparison between Gunrock and Frog is inconclusive. Frog can outperform Gunrock more than 1.04X when running PageRank and SSSP, while the advantage of Frog is not obvious when running BFS and CC on some datasets especially for RoadNet-CA.« less

Authors:
ORCiD logo [1]; ORCiD logo [1];  [1];  [1];  [2];  [3];  [1]
  1. Huazhong Univ. of Science and Technology, Wuhan (China). Services Computing Technology and System Lab., Big Data Technology and System Lab., School of Computer
  2. Argonne National Lab. (ANL), Argonne, IL (United States)
  3. National Univ. of Singapore (Singapore). Dept. of Computer Science
Publication Date:
Research Org.:
Argonne National Lab. (ANL), Argonne, IL (United States)
Sponsoring Org.:
National Natural Science Foundation of China (NSFC); USDOE Office of Science (SC)
OSTI Identifier:
1416975
Grant/Contract Number:  
AC02-06CH11357
Resource Type:
Journal Article: Accepted Manuscript
Journal Name:
IEEE Transactions on Knowledge and Data Engineering
Additional Journal Information:
Journal Volume: 30; Journal Issue: 1; Journal ID: ISSN 1041-4347
Publisher:
IEEE
Country of Publication:
United States
Language:
English
Subject:
97 MATHEMATICS AND COMPUTING; Asynchronous Computing Model; GPGPU; Graph Processing

Citation Formats

Shi, Xuanhua, Luo, Xuan, Liang, Junling, Zhao, Peng, Di, Sheng, He, Bingsheng, and Jin, Hai. Frog: Asynchronous Graph Processing on GPU with Hybrid Coloring Model. United States: N. p., 2017. Web. doi:10.1109/TKDE.2017.2745562.
Shi, Xuanhua, Luo, Xuan, Liang, Junling, Zhao, Peng, Di, Sheng, He, Bingsheng, & Jin, Hai. Frog: Asynchronous Graph Processing on GPU with Hybrid Coloring Model. United States. https://doi.org/10.1109/TKDE.2017.2745562
Shi, Xuanhua, Luo, Xuan, Liang, Junling, Zhao, Peng, Di, Sheng, He, Bingsheng, and Jin, Hai. 2017. "Frog: Asynchronous Graph Processing on GPU with Hybrid Coloring Model". United States. https://doi.org/10.1109/TKDE.2017.2745562. https://www.osti.gov/servlets/purl/1416975.
@article{osti_1416975,
title = {Frog: Asynchronous Graph Processing on GPU with Hybrid Coloring Model},
author = {Shi, Xuanhua and Luo, Xuan and Liang, Junling and Zhao, Peng and Di, Sheng and He, Bingsheng and Jin, Hai},
abstractNote = {GPUs have been increasingly used to accelerate graph processing for complicated computational problems regarding graph theory. Many parallel graph algorithms adopt the asynchronous computing model to accelerate the iterative convergence. Unfortunately, the consistent asynchronous computing requires locking or atomic operations, leading to significant penalties/overheads when implemented on GPUs. As such, coloring algorithm is adopted to separate the vertices with potential updating conflicts, guaranteeing the consistency/correctness of the parallel processing. Common coloring algorithms, however, may suffer from low parallelism because of a large number of colors generally required for processing a large-scale graph with billions of vertices. We propose a light-weight asynchronous processing framework called Frog with a preprocessing/hybrid coloring model. The fundamental idea is based on Pareto principle (or 80-20 rule) about coloring algorithms as we observed through masses of realworld graph coloring cases. We find that a majority of vertices (about 80%) are colored with only a few colors, such that they can be read and updated in a very high degree of parallelism without violating the sequential consistency. Accordingly, our solution separates the processing of the vertices based on the distribution of colors. In this work, we mainly answer three questions: (1) how to partition the vertices in a sparse graph with maximized parallelism, (2) how to process large-scale graphs that cannot fit into GPU memory, and (3) how to reduce the overhead of data transfers on PCIe while processing each partition. Here, we conduct experiments on real-world data (Amazon, DBLP, YouTube, RoadNet-CA, WikiTalk and Twitter) to evaluate our approach and make comparisons with well-known non-preprocessed (such as Totem, Medusa, MapGraph and Gunrock) and preprocessed (Cusha) approaches, by testing four classical algorithms (BFS, PageRank, SSSP and CC). On all the tested applications and datasets, Frog is able to significantly outperform existing GPU-based graph processing systems except Gunrock and MapGraph. MapGraph gets better performance than Frog when running BFS on RoadNet-CA. The comparison between Gunrock and Frog is inconclusive. Frog can outperform Gunrock more than 1.04X when running PageRank and SSSP, while the advantage of Frog is not obvious when running BFS and CC on some datasets especially for RoadNet-CA.},
doi = {10.1109/TKDE.2017.2745562},
url = {https://www.osti.gov/biblio/1416975}, journal = {IEEE Transactions on Knowledge and Data Engineering},
issn = {1041-4347},
number = 1,
volume = 30,
place = {United States},
year = {Tue Aug 29 00:00:00 EDT 2017},
month = {Tue Aug 29 00:00:00 EDT 2017}
}

Journal Article:
Free Publicly Available Full Text
Publisher's Version of Record

Citation Metrics:
Cited by: 24 works
Citation information provided by
Web of Science

Save / Share:

Works referencing / citing this record:

WolfPath: Accelerating Iterative Traversing-Based Graph Processing Algorithms on GPU
journal, November 2017


L-PowerGraph: a lightweight distributed graph-parallel communication mechanism
journal, April 2018


Lazygraph: lazy data coherency for replicas in distributed graph-parallel computation
journal, March 2018


Efficient Tensor Sensing for RF Tomographic Imaging on GPUs
journal, February 2019


Lazygraph: lazy data coherency for replicas in distributed graph-parallel computation
conference, February 2018

  • Wang, Lei; Zhuang, Liangji; Chen, Junhang
  • PPoPP '18: 23nd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, Proceedings of the 23rd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming
  • https://doi.org/10.1145/3178487.3178508