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 batchdynamic 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. 1 ar X iv :2 00 2. 05 12 9v 1 [ cs .D S] 1 2 Fe b 20 20

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

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

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

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

[5]  Sanjay Ghemawat,et al.  MapReduce: Simplified Data Processing on Large Clusters , 2004, OSDI.

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

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

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

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

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

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

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

[13]  Sebastian Brandt,et al.  Matching and MIS for Uniformly Sparse Graphs in the Low-Memory MPC Model , 2018, ArXiv.

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

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

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

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

[18]  S. Sitharama Iyengar,et al.  Introduction to parallel algorithms , 1998, Wiley series on parallel and distributed computing.

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

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

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

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

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

[24]  Carlos Guestrin,et al.  Distributed GraphLab : A Framework for Machine Learning and Data Mining in the Cloud , 2012 .

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

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

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

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

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

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

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

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

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

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

[35]  Umut A. Acar,et al.  Adaptive Exact Inference in Graphical Models , 2011, J. Mach. Learn. Res..

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

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

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

[39]  Sepehr Assadi,et al.  Massively Parallel Algorithms for Finding Well-Connected Components in Sparse Graphs , 2018, PODC.

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

[41]  Benjamin Moseley,et al.  Efficient massively parallel methods for dynamic programming , 2017, STOC.

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

[43]  Umut A. Acar,et al.  Kinetic mesh refinement in 2D , 2011, SoCG '11.

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

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

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

[47]  Krzysztof Onak,et al.  Round compression for parallel matching algorithms , 2017, STOC.

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

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