Publication
IEEE Transactions on Software Engineering
Paper

A Recursive Solution Method to Analyze the Performance of Static Locking Systems

View publication

Abstract

According to the static locking concurrency control policy, transactions which have predeclared their locks can only be activated when they have acquired all requested locks. Lock contention results in transaction blocking, such that only a subset of V transactions available for processing can be active. We develop an analytic solution method based on recursion to compute performance measures of interest for static locking systems. The probability of lock conflict is computed approximately by noting that the mean number of active transactions encountered by a blocked transaction is that of a system with V – 1 transactions. Transactions delay before activation is determined by the mean number of times it is checked unsuccessfully for activation (e(V)) and the mean elapsed time between these instants. It is shown that the mean number of active transactions is V/(1 + ne(V)), where n is the ratio of the mean residual residence time of a transaction in the system and its mean residence time. It follows that the variability in transaction residence time, in addition to lock contention, has an adverse effect on performance. Based on the locking requirements of transactions, five database access models are considered: 1) a fixed number of exclusive locks, 2) a variable number of exclusive locks, 3) shared in addition to exclusive lock requests, 4) query and update transactions, 5) nonuniform database accesses in which transactions access objects in different database domains. Numerical results obtained by the analytical solution are validated against simulation results and shown to be quite accurate. They are also used to gain insight into the behavior of static locking systems. These insights are summarized at the end of the paper. © 1989 IEEE

Date

Publication

IEEE Transactions on Software Engineering

Authors

Share