Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3564246.3585140acmconferencesArticle/Chapter ViewAbstractPublication PagesstocConference Proceedingsconference-collections
research-article

External Memory Fully Persistent Search Trees

Published: 02 June 2023 Publication 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.
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[15]
Rathish Das, John Iacono, and Yakov Nekrich. 2022. External-memory dictionaries with worst-case update cost. arxiv:2211.06044.
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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

Recommendations

Comments

Information & Contributors

Information

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
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].

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 02 June 2023

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. B-trees
  2. external memory
  3. full persistence
  4. range queries
  5. semi-dynamic ray shooting

Qualifiers

  • Research-article

Funding Sources

Conference

STOC '23
Sponsor:

Acceptance Rates

Overall Acceptance Rate 1,469 of 4,586 submissions, 32%

Upcoming Conference

STOC '25
57th Annual ACM Symposium on Theory of Computing (STOC 2025)
June 23 - 27, 2025
Prague , Czech Republic

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 135
    Total Downloads
  • Downloads (Last 12 months)46
  • Downloads (Last 6 weeks)5
Reflects downloads up to 28 Dec 2024

Other Metrics

Citations

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media