Limitations of concurrency in transaction processing
- 1 March 1985
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Database Systems
- Vol. 10 (1), 1-28
- https://doi.org/10.1145/3148.3160
Abstract
Given the pairwise probability of conflict p among transactions in a transaction processing system, together with the total number of concurrent transactions n, the effective level of concurrency E(n,p) is defined as the expected number of the n transactions that can run concurrently and actually do useful work. Using a random graph model of concurrency, we show for three general classes of concurrency control methods, examples of which are (1) standard locking, (2) strict priority scheduling, and (3) optimistic methods, that (1) E(n, p) ⩽ n(1 - p/2) n-1 , (2) E(n, p) ⩽ (1 - (1 - p) n )/p, and (3) 1 + ((1 - p)/p)ln(p(n - 1) + 1) ⩽ E(n, p) ⩽ 1 + (1/p)ln(p(n - 1) + 1). Thus, for fixed p, as n ↣ ∞), (1) E ↣ 0 for standard locking methods, (2) E ⩽ 1/p for strict priority scheduling methods, and (3) E ↣ ∞ for optimistic methods. Also found are bounds on E in the case where conflicts are analyzed so as to maximize E. The predictions of the random graph model are confirmed by simulations of an abstract transaction processing system. In practice, though, there is a price to pay for the increased effective level of concurrency of methods (2) and (3): using these methods there is more wasted work (i.e., more steps executed by transactions that are later aborted). In response to this problem, three new concurrency control methods suggested by the random graph model analysis are developed. Two of these, called (a) running priority and (b) older or running priority, are shown by the simulation results to perform better than the previously known methods (l)-(3) for relatively large n or large p, in terms of achieving a high effective level of concurrency at a comparatively small cost in wasted work.Keywords
This publication has 7 references indexed in Scilit:
- TransactionsACM SIGOPS Operating Systems Review, 1983
- The distribution of granule accesses made by database transactionsCommunications of the ACM, 1982
- On optimistic methods for concurrency controlACM Transactions on Database Systems, 1981
- Performance evaluation of two concurrency control mechanisms in a distributed database systemPublished by Association for Computing Machinery (ACM) ,1981
- Analysis of locking policies in database management systemsCommunications of the ACM, 1980
- System level concurrency control for distributed database systemsACM Transactions on Database Systems, 1978
- Process structuring, synchronization, and recovery using atomic actionsACM SIGPLAN Notices, 1977