An analytical model for the performance of concurrent B tree algorithms

A dictionary is an abstract data type supporting the actions search, insert, and delete. Search structures are data structure used to implement a dictionary, e.g. B trees, hash structures, grid files, etc. Many concurrent algorithms for search structures have been proposed, but relatively little work has addressed their performance. This paper proposes an analytic performance model for a range of concurrent algorithms on B+ trees. It uses this model to propose a high performance, simple-to-program variant of lockcoupling algorithms. The model actually consists of two mutually exclusive models: a ‘‘constant flow’’ model in which the throughput is assumed to remain at its average value; and a ‘‘bursty flow’’ model in which the throughput is predicted to oscillate with a certain frequency and amplitude based on the number of processes, the height of the tree, and the size of the nodes. We find that the data points from simulation fall between these two predictive models, tending towards the bursty flow one as the number of processors increases. Inasmuch as the analytical model characterizes B+ trees in terms of fanout, height, probability of restructuring, and node size, it does not depend on the details of B+ trees and so can be extended, at least in spirit, to other structures.

[1]  Gunter Schlageter,et al.  Ideas on Optimistic Concurrency Control I , 1982 .

[2]  Irving L. Traiger,et al.  The notions of consistency and predicate locks in a database system , 1976, CACM.

[3]  Gerhard Weikum,et al.  A theoretical foundation of multi-level concurrency control , 1985, PODS.

[4]  H. T. Kung,et al.  Concurrent manipulation of binary search trees , 1980, TODS.

[5]  David B. Lomet,et al.  Bounded index exponential hashing , 1983, TODS.

[6]  Y. C. Tay,et al.  Locking performance in centralized databases , 1985, TODS.

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

[8]  H. T. Kung,et al.  On optimistic concurrency control , 1981 .

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

[10]  Ray Ford,et al.  Concurrency control mechanisms and the serializability of concurrent tree algorithms , 1984, PODS '84.

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

[12]  Michael Stonebraker,et al.  The Performance of Concurrency Control Algorithms for Database Management Systems , 1984, VLDB.

[13]  Yehoshua Sagiv Concurrent Operations on B*-Trees with Overtaking , 1986, J. Comput. Syst. Sci..

[14]  Miron Livny,et al.  Models for studying concurrency control performance: alternatives and implications , 1985, SIGMOD Conference.

[15]  EllisCarla Schlatter Concurrent search and insertion in 2---3 trees , 1980 .

[16]  Henry F. Korth,et al.  Locking Primitives in a Database System , 1983, JACM.

[17]  Wei-Pang Yang,et al.  Concurrent Operations in Extendible Hashing , 1986, VLDB.

[18]  Richard E. Ladner,et al.  Concurrency control in a dynamic search structure , 1984, TODS.

[19]  Betty Salzberg,et al.  Grid File Concurrency , 1986, Inf. Syst..

[20]  Y. C. Tay,et al.  A mean value performance model for locking in databases: the waiting case , 1984, PODS '84.

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

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

[23]  Carla Schlatter Ellis,et al.  Extendible hashing for concurrent operations and distributed data , 1983, PODS '83.

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

[25]  H. T. Kung,et al.  An optimality theory of concurrency control for databases , 1979, SIGMOD '79.

[26]  C. H. Papadimitriou SERIALIZABILITY OF CONCURRENT DATA BASE UPDATES , 1979 .

[27]  Christos H. Papadimitriou,et al.  The serializability of concurrent database updates , 1979, JACM.

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

[29]  Philip A. Bernstein,et al.  Concurrency Control in Distributed Database Systems , 1986, CSUR.

[30]  Abraham Silberschatz,et al.  Locking Protocols: From Exclusive to Shared Locks , 1983, JACM.

[31]  Hector Garcia-Molina,et al.  Using semantic knowledge for transaction processing in a distributed database , 1983, TODS.