skip to main content
10.1145/3564246.3585140acmconferencesArticle/Chapter ViewAbstractPublication PagesstocConference Proceedingsconference-collections
research-article

External Memory Fully Persistent Search Trees

Published:02 June 2023Publication History

ABSTRACT

We present the first fully-persistent external-memory search tree achieving amortized I/O bounds matching those of the classic (ephemeral) B-tree by Bayer and McCreight. The insertion and deletion of a value in any version requires amortized O(logB Nv) I/Os and a range reporting query in any version requires worst-case O(logB Nv + K/B) I/Os, where K is the number of values reported, Nv is the number of values in the version v of the tree queried or updated, and B is the external-memory block size. The data structure requires space linear in the total number of updates. Compared to the previous best bounds for fully persistent B-trees [Brodal, Sioutas, Tsakalidis, and Tsichlas, SODA 2012], this paper eliminates from the update bound an additive term of O(log2 B) I/Os. This result matches the previous best bounds for the restricted case of partial persistent B-trees [Arge, Danner and Teh, JEA 2003]. Central to our approach is to consider the problem as a dynamic set of two-dimensional rectangles that can be merged and split.

References

  1. Georgy M. Adelson-Velsky and Evgenii M. Landis. 1962. An algorithm for the organization of information. Proceedings of the USSR Academy of Sciences (in Russian), 146 (1962), 263–266. English translation by Myron J. Ricci in Soviet Mathematics - Doklady, 3:1259–1263, 1962. Google ScholarGoogle Scholar
  2. Alok Aggarwal and Jeffrey Scott Vitter. 1988. The Input/Output Complexity of Sorting and Related Problems. Commun. ACM, 31, 9 (1988), 1116–1127. https://doi.org/10.1145/48529.48535 Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Lars Arge, Gerth Stølting Brodal, and S. Srinivasa Rao. 2012. External Memory Planar Point Location with Logarithmic Updates. Algorithmica, 63, 1 (2012), 457–475. issn:0178-4617 https://doi.org/10.1007/s00453-011-9541-2 Google ScholarGoogle ScholarCross RefCross Ref
  4. Lars Arge, Andrew Danner, and Sha-Mayn Teh. 2003. I/O-efficient point location using persistent B-trees. ACM Journal of Experimental Algorithmics, 8 (2003), 22 pages. https://doi.org/10.1145/996546.996549 Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Lars Arge and Jeffrey Vitter. 2003. Optimal External Memory Interval Management. SIAM J. Comput., 32 (2003), 09, 1488–1508. https://doi.org/10.1137/S009753970240481X Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Rudolf Bayer and Edward M. McCreight. 1972. Organization and Maintenance of Large Ordered Indices. Acta Informatica, 1 (1972), 173–189. https://doi.org/10.1007/BF00288683 Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Bruno Becker, Stephan Gschwind, Thomas Ohler, Bernhard Seeger, and Peter Widmayer. 1996. An Asymptotically Optimal Multiversion B-Tree. The VLDB Journal, 5, 4 (1996), 264–275. https://doi.org/10.1007/s007780050028 Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Michael A. Bender, Rathish Das, Martin Farach-Colton, Rob Johnson, and William Kuszmaul. 2020. Flushing Without Cascades. In Proceedings of the 2020 ACM-SIAM Symposium on Discrete Algorithms, SODA 2020, Salt Lake City, UT, USA, January 5-8, 2020, Shuchi Chawla (Ed.). SIAM, 650–669. https://doi.org/10.1137/1.9781611975994.40 Google ScholarGoogle ScholarCross RefCross Ref
  9. Michael A. Bender, Martín Farach-Colton, Rob Johnson, Simon Mauras, Tyler Mayer, Cynthia A. Phillips, and Helen Xu. 2017. Write-Optimized Skip Lists. In Proceedings of the 36th ACM SIGMOD-SIGACT-SIGAI Symposium on Principles of Database Systems (PODS ’17). Association for Computing Machinery, New York, NY, USA. 69–78. isbn:9781450341981 https://doi.org/10.1145/3034786.3056117 Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Gerth Stølting Brodal and Rolf Fagerberg. 2003. On the Limits of Cache-Obliviousness. In Proceedings of the Thirty-Fifth Annual ACM Symposium on Theory of Computing (STOC ’03). Association for Computing Machinery, New York, NY, USA. 307–315. isbn:1581136749 https://doi.org/10.1145/780542.780589 Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Gerth Stølting Brodal, Spyros Sioutas, Konstantinos Tsakalidis, and Kostas Tsichlas. 2012. Fully Persistent B-trees. In Proceedings of the Twenty-Third Annual ACM-SIAM Symposium on Discrete Algorithms, SODA 2012, Kyoto, Japan, January 17-19, 2012. SIAM, 602–614. isbn:978-1-611972-11-5 issn:1557-9468 https://doi.org/10.1137/1.9781611973099.51 Google ScholarGoogle ScholarCross RefCross Ref
  12. Gerth Stølting Brodal, Spyros Sioutas, Konstantinos Tsakalidis, and Kostas Tsichlas. 2020. Fully persistent B-trees. Theoretical Computer Science, 841 (2020), 10–26. https://doi.org/10.1016/j.tcs.2020.06.027 Google ScholarGoogle ScholarCross RefCross Ref
  13. Bernard Chazelle. 1986. Filtering Search: A New Approach to Query-Answering. SIAM J. Comput., 15, 3 (1986), 703–724. https://doi.org/10.1137/0215051 Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Bernard Chazelle and Leonidas J. Guibas. 1986. Fractional Cascading: I. A Data Structuring Technique. Algorithmica, 1, 2 (1986), 133–162. https://doi.org/10.1007/BF01840440 Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Rathish Das, John Iacono, and Yakov Nekrich. 2022. External-memory dictionaries with worst-case update cost. arxiv:2211.06044. Google ScholarGoogle Scholar
  16. Erik D. Demaine, John Iacono, and Stefan Langerman. 2007. Retroactive Data Structures. ACM Transactions on Algorithms, 3, 2 (2007), Article 13, May, 20 pages. issn:1549-6325 https://doi.org/10.1145/1240233.1240236 Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. P. Dietz and D. Sleator. 1987. Two Algorithms for Maintaining Order in a List. In Proceedings of the Nineteenth Annual ACM Symposium on Theory of Computing (STOC ’87). ACM, New York, NY, USA. 365–372. isbn:0-89791-221-7 https://doi.org/10.1145/28395.28434 Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. James R. Driscoll, Neil Sarnak, Daniel Dominic Sleator, and Robert Endre Tarjan. 1989. Making Data Structures Persistent. J. Comput. System Sci., 38, 1 (1989), 86–124. https://doi.org/10.1016/0022-0000(89)90034-2 Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Yoav Giora and Haim Kaplan. 2009. Optimal Dynamic Vertical Ray Shooting in Rectilinear Planar Subdivisions. ACM Transactions on Algorithms, 5, 3 (2009), Article 28, July, 51 pages. issn:1549-6325 https://doi.org/10.1145/1541885.1541889 Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Leonidas J. Guibas and Robert Sedgewick. 1978. A Dichromatic Framework for Balanced Trees. In 19th Annual Symposium on Foundations of Computer Science, Ann Arbor, Michigan, USA, 16-18 October 1978. IEEE Computer Society, 8–21. https://doi.org/10.1109/SFCS.1978.3 Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Scott Huddleston and Kurt Mehlhorn. 1982. A New Data Structure for Representing Sorted Lists. Acta Informatica, 17 (1982), 157–184. https://doi.org/10.1007/BF00288968 Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Sitaram Lanka and Eric Mays. 1991. Fully Persistent B+-trees. SIGMOD Records, 20, 2 (1991), April, 426–435. issn:0163-5808 https://doi.org/10.1145/119995.115861 Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. David B. Lomet and Betty Salzberg. 1993. Exploiting A History Database for Backup. In Proceedings of the 19th International Conference on Very Large Data Bases (VLDB ’93). Morgan Kaufmann Publishers Inc., San Francisco, CA, USA. 380–390. isbn:1-55860-152-X https://dl.acm.org/doi/10.5555/645919.672672 Google ScholarGoogle Scholar
  24. J. Ian Munro and Yakov Nekrich. 2019. Dynamic Planar Point Location in External Memory. In 35th International Symposium on Computational Geometry, SoCG 2019, June 18-21, 2019, Portland, Oregon, USA, Gill Barequet and Yusu Wang (Eds.) (LIPIcs, Vol. 129). Schloss Dagstuhl - Leibniz-Zentrum für Informatik, 52:1–52:15. https://doi.org/10.4230/LIPIcs.SoCG.2019.52 Google ScholarGoogle ScholarCross RefCross Ref
  25. Neil Sarnak and Robert Endre Tarjan. 1986. Planar Point Location Using Persistent Search Trees. Commun. ACM, 29, 7 (1986), 669–679. https://doi.org/10.1145/6138.6151 Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Peter J. Varman and Rakesh M. Verma. 1997. An Efficient Multiversion Access Structure. IEEE Transactions on Knowledge and Data Engineering, 9, 3 (1997), 391–409. https://doi.org/10.1109/69.599929 Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Dan E. Willard. 1985. New Data Structures for Orthogonal Range Queries. SIAM J. Comput., 14, 1 (1985), 232–253. https://doi.org/10.1137/0214019 Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. External Memory Fully Persistent Search Trees

    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
      STOC 2023: Proceedings of the 55th Annual ACM Symposium on Theory of Computing
      June 2023
      1926 pages
      ISBN:9781450399135
      DOI:10.1145/3564246

      Copyright © 2023 ACM

      Permission to make digital or hard copies of all or part 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 components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 2 June 2023

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Acceptance Rates

      Overall Acceptance Rate1,469of4,586submissions,32%

      Upcoming Conference

      STOC '24
      56th Annual ACM Symposium on Theory of Computing (STOC 2024)
      June 24 - 28, 2024
      Vancouver , BC , Canada
    • Article Metrics

      • Downloads (Last 12 months)102
      • Downloads (Last 6 weeks)4

      Other Metrics

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader