Affiliation:
1. MIT CSAIL, Cambridge, MA
Abstract
A data-graph computation—popularized by such programming systems as Galois, Pregel, GraphLab, PowerGraph, and GraphChi—is an algorithm that performs local updates on the vertices of a graph. During each round of a data-graph computation, an update function atomically modifies the data associated with a vertex as a function of the vertex’s prior data and that of adjacent vertices. A dynamic data-graph computation updates only an active subset of the vertices during a round, and those updates determine the set of active vertices for the next round.
This article introduces P
rism
, a chromatic-scheduling algorithm for executing dynamic data-graph computations. P
rism
uses a vertex coloring of the graph to coordinate updates performed in a round, precluding the need for mutual-exclusion locks or other nondeterministic data synchronization. A multibag data structure is used by P
rism
to maintain a dynamic set of active vertices as an unordered set partitioned by color. We analyze P
rism
using work-span analysis. Let
G
= (
V
,
E
) be a degree-Δ graph colored with χ colors, and suppose that
Q
⊆
V
is the set of active vertices in a round. Define
size
(
Q
)= |
Q
| + ∑
v
∈
Q
deg(
v
), which is proportional to the space required to store the vertices of
Q
using a sparse-graph layout. We show that a
P
-processor execution of P
rism
performs updates in
Q
using
O
(χ (lg (
Q/χ
) + lg Δ ) + lg
P
span and Θ(
size
(
Q
) +
P
) work.
These theoretical guarantees are matched by good empirical performance. To isolate the effect of the scheduling algorithm on performance, we modified GraphLab to incorporate P
rism
and studied seven application benchmarks on a 12-core multicore machine. P
rism
executes the benchmarks 1.2 to 2.1 times faster than GraphLab’s nondeterministic lock-based scheduler while providing deterministic behavior.
This article also presents P
rism
-R, a variation of P
rism
that executes dynamic data-graph computations deterministically even when updates modify global variables with associative operations. P
rism
-R satisfies the same theoretical bounds as P
rism
, but its implementation is more involved, incorporating a multivector data structure to maintain a deterministically ordered set of vertices partitioned by color. Despite its additional complexity, P
rism
-R is only marginally slower than P
rism
. On the seven application benchmarks studied, P
rism
-R incurs a 7% geometric mean overhead relative to P
rism
.
Funder
NSF Graduate Research Fellowship
National Science Foundation
Intel Corporation and Foxconn Technology Group
Publisher
Association for Computing Machinery (ACM)
Subject
Computational Theory and Mathematics,Computer Science Applications,Hardware and Architecture,Modelling and Simulation,Software
Cited by
5 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. High-performance and balanced parallel graph coloring on multicore platforms;The Journal of Supercomputing;2022-11-07
2. BiPart;Proceedings of the 26th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming;2021-02-17
3. Graph Coloring on the GPU;2019 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW);2019-05
4. Brief Announcement;Proceedings of the 30th on Symposium on Parallelism in Algorithms and Architectures;2018-07-11
5. A Multicore Path to Connectomics-on-Demand;Proceedings of the 22nd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming;2017-01-26