DePa: Simple, Provably Efficient, and Practical Order Maintenance for Task Parallelism

04/29/2022
by   Sam Westrick, et al.
0

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 O(f/ω) work, where f is the minimum dynamic nesting depth of the two vertices compared, and ω is the word-size. In the common case (where f is small, e.g., less than 100), each query requires only a single memory lookup and a small constant number of bitwise instructions. Furthermore, graph maintenance at forks and joins requires only constant work, resulting in no asymptotic impact on overall work and span. DePa is therefore work-efficient and fully parallel.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
01/03/2019

Efficient Race Detection with Futures

This paper addresses the problem of provably efficient and practically g...
research
10/25/2022

Parallel Order-Based Core Maintenance in Dynamic Graphs

The core numbers of vertices in a graph are one of the most well-studied...
research
07/25/2018

Shared-Memory Parallel Maximal Clique Enumeration

We present shared-memory parallel methods for Maximal Clique Enumeration...
research
11/06/2017

Nearly Work-Efficient Parallel Algorithm for Digraph Reachability

One of the simplest problems on directed graphs is that of identifying t...
research
04/18/2023

Provably-Efficient and Internally-Deterministic Parallel Union-Find

Determining the degree of inherent parallelism in classical sequential a...
research
01/21/2021

Work-sensitive Dynamic Complexity of Formal Languages

Which amount of parallel resources is needed for updating a query result...
research
06/28/2018

A NUMA-Aware Provably-Efficient Task-Parallel Platform Based on the Work-First Principle

Task parallelism is designed to simplify the task of parallel programmin...

Please sign up or login with your details

Forgot password? Click here to reset