Performance of B-tree concurrency control algorithms

A number of algorithms have been proposed to access B+-trees concurrently, but they are not well understood. In this article, we study the performance of various B+-tree concurrency control algorithms using a detailed simulation model of B+-tree operations in a centralized DBMS. Our study covers a wide range of data contention situations and resource conditions. In addition, based on the performance of the set of B+-tree concurrency control algorithms, which includes one new algorithm, we make projections regarding the performance of other algorithms in the literature. Our results indicate that algorithms with updaters that lock-couple using exclusive locks perform poorly as compared to those that permit more optimistic index descents. In particular, the B-link algorithms are seen to provide the most concurrency and the best overall performance. Finally, we demonstrate the need for a highly concurrent long-term lock holding strategy to obtain the full benefits of a highly concurrent algorithm for index operations.

[1]  Gio Wiederhold,et al.  Concurrent use of B-trees with variable-length entries , 1988, SGMD.

[2]  Alexandros Biliris Operation specific locking in B-trees , 1987, PODS '87.

[3]  Derick Wood,et al.  A New Method for Concurrency in B-Trees , 1982, IEEE Transactions on Software Engineering.

[4]  John T. Robinson,et al.  Limitations of concurrency in transaction processing , 1985, TODS.

[5]  Dennis Shasha,et al.  Utilization of B-trees with inserts, deletes and modifies , 1989, PODS '89.

[6]  Venkatachary Srinivasan,et al.  On-Line Processing in Large-Scale Transaction Systems , 1992 .

[7]  Jim Gray,et al.  Notes on Data Base Operating Systems , 1978, Advanced Course: Operating Systems.

[8]  H. T. Kung,et al.  A Concurrent Database Manipulation Problem: Binary Search Trees (Abstract) , 1978, Very Large Data Bases Conference.

[9]  Behrokh Samadi,et al.  B-Trees in a System with Multiple Users , 1976, Inf. Process. Lett..

[10]  C. Mohan,et al.  ARIES/IM: an efficient and high concurrency index management method using write-ahead logging , 1992, SIGMOD '92.

[11]  Dennis Shasha,et al.  A Symmetric Concurrent B-Tree Algorithm , 2011, Fall Joint Computer Conference.

[12]  William E. Weihl,et al.  Multi-version memory: software cache management for concurrent B-trees , 1990, Proceedings of the Second IEEE Symposium on Parallel and Distributed Processing 1990.

[13]  Dennis Shasha,et al.  Semantically-based concurrancy control for search structures , 1985, PODS '85.

[14]  S. B. Yao,et al.  Efficient locking for concurrent operations on B-trees , 1981, TODS.

[15]  Yoav Raz,et al.  Concurrency Control in B+-Trees Databases Using Preparatory Operations , 1985, VLDB.

[16]  MARTIN L. KERSTEN,et al.  Application of an optimistic concurrency control method , 1984, Softw. Pract. Exp..

[17]  Yehoshua Sagiv,et al.  Concurrent operations on B-trees with overtaking , 1985, J. Comput. Syst. Sci..

[18]  Michael J. Carey,et al.  Compensation-based on-line query processing , 1992, SIGMOD '92.

[19]  Y. C. Tay,et al.  A mean value performance model for locking in databases: the no-waiting case , 1985, JACM.

[20]  Theodore Johnson,et al.  The performance of concurrent data structure algorithms , 1990 .

[21]  Dennis Shasha,et al.  A framework for the performance analysis of concurrent B-tree algorithms , 1990, PODS '90.

[22]  Stephen Fox,et al.  The implementation of an integrated concurrency control and recovery scheme , 1982, SIGMOD '82.

[23]  David B. Lomet,et al.  Access method concurrency with recovery , 1992, SIGMOD '92.

[24]  Douglas Comer,et al.  Ubiquitous B-Tree , 1979, CSUR.

[25]  Michael J. Carey,et al.  An Efficient Implementation of Search Trees on [lg N + 1] Processors , 1984, IEEE Transactions on Computers.

[26]  Leonidas J. Guibas,et al.  A dichromatic framework for balanced trees , 1978, 19th Annual Symposium on Foundations of Computer Science (sfcs 1978).

[27]  C. Mohan,et al.  ARIES/KVL: A Key-Value Locking Method for Concurrency Control of Multiaction Transactions Operating on B-Tree Indexes , 1990, VLDB.