An adaptable constrained locking protocol for high data contention environments: correctness and performance
Multiversions of data are used in database systems to increase concurrency and to provide efficient recovery. Data versions improve the concurrency by allowing the concurrent execution of "non-conflicting" read-write lock requests on different versions of data in an arbitrary fashion. A transaction that accesses a data item version, which later diagnosed to lead to an incorrect execution, is aborted. This act is reminiscent of the validation phase in the optimistic concurrency control schemes. Various performance studies suggest that these schemes perform poorly in high data contention environments where the excessive transaction aborts result due to the failed validation. We propose an adaptable constrained two-version two-phase locking (C2V2PL) scheme in which these "non-conflicting" requests are allowed only in a constrained manner. C2V2PL scheme assumes that a lock request failing to satisfy the specific constraints will lead to an incorrect execution and hence, must be either rejected or blocked. This eliminates the need for a separate validation phase. When the contention for data among the concurrent transactions is high, the C2V2PL scheduler in aggressive state rejects such lock requests. The deadlock free nature of C2V2PL scheduler adapts to the low data contention environments by accepting the lock request that have failed the specific constraints but contrary to the assumption, will not lead to an incorrect execution. Thus, C2V2PL scheme improves the potential concurrency due to reduced transaction aborts in this conservative state. We have compared performance of our scheme with other lock-based concurrency control schemes such as two phase locking, Wait-depth locking and Optimistic locking schemes. Our results show increase in throughput and reduced transaction-abort-ratio in case of C2V2PL scheme. (C) 2000 Elsevier Science B.V. All rights reserved.
constrained locking protocol high data contention environments concurrency control algorithms