Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/1073970.1074009acmconferencesArticle/Chapter ViewAbstractPublication PagesspaaConference Proceedingsconference-collections
Article

Concurrent cache-oblivious b-trees

Published: 18 July 2005 Publication History

Abstract

This paper presents concurrent cache-oblivious (CO) B-trees. We extend the cache-oblivious model to a parallel or distributed setting and present three concurrent CO B-trees. Our first data structure is a concurrent lock-based exponential CO B-tree. This data structure supports insertions and non-blocking searches/successor queries. The second and third data structures are lock-based and lock-free variations, respectively, on the packed-memory CO B-tree. These data structures support range queries and deletions in addition to the other operations. Each data structure achieves the same serial performance as the original data structure on which it is based. In a concurrent setting, we show that these data structures are linearizable, meaning that completed operations appear to an outside viewer as though they occurred in some serialized order. The lock-based data structures are also deadlock free, and the lock-free data structure guarantees forward progress by at least one process.

References

[1]
A. Aggarwal, J. S. Vitter. The input/output complexity of sorting and related problems. Commun. ACM, 31(9):1116--1127, 1988.]]
[2]
A. Andersson. Faster deterministic sorting and searching in linear space. In FOCS'96, pp. 135--141, 1996.]]
[3]
A. Andersson, M. Thorup. Tight(er) worst-case bounds on dynamic searching and priority queues. In STOC'2000, pp. 335--342, 2000.]]
[4]
L. Arge, J. S. Vitter. Optimal dynamic interval management in external memory. In FOCS'96, pp. 560--569, 1996.]]
[5]
R. Bayer, E. M. McCreight. Organization and maintenance of large ordered indexes. Acta Informatica, 1(3):173--189, 1972.]]
[6]
M. A. Bender, G. S. Brodal, R. Fagerberg, D. Ge, S. He, H. Hu, J. Iacono, A. López-Ortiz. The cost of cache-oblivious searching. In FOCS'2003, pp. 271--282, 2003.]]
[7]
M. A. Bender, R. Cole, R. Raman. Exponential structures for efficient cache-oblivious algorithms. In ICALP'2002, pp. 195--207, 2002.]]
[8]
M. A. Bender, E. Demaine, M. Farach-Colton. Cache-oblivious B-trees. In FOCS'2000, pp. 399--409, 2000.]]
[9]
M. A. Bender, E. Demaine, M. Farach-Colton. Cache-oblivious B-trees. SIAM J. Comput., 2005. To appear.]]
[10]
M. A. Bender, Z. Duan, J. Iacono, J. Wu. A locality-preserving cache-oblivious dynamic dictionary. In SODA 2002, pp. 29--38, 2002.]]
[11]
M. A. Bender, Z. Duan, J. Iacono, J. Wu. A locality-preserving cache-oblivious dynamic dictionary. J. of Alg., 3(2):115--136, 2004.]]
[12]
M. A. Bender, M. Farach-Colton, B. C. Kuszmaul, J. Sukha. Cache-oblivious b-trees for optimizing disk performance. Manuscript., 2005.]]
[13]
G. S. Brodal, R. Fagerberg, R. Jacob. Cache oblivious search trees via binary trees of small height. In SODA 2002, pp. 39--48, 2002.]]
[14]
D. Comer. The ubiquitous B-Tree. Computing Surveys, 11:121--137, 1979.]]
[15]
M. Frigo, C. E. Leiserson, H. Prokop, S. Ramachandran. Cache-oblivious algorithms. In FOCS'99, pp. 285--297, 1999.]]
[16]
M. P. Herlihy, J. M. Wing. Linearizability: A correctness condition for concurrent objects. ACM Trans. Prog. Lang. Syst., 12(3):463--492, 1990.]]
[17]
A. Itai, A. G. Konheim, M. Rodeh. A sparse table implementation of priority queues. In S. Even, O. Kariv, editors, ICALP'81, vol. 115 of LNCS, pp. 417--431, 1981.]]
[18]
P. Jayanti. A complete and constant time wait-free implementation of CAS from LL/SC and vice versa. In DISC'98, vol. 1499 of LNCS, 1998.]]
[19]
Z. Kasheff. Cache-oblivious dynamic search trees. MS thesis, Massachusetts Institute of Technology, Cambridge, MA, 2004.]]
[20]
I. Katriel. Implicit data structures based on local reorganizations. MS thesis, Technion -- Isreal Inst. of Tech., Haifa, 2002.]]
[21]
R. E. Ladner, R. Fortna, B.-H. Nguyen. A comparison of cache aware and cache oblivious static search trees using program instrumentation. In Experimental Algorithmics: From Algorithm Design to Robust and Efficient Software, vol. 2547 of LNCS, pp. 78--92, 2002.]]
[22]
N. Lynch. Distributed Algorithms. Morgan Kaufmann, 1996.]]
[23]
K. Mehlhorn. Data Structures and Algorithms 1: Sorting and Searching, theorem 5, pp. 198--199. Springer-Verlag, 1984.]]
[24]
M. M. Michael. Practical lock-free and wait-free ll/sc/vl implementations using 64-bit cas. In DISC 2004, vol. 3274 of LNCS, 2004.]]
[25]
J. I. Munro, T. Papadakis, R. Sedgewick. Deterministic skip lists. In SODA'92, pp. 367--375, 1992.]]
[26]
H. Prokop. Cache-oblivious algorithms. MS thesis, Massachusetts Institute of Technology, Cambridge, MA, 1999.]]
[27]
N. Rahman, R. Cole, R. Raman. Optimised predecessor data structures for internal memory. In Proc. of the 5th Intnl. Workshop on Algorithm Engineering, vol. 2141 of LNCS, pp. 67--78, 2001.]]

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SPAA '05: Proceedings of the seventeenth annual ACM symposium on Parallelism in algorithms and architectures
July 2005
346 pages
ISBN:1581139861
DOI:10.1145/1073970
  • General Chair:
  • Phil Gibbons,
  • Program Chair:
  • Paul Spirakis
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 ACM 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: 18 July 2005

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. cache-oblivious b-tree
  2. concurrent b-tree
  3. exponential tree
  4. lock free
  5. non-blocking
  6. packed-memory array

Qualifiers

  • Article

Conference

SPAA05

Acceptance Rates

Overall Acceptance Rate 447 of 1,461 submissions, 31%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)15
  • Downloads (Last 6 weeks)4
Reflects downloads up to 04 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Layered List LabelingProceedings of the ACM on Management of Data10.1145/36516022:2(1-19)Online publication date: 14-May-2024
  • (2023)Toward Fully Functional Encrypted DatabasesSearchable Encryption10.1007/978-3-031-21377-9_6(107-147)Online publication date: 5-Jan-2023
  • (2022)PINT: Parallel INTerval-Based Race Detector2022 IEEE International Parallel and Distributed Processing Symposium (IPDPS)10.1109/IPDPS53621.2022.00087(850-861)Online publication date: May-2022
  • (2022) Online List Labeling: Breaking the log 2 n Barrier 2022 IEEE 63rd Annual Symposium on Foundations of Computer Science (FOCS)10.1109/FOCS54457.2022.00096(980-990)Online publication date: Oct-2022
  • (2021)Building enclave-native storage engines for practical encrypted databasesProceedings of the VLDB Endowment10.14778/3447689.344770514:6(1019-1032)Online publication date: 1-Feb-2021
  • (2021)Compiling pattern matching to in-place modificationsProceedings of the 20th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences10.1145/3486609.3487204(123-129)Online publication date: 17-Oct-2021
  • (2021)RCU‐HTM: A generic synchronization technique for highly efficient concurrent search treesConcurrency and Computation: Practice and Experience10.1002/cpe.617433:10Online publication date: 12-Jan-2021
  • (2019)WormholeProceedings of the Fourteenth EuroSys Conference 201910.1145/3302424.3303955(1-16)Online publication date: 25-Mar-2019
  • (2019)Efficient Concurrent Search Trees Using Portable Fine-Grained LocalityIEEE Transactions on Parallel and Distributed Systems10.1109/TPDS.2019.289296830:7(1580-1595)Online publication date: 1-Jul-2019
  • (2019)Packed Memory Arrays - Rewired2019 IEEE 35th International Conference on Data Engineering (ICDE)10.1109/ICDE.2019.00079(830-841)Online publication date: Apr-2019
  • Show More Cited By

View Options

Get Access

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