skip to main content
10.1145/3087556.3087595acmconferencesArticle/Chapter ViewAbstractPublication PagesspaaConference Proceedingsconference-collections
abstract

Brief Announcement: Parallel Dynamic Tree Contraction via Self-Adjusting Computation

Published:24 July 2017Publication History

ABSTRACT

Dynamic algorithms are used to compute a property of some data while the data undergoes changes over time. Many dynamic algorithms have been proposed but nearly all are sequential. In this paper, we present our ongoing work on designing a parallel algorithm for the dynamic trees problem, which requires computing a property of a forest as the forest undergoes changes. Our algorithm allows insertion and/or deletion of both vertices and edges anywhere in the input and performs updates in parallel. We obtain our algorithm by applying a dynamization technique called self-adjusting computation to the classic algorithm of Miller and Reif for tree contraction.

References

  1. Umut A. Acar, Guy E. Blelloch, Matthias Blume, Robert Harper, and Kanat Tangwongsan. An experimental analysis of self-adjusting computation. ACM Trans. Prog. Lang. Sys., 32(1):3:1--53, 2009.Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Umut A. Acar, Guy E. Blelloch, and Robert Harper. Adaptive functional programming. ACM Trans. Prog. Lang. Sys., 28(6):990--1034, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Umut A. Acar, Guy E. Blelloch, Robert Harper, Jorge L. Vittes, and Maverick Woo. Dynamizing static algorithms with applications to dynamic trees and history independence. In ACM-SIAM Symposium on Discrete Algorithms, pages 531--540, 2004.Google ScholarGoogle Scholar
  4. Umut A. Acar, Guy E. Blelloch, and Jorge L. Vittes. An experimental analysis of change propagation in dynamic trees. In Workshop on Algorithm Engineering and Experimentation, 2005.Google ScholarGoogle Scholar
  5. Umut A. Acar, Arthur Charguéraud, and Mike Rainey. Scheduling parallel programs by work stealing with private deques. In PPoPP '13, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Umut A. Acar, Andrew Cotter, Benoît Hudson, and Duru Türkoălu. Parallelism in dynamic well-spaced point sets. In Proceedings of the 23rd ACM Symposium on Parallelism in Algorithms and Architectures, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Umut A. Acar, Andrew Cotter, Benoît Hudson, and Duru Türkoălu. Dynamic well-spaced point sets. Journal of Computational Geometry: Theory and Applications, 2013.Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Umut A. Acar, Benoît Hudson, and Duru Türkoălu. Kinetic mesh-refinement in 2D. In SCG '11: Proceedings of the 27th Annual Symposium on Computational Geometry, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Umut A. Acar, Alexander Ihler, Ramgopal Mettu, and Özgür Sümer. Adaptive Bayesian inference. In Neural Information Processing Systems (NIPS), 2007.Google ScholarGoogle Scholar
  10. Stephen Alstrup, Jacob Holm, Kristian de Lichtenberg, and Mikkel Thorup. Maintaining information in fully-dynamic trees with top trees, 2003. The Computing Research Repository (CoRR)[cs.DS/0310065].Google ScholarGoogle Scholar
  11. Jon Louis Bentley and James B. Saxe. Decomposable searching problems I: Static-to-dynamic transformation. Journal of Algorithms, 1(4):301--358, 1980. Google ScholarGoogle ScholarCross RefCross Ref
  12. Pramod Bhatotia, Pedro Fonseca, Umut A. Acar, Björn B. Brandenburg, and Rodrigo Rodrigues. iThreads: A threading library for parallel incremental computation. In Proceedings of the Twentieth International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS '15, pages 645--659, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Pramod Bhatotia, Alexander Wieder, Rodrigo Rodrigues, Umut A. Acar, and Rafael Pasquini. Incoop: MapReduce for incremental computations. In ACM Symposium on Cloud Computing, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Sebastian Burckhardt, Daan Leijen, Caitlin Sadowski, Jaeheon Yi, and Thomas Ball. Two for the price of one: A model for parallel and incremental computation. In ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Yan Chen, Umut A. Acar, and Kanat Tangwongsan. Functional programming for dynamic and large data with self-adjusting computation. In International Conference on Functional Programming (ICFP '14), pages 227--240, Sep 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Y.-J. Chiang and R. Tamassia. Dynamic algorithms in computational geometry. Proceedings of the IEEE, 80(9):1412--1434, 1992. Google ScholarGoogle ScholarCross RefCross Ref
  17. Camil Demetrescu, Irene Finocchi, and Giuseppe F. Italiano. Handbook on Data Structures and Applications, chapter 36: Dynamic Graphs. CRC Press, 2005.Google ScholarGoogle Scholar
  18. Krzysztof Diks and Torben Hagerup. More general parallel tree contraction: Register allocation and broadcasting in a tree. Theoretical Computer Science, 203(1):3 -- 29, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. David Eppstein and Zvi Galil. Parallel algorithmic techniques for combinational computation. Annual review of computer science, 3(1):233--283, 1988. Google ScholarGoogle ScholarCross RefCross Ref
  20. Greg N. Frederickson. A data structure for dynamically maintaining rooted trees. Journal Algorithms, 24(1):37--65, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Matteo Frigo, Charles E. Leiserson, and Keith H. Randall. The implementation of the Cilk-5 multithreaded language. In PLDI, pages 212--223, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Matthew Hammer, Umut A. Acar, Mohan Rajagopalan, and Anwar Ghuloum. A proposal for parallel self-adjusting computation. In DAMP '07: Declarative Aspects of Multicore Programming, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Matthew A. Hammer, Umut A. Acar, and Yan Chen. CEAL: a C-based language for self-adjusting computation. In ACM SIGPLAN Conference on Programming Language Design and Implementation, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Monika R. Henzinger and Valerie King. Randomized fully dynamic graph algorithms with polylogarithmic time per operation. Journal of the ACM, 46(4):502--516, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Joseph Jaja. An introduction to parallel algorithms. Addison Wesley Longman Publishing Company, 1992.Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Richard M. Karp and Vijaya Ramachandran. Parallel algorithms for shared-memory machines. In Handbook of Theoretical Computer Science, Volume A: Algorithms and Complexity (A), pages 869--942. 1990. Google ScholarGoogle ScholarCross RefCross Ref
  27. Ruy Ley-Wild, Umut A. Acar, and Matthew Fluet. A cost semantics for self-adjusting computation. In Proceedings of the 26th Annual ACM Symposium on Principles of Programming Languages, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Gary L. Miller and John H. Reif. Parallel tree contraction, part I: Fundamentals. Advances in Computing Research, 5:47--72, 1989.Google ScholarGoogle Scholar
  29. Gary L. Miller and John H. Reif. Parallel tree contraction, part 2: Further applications. SIAM Journal on Computing, 20(6):1128--1147, 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Ketan Mulmuley. Randomized multidimensional search trees: Lazy balancing and dynamic shuffling (extended abstract). In Proceedings of the 32nd Annual IEEE Symposium on Foundations of Computer Science, pages 180--196, 1991.Google ScholarGoogle Scholar
  31. Mark H. Overmars. The Design of Dynamic Data Structures. Springer, 1983.Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Shaunak Pawagi and Owen Kaser. Optimal parallel algorithms for multiple updates of minimum spanning trees. Algorithmica, 9:357--381, 1993. Google ScholarGoogle ScholarCross RefCross Ref
  33. G. Ramalingam and T. Reps. A categorized bibliography on incremental computation. In Principles of Programming Languages, pages 502--510, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. S. Rao Kosaraju and Arthur L. Delcher. Optimal parallel evaluation of tree-structured computations by raking (extended abstract), pages 101--110. 1988.Google ScholarGoogle Scholar
  35. John H. Reif and Stephen R. Tate. Dynamic parallel tree contraction (extended abstract). In SPAA, pages 114--121, 1994.Google ScholarGoogle Scholar
  36. Julian Shun, Yan Gu, Guy E. Blelloch, Jeremy T. Fineman, and Phillip B. Gibbons. Sequential random permutation, list contraction and tree contraction are highly parallel. In Proceedings of the Twenty-sixth Annual ACM-SIAM Symposium on Discrete Algorithms, SODA '15, pages 431--448, 2015. Google ScholarGoogle ScholarCross RefCross Ref
  37. Daniel D. Sleator and Robert Endre Tarjan. A data structure for dynamic trees. Journal of Computer and System Sciences, 26(3):362--391, 1983. Google ScholarGoogle ScholarCross RefCross Ref
  38. Daniel Dominic Sleator and Robert Endre Tarjan. Self-adjusting binary search trees. Journal of the ACM, 32(3):652--686, 1985. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Özgür Sümer, Umut A. Acar, Alexander Ihler, and Ramgopal Mettu. Adaptive exact inference in graphical models. Journal of Machine Learning, 8:180--186, 2011.Google ScholarGoogle Scholar
  40. Robert Tarjan and Renato Werneck. Self-adjusting top trees. In Proceedings of the Sixteenth Annual ACM-SIAM Symposium on Discrete Algorithms (SODA), 2005.Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. Robert E. Tarjan. Dynamic trees as search trees via euler tours, applied to the network simplex algorithm. Mathematical Programming, 78:167--177, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. Robert E. Tarjan and Renato F. Werneck. Dynamic trees in practice. J. Exp. Algorithmics, 14:5:4.5--5:4.23, January 2010.Google ScholarGoogle Scholar

Index Terms

  1. Brief Announcement: Parallel Dynamic Tree Contraction via Self-Adjusting Computation

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in
        • Published in

          cover image ACM Conferences
          SPAA '17: Proceedings of the 29th ACM Symposium on Parallelism in Algorithms and Architectures
          July 2017
          392 pages
          ISBN:9781450345934
          DOI:10.1145/3087556

          Copyright © 2017 Owner/Author

          Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for third-party components of this work must be honored. For all other uses, contact the Owner/Author.

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 24 July 2017

          Check for updates

          Qualifiers

          • abstract

          Acceptance Rates

          SPAA '17 Paper Acceptance Rate31of127submissions,24%Overall Acceptance Rate447of1,461submissions,31%

          Upcoming Conference

          SPAA '24

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader