Parallel Batch-Dynamic Trees via Change Propagation

The dynamic trees problem is to maintain a forest subject to edge insertions and deletions while facilitating queries such as connectivity, path weights, and subtree weights. Dynamic trees are a fundamental building block of a large number of graph algorithms. Although traditionally studied in the single-update setting, 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 batch-dynamic algorithms that achieve provably low span is important for many applications. In this work, we design the first work-efficient parallel batch-dynamic algorithm for dynamic trees that is capable of supporting both path queries and subtree queries, as well as a variety of non-local queries. To achieve this, we propose a framework for algorithmically dynamizing static round-synchronous algorithms that allows us 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. Our dynamic trees algorithm is obtained by applying our dynamization framework to the parallel tree contraction algorithm of Miller and Reif, and then performing a novel analysis of the computation distance of this algorithm under batch updates. We show that $k$ updates can be performed in $O(k \log(1+n/k))$ work in expectation, which matches an existing algorithm of Tseng et al. while providing support for a substantially larger number of queries and applications.

[1]  Richard P. Brent,et al.  The Parallel Evaluation of General Arithmetic Expressions , 1974, JACM.

[2]  Sergei Vassilvitskii,et al.  A model of computation for MapReduce , 2010, SODA '10.

[3]  Silvio Lattanzi,et al.  Dynamic Algorithms for the Massively Parallel Computation Model , 2019, SPAA.

[4]  Guy E. Blelloch,et al.  Adaptive functional programming , 2002, POPL '02.

[5]  Guy E. Blelloch,et al.  Parallel Batch-Dynamic Graph Connectivity , 2019, SPAA.

[6]  M. Abadi,et al.  Naiad: a timely dataflow system , 2013, SOSP.

[7]  Joseph M. Hellerstein,et al.  Distributed GraphLab: A Framework for Machine Learning in the Cloud , 2012, Proc. VLDB Endow..

[8]  Kun-Lung Wu,et al.  Work-Efficient Parallel Union-Find with Applications to Incremental Graph Connectivity , 2016, Euro-Par.

[9]  Qin Zhang,et al.  Sorting, Searching, and Simulation in the MapReduce Framework , 2011, ISAAC.

[10]  Alexandr Andoni,et al.  Parallel algorithms for geometric graph problems , 2013, STOC.

[11]  Krzysztof Onak,et al.  Round Compression for Parallel Matching Algorithms , 2020, SIAM J. Comput..

[12]  Richard Peng,et al.  Parallel Batch-Dynamic Graphs: Algorithms and Lower Bounds , 2019, SODA.

[13]  Guy E. Blelloch,et al.  Dynamizing static algorithms, with applications to dynamic trees and history independence , 2004, SODA '04.

[14]  Uzi Vishkin,et al.  Towards a theory of nearly constant time parallel algorithms , 1991, [1991] Proceedings 32nd Annual Symposium of Foundations of Computer Science.

[15]  Lenin Ravindranath,et al.  Nectar: Automatic Management of Data and Computation in Datacenters , 2010, OSDI.

[16]  Guy E. Blelloch,et al.  An Experimental Analysis of Change Propagation in Dynamic Trees , 2005, ALENEX/ANALCO.

[17]  Greg N. Frederickson,et al.  Data structures for on-line updating of minimum spanning trees , 1983, STOC.

[18]  Pramod Bhatotia,et al.  Incoop: MapReduce for incremental computations , 2011, SoCC.

[19]  Mohammad Taghi Hajiaghayi,et al.  Exponentially Faster Massively Parallel Maximal Matching , 2019, 2019 IEEE 60th Annual Symposium on Foundations of Computer Science (FOCS).

[20]  Robert E. Tarjan,et al.  A data structure for dynamic trees , 1981, STOC '81.

[21]  Robert E. Tarjan,et al.  Self-adjusting top trees , 2005, SODA '05.

[22]  Guy E. Blelloch,et al.  Batch-Parallel Euler Tour Trees , 2018, ALENEX.

[23]  Alexandr Andoni,et al.  Log Diameter Rounds Algorithms for 2-Vertex and 2-Edge Connectivity , 2019, ICALP.

[24]  Andrey Gubarev,et al.  Dremel : Interactive Analysis of Web-Scale Datasets , 2011 .

[25]  Donald B. Johnson,et al.  Optimal algorithms for the vertex updating problem of a minimum spanning tree , 1992, Proceedings Sixth International Parallel Processing Symposium.

[26]  Frank Dabek,et al.  Large-scale Incremental Processing Using Distributed Transactions and Notifications , 2010, OSDI.

[27]  David R. Karger,et al.  Minimum cuts in near-linear time , 1998, JACM.

[28]  Mikkel Thorup,et al.  Maintaining information in fully dynamic trees with top trees , 2003, TALG.

[29]  Leslie G. Valiant,et al.  A bridging model for parallel computation , 1990, CACM.

[30]  Abhiram G. Ranade,et al.  Fluent parallel computation , 1989 .

[31]  Gary L. Miller,et al.  Parallel Tree Contraction, Part 2: Further Applications , 1991, SIAM J. Comput..

[32]  Vahab S. Mirrokni,et al.  Massively Parallel Computation via Remote Memory Access , 2019, SPAA.

[33]  Yuan Yu,et al.  Dryad: distributed data-parallel programs from sequential building blocks , 2007, EuroSys '07.

[34]  J. Reif,et al.  Parallel Tree Contraction Part 1: Fundamentals , 1989, Adv. Comput. Res..

[35]  Fabrizio Luccio,et al.  Batch Dynamic Algorithms for Two Graph Problems , 1994, PARLE.

[36]  Richard M. Karp,et al.  Parallel Algorithms for Shared-Memory Machines , 1991, Handbook of Theoretical Computer Science, Volume A: Algorithms and Complexity.

[37]  Yu Chen,et al.  Sublinear Algorithms for (∆ + 1) Vertex Coloring (cid:3) , 2018 .

[38]  Guy E. Blelloch,et al.  A Top-Down Parallel Semisort , 2015, SPAA.

[39]  Umut A. Acar,et al.  Dynamic well-spaced point sets , 2010, Comput. Geom..

[40]  Joseph JáJá,et al.  An Introduction to Parallel Algorithms , 1992 .

[41]  Gary L. Miller,et al.  Parallel tree contraction and its application , 1985, 26th Annual Symposium on Foundations of Computer Science (sfcs 1985).

[42]  Aart J. C. Bik,et al.  Pregel: a system for large-scale graph processing , 2010, SIGMOD Conference.

[43]  Umut A. Acar,et al.  Parallelism in dynamic well-spaced point sets , 2011, SPAA '11.

[44]  Umut A. Acar,et al.  Adaptive Bayesian inference , 2007, NIPS 2007.

[45]  Sanjay Ghemawat,et al.  MapReduce: simplified data processing on large clusters , 2008, CACM.

[46]  Joseph M. Hellerstein,et al.  MapReduce Online , 2010, NSDI.