Real-Time Index Concurrency Control

Real time database systems are expected to rely heavily on indexes to speed up data access and thereby help more transactions meet their deadlines. Accordingly, high performance index concurrency control (ICC) protocols are required to prevent contention for the index from becoming a bottleneck. We develop real time variants of a representative set of classical B-tree ICC protocols and, using a detailed simulation model, compare their performance for real time transactions with firm deadlines. We also present and evaluate a real time ICC protocol called GUARD-link that augments the classical B-link protocol with a feedback based admission control mechanism. Both point and range queries, as well as the undos of the index action transactions are included in the study. The performance metrics used in evaluating the ICC protocols are the percentage of transactions that miss their deadlines and the fairness with respect to transaction type and size. Experimental results show that the performance characteristics of the real time version of an ICC protocol could be significantly different from the performance of the same protocol in a conventional (nonreal time) database system. In particular, B-link protocols, which are reputed to provide the best overall performance in conventional database systems, perform poorly under heavy real time loads. The new GUARD-link protocol, however, although based on the B-link approach, delivers the best performance (with respect to all performance metrics) for a variety of real time transaction workloads, by virtue of its admission control mechanism. GUARD-link provides close to ideal fairness in most environments.

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

[2]  Lui Sha,et al.  Priority Inheritance Protocols: An Approach to Real-Time Synchronization , 1990, IEEE Trans. Computers.

[3]  Alexandros Biliris,et al.  A Comparative Study of Concurrency Control Methods in B-Trees , 1986, Aegean Workshop on Computing.

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

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

[6]  Michael J. Carey,et al.  Performance of B-tree concurrency control algorithms , 1991, SIGMOD '91.

[7]  Azer Bestavros Advances in real-time database systems research , 1996, SGMD.

[8]  John A. Stankovic,et al.  On real-time transactions , 1988, SGMD.

[9]  Miron Livny,et al.  Earliest deadline scheduling for real-time database systems , 1991, [1991] Proceedings Twelfth Real-Time Systems Symposium.

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

[11]  Özgür Ulusoy Research Issues in Real-Time Database Systems , 1995, Inf. Sci..

[12]  Miron Livny,et al.  Managing memory for real-time queries , 1994, SIGMOD '94.

[13]  Antonin Guttman,et al.  R-trees: a dynamic index structure for spatial searching , 1984, SIGMOD '84.

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

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

[16]  Chung Laung Liu,et al.  Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment , 1989, JACM.

[17]  Alexander Thomasian,et al.  Performance Analysis of Two-Phase Locking , 1991, IEEE Trans. Software Eng..

[18]  Jayant R. Haritsa,et al.  Index Concurrency Control in Firm Real-Time DBMS , 1996 .

[19]  Hector Garcia-Molina,et al.  Scheduling real-time transactions: a performance evaluation , 1988, TODS.

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

[21]  Theo Härder,et al.  Observations on optimistic concurrency control schemes , 1984, Inf. Syst..

[22]  Miron Livny,et al.  Multiclass Query Scheduling in Real-Time Database Systems , 1995, IEEE Trans. Knowl. Data Eng..

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

[24]  Dennis Shasha,et al.  Concurrent search structure algorithms , 1988, TODS.

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

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

[27]  Tomasz Imielinski,et al.  Querying in Highly Mobile Distributed Environments , 1992, VLDB.

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