Batch-dynamic Algorithms via Parallel Change Propagation and Applications to Dynamic Trees
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.
READ FULL TEXT