In database management systems, transactions are provided for constructing programs which appear to execute atomically. If more than one transaction is allowed to run at once, a concurrency control algorithm must be employed to properly synchronize their execution. Many concurrency control algorithms have been proposed, and this thesis examines the costs and performance characteristics associated with a number of these algorithms.
Two models of concurrency control algorithms are described. The first is an abstract model which is used to evaluate and compare the relative storage and CPU costs of concurrency control algorithms. Three algorithms, two-phase locking, basic timestamp ordering, and serial validation, are evaluated using this model. It is found that the costs associated with two-phase locking are at least as low as those for the other two algorithms.
The second model is a simulation model which is used to investigate the performance characteristics of concurrency control algorithms. Results are presented for seven different algorithms, including four locking algorithms, two timestamp algorithms, and serial validation. All performed about equally well in situations where conflicts between transactions were rare. When conflicts were more frequent, the algorithms which minimized the number of transaction restarts were generally found to be superior. In situations where several algorithms each restarted the same number of transactions, those which restarted transactions which had done less work tended to perform the best.
Two previously proposed schemes for improving the performance of concurrency control algorithms, multiple versions and granularity hierarchies, are also examined. A new multiple version algorithm based on serial validation is presented, and performance results are given for this algorithm, the CCA version pool algorithm, and multiversion timestamp ordering. Unlike their single version counterparts, all three algorithms performed comparably under the workloads considered. Three new hierarchical concurrency control algorithms, based on serial validation, basic timestamp ordering, and multiversion timestamp ordering, are presented. Performance results are given for these algorithms and a hierarchical locking algorithm. All were found to improve performance in situations where the cost of concurrency control was high, but were of little use otherwise.
Cited By
- Wang Z, Mu S, Cui Y, Yi H, Chen H and Li J Scaling Multicore Databases via Constrained Parallel Execution Proceedings of the 2016 International Conference on Management of Data, (1643-1658)
- Kemper A and Neumann T (2014). The Database Group at TUM, ACM SIGMOD Record, 43:3, (55-60), Online publication date: 4-Dec-2014.
- Bober P and Carey M (1997). Indexing for Multiversion Locking, IEEE Transactions on Knowledge and Data Engineering, 9:1, (68-84), Online publication date: 1-Jan-1997.
- Shasha D, Llirbat F, Simon E and Valduriez P (1995). Transaction chopping, ACM Transactions on Database Systems, 20:3, (325-363), Online publication date: 1-Sep-1995.
- Agrawal D, El Abbadi A and Jeffers R An approach to eliminate transaction blocking in locking protocols Proceedings of the eleventh ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems, (223-235)
- Agrawal D, El Abbadi A and Jeffers R Using delayed commitment in locking protocols for real-time databases Proceedings of the 1992 ACM SIGMOD international conference on Management of data, (104-113)
- Agrawal D, El Abbadi A and Jeffers R (1992). Using delayed commitment in locking protocols for real-time databases, ACM SIGMOD Record, 21:2, (104-113), Online publication date: 1-Jun-1992.
- Wang W, Hsu M and Pinsky E Modeling hot spots in database systems (extended abstract) Proceedings of the tenth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems, (82-91)
- Shyu S and Li V (1990). Performance Analysis of Static Locking in Distributed Database Systems, IEEE Transactions on Computers, 39:6, (741-751), Online publication date: 1-Jun-1990.
- Carey M, Krishnamurthi S and Livny M Load control for locking Proceedings of the ninth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems, (72-84)
- Herlihy M (1990). Apologizing versus asking permission: optimistic concurrency control for abstract data types, ACM Transactions on Database Systems, 15:1, (96-124), Online publication date: 1-Mar-1990.
- Eich M and Wells D (1988). Database concurrency control using data flow graphs, ACM Transactions on Database Systems, 13:2, (197-227), Online publication date: 1-Jun-1988.
- Agrawal R, Carey M and Livny M (1987). Concurrency control performance modeling: alternatives and implications, ACM Transactions on Database Systems, 12:4, (609-654), Online publication date: 1-Nov-1987.
- Herlihy M (1987). Optimistic concurrency control for abstract data types, ACM SIGOPS Operating Systems Review, 21:2, (33-44), Online publication date: 1-Apr-1987.
- Ryu I and Thomasian A Performance analysis of dynamic locking Proceedings of 1986 ACM Fall joint computer conference, (698-708)
- Herlihy M Optimistic concurrency control for abstract data types Proceedings of the fifth annual ACM symposium on Principles of distributed computing, (206-217)
- Agrawal R and Dewitt D (1985). Integrated concurrency control and recovery mechanisms: design and performance evaluation, ACM Transactions on Database Systems, 10:4, (529-564), Online publication date: 1-Dec-1985.
- Tay Y, Goodman N and Suri R (1985). Locking performance in centralized databases, ACM Transactions on Database Systems, 10:4, (415-462), Online publication date: 1-Dec-1985.
- Gold I, Shmueli O and Hofri M The private workspace model feasibility and applications to 2PL performance improvements Proceedings of the 11th international conference on Very Large Data Bases - Volume 11, (192-208)
- Thomasian A and Ryu I Analysis of some optimistic concurrency control schemes based on certification Proceedings of the 1985 ACM SIGMETRICS conference on Measurement and modeling of computer systems, (192-203)
- Thomasian A and Ryu I (1985). Analysis of some optimistic concurrency control schemes based on certification, ACM SIGMETRICS Performance Evaluation Review, 13:2, (192-203), Online publication date: 1-Aug-1985.
- Robinson J (1985). A fast general-purpose hardware synchronization mechanism, ACM SIGMOD Record, 14:4, (122-130), Online publication date: 1-May-1985.
- Agrawal R, Carey M and Livny M (1985). Models for studying concurrency control performance, ACM SIGMOD Record, 14:4, (108-121), Online publication date: 1-May-1985.
- Robinson J A fast general-purpose hardware synchronization mechanism Proceedings of the 1985 ACM SIGMOD international conference on Management of data, (122-130)
- Agrawal R, Carey M and Livny M Models for studying concurrency control performance Proceedings of the 1985 ACM SIGMOD international conference on Management of data, (108-121)
- Franaszek P and Robinson J (1985). Limitations of concurrency in transaction processing, ACM Transactions on Database Systems, 10:1, (1-28), Online publication date: 1-Mar-1985.
- Tay Y and Suri R Choice and Performance in Locking for Databases Proceedings of the 10th International Conference on Very Large Data Bases, (119-128)
- Carey M and Stonebraker M The Performance of Concurrency Control Algorithms for Database Management Systems Proceedings of the 10th International Conference on Very Large Data Bases, (107-118)
- Boral H and Gold I Towards a self-adapting centralized concurrency control algorithm Proceedings of the 1984 ACM SIGMOD international conference on Management of data, (18-31)
- Boral H and Gold I (1984). Towards a self-adapting centralized concurrency control algorithm, ACM SIGMOD Record, 14:2, (18-31), Online publication date: 1-Jun-1984.
- Carey M An abstract model of database concurrency control algorithms Proceedings of the 1983 ACM SIGMOD international conference on Management of data, (97-107)
- Carey M (1983). An abstract model of database concurrency control algorithms, ACM SIGMOD Record, 13:4, (97-107), Online publication date: 1-May-1983.
Recommendations
Multiversion Cautious Schedulers for Database Concurrency Control
Let MC stand for a class of logs (i.e. sequences of read/write steps of transactions) that are serializable when multiple versions of the data items are maintained. The multiversion cautious scheduler, MCS(MC) which is introduced, outputs a sequence ...
Semantics-based concurrency control: beyond commutativity
The concurrency of transactions executing on atomic data types can be enhanced through the use of semantic information about operations defined on these types. Hitherto, commutativity of operations has been exploited to provide enchanced concurrency ...