Standard Locking and Its Performance
Locking is the concurrency control method used by almost all DBMSs. It is for this reason that the paradigm for “correct” transaction execution, i.e., two-phase locking was first stated in this context [EGLT76] (also see [Date83],[BeHG87],[GrRe92]). Two-phase locking simply requires that no locks be released before all locks are acquired,15 but this scheme is susceptible to cascading aborts, since a transaction whose updates have been accessed by other transactions may itself be aborted. Strict two-phase locking prevents cascading aborts by deferring the releasing of locks acquired by a transaction to its commit point, [Date83],[BeHG87],[GrRe92]. Only the analysis of strict two-phase locking is considered in this chapter, as is the case with almost all studies of standard locking performance (see Section 3.6 for exceptions). The lock holding time is then from the instant at which the lock is requested to transaction completion time.
KeywordsShared Mode Active Transaction Delay Server Queue Network Model Effective Throughput
Unable to display preview. Download preview PDF.
- 15.There is the additional requirement that locking modes cannot be downgraded, e.g., from exclusive to shared [GrRe92].Google Scholar
- 16.We ignore the dependency of P c on the transaction step, as justified by what follows.Google Scholar
- 17.The residual lifetime argument holds if the conflict rate with succeeding steps is the same, but this is not quite so since the probability of conflict increases with j. However, most conflicts occur with transactions holding a large number of locks, such that there is less sensitivity with respect to small increments in j.Google Scholar
- 18.This analysis considers a table where the row number corresponds to distinct transactions in the system and the columns to the synchronously requested locks by these transactions. The analysis does not take into account previous transaction blockings due to lock conflicts.Google Scholar
- 19.The increase in mean response time due to lock contention is similar to its increase in an M/M/t queueing system discussed in Section 2.3 in Chapter 2, R = x/(1 — p),with x = r(M a ) and p = ß. Google Scholar
- 20.This discussion is also applicable to the case of different processing times for transaction steps.Google Scholar
- 21.Generated locking modes according to Bernoulli trials introduces a degree of variability which does not exist in real systems. The effect of locking modes on system performance is discussed further in Section 4.4 in Chapter 4 in the context of wait depth limited methods.Google Scholar
- 22.The detailed representation of job class switching as in the analysis in [IrLi79],[Thom82] is not required, but has been provided in both papers for tutorial purposes. Given that the service demand of the ith step of a transaction at device n is X„,;,while the total serviceGoogle Scholar
- 23.The example in [WHMZ94] considers a system with three transaction classes with multiprogramming level limits 35, 20, and 15 for transactions in C,, C2, and C3, respectively. The multiprogramming level limit for C1 plus C2 is 40, and it is 35 over all classes. The number of transactions allocated in the system should satisfy all the constraints, e.g., the number of transactions in C1 is 35 when there are no other transaction classes, its 30 when there are 10 transactions in C2, and its only 10 when there are 10 transactions in C2 and 15 transactions in C3.Google Scholar
- 24.The process of query compilation creates a control structure with access paths to data after authorization checking has been performed.Google Scholar