DePa: Simple, Provably Efficient, and Practical Order Maintenance for Task Parallelism
Sam Westrick, Larry Wang, Umut A. Acar

TL;DR
DePa is a novel parallel algorithm for order maintenance in task parallelism that is provably efficient, work-efficient, and practical, enabling fast dependency queries crucial for parallel program analysis.
Contribution
The paper introduces DePa, a new parallel order maintenance algorithm with provable efficiency, low overhead, and support for parallel execution, improving over prior solutions.
Findings
Queries require O(f/ω) work, with small f needing only a single memory lookup.
Graph maintenance at forks and joins requires constant work.
DePa is work-efficient and fully parallel, with no asymptotic overhead.
Abstract
A number of problems in parallel computing require reasoning about the dependency structure in parallel programs. For example, dynamic race detection relies on efficient "on-the-fly" determination of dependencies between sequential and parallel tasks (e.g. to quickly determine whether or not two memory accesses occur in parallel). Several solutions to this "parallel order maintenance" problem has been proposed, but they all have several drawbacks, including lack of provable bounds, high asymptotic or practical overheads, and poor support for parallel execution. In this paper, we present a solution to the parallel order maintenance problem that is provably efficient, fully parallel, and practical. Our algorithm -- called DePa -- represents a computation as a graph and encodes vertices in the graph with two components: a dag-depth and a fork-path. In this encoding, each query requires…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Distributed systems and fault tolerance · Cloud Computing and Resource Management
