Batch-dynamic Algorithms via Parallel Change Propagation and Applications to Dynamic Trees

by   Umut A. Acar, et al.

Dynamic algorithms capable of supporting batches of updates are increasingly relevant today due to the emergence of rapidly-evolving dynamic datasets. Since processing updates on a single processor is often unrealistic for large batches of updates, designing parallel dynamic algorithms that achieve provably low span is important for many applications. In this paper, motivated by the difficulty in designing parallel batch-dynamic algorithms by hand, we propose a framework for algorithmically dynamizing static round-synchronous algorithms to obtain parallel batch-dynamic algorithms with good bounds on their work and span. In our framework, the algorithm designer can apply the technique to any suitably defined static algorithm. We then obtain theoretical guarantees for algorithms in our framework by defining the notion of a computation distance between two executions of the underlying algorithm. Using this framework, we develop the first work-efficient parallel batch-dynamic algorithm for dynamic trees that supports both subtree queries and path queries, as well as a variety of nonlocal queries such as centers and medians. We further investigate the applicability of the framework by analyzing map-reduce-based computations, and a random-mate list contraction algorithm, which, when dynamized, yields a simple solution to the batch-dynamic lists problem that matches the work bounds of the best known hand-crafted data structure.


page 19

page 35


Deterministic and Work-Efficient Parallel Batch-Dynamic Trees in Low Span

Dynamic trees are a well-studied and fundamental building block of dynam...

Efficient Parallel Self-Adjusting Computation

Self-adjusting computation is an approach for automatically producing dy...

A Parallel Batch-Dynamic Data Structure for the Closest Pair Problem

We propose a theoretically-efficient and practical parallel batch-dynami...

BatchHL: Answering Distance Queries on Batch-Dynamic Networks at Scale

Many real-world applications operate on dynamic graphs that undergo rapi...

Parallel Batch-Dynamic Minimum Spanning Forest and the Efficiency of Dynamic Agglomerative Graph Clustering

Hierarchical agglomerative clustering (HAC) is a popular algorithm for c...

On-the-fly Operation Batching in Dynamic Computation Graphs

Dynamic neural network toolkits such as PyTorch, DyNet, and Chainer offe...

Parallel Batch-Dynamic Graphs: Algorithms and Lower Bounds

In this paper we study the problem of dynamically maintaining graph prop...

Please sign up or login with your details

Forgot password? Click here to reset