Using semantic knowledge of transactions to increase concurrency

When the only information available about transactions is syntactic information, serializability is the main correctness criterion for concurrency control. Serializability requires that the execution of each transaction must appear to every other transaction as a single atomic step (i.e., the execution of the transaction cannot be interrupted by other transactions). Many researchers, however, have realized that this requirement is unnecessarily strong for many applications and can significantly increase transaction response time. To overcome this problem, a new approach for controlling concurrency that exploits the semantic information available about transactions to allow controlled nonserializable interleavings has recently been proposed. This approach is useful when the cost of producing only serializable interleavings is unacceptably high. The main drawback of the approach is the extra overhead incurred by utilizing the semantic information. We examine this new approach in this paper and discuss its strengths and weaknesses. We introduce a new formalization for the concurrency control problem when semantic information is available about the transactions. This semantic information takes the form of transaction types, transaction steps, and transaction break-points. We define a new class of “safe” schedules called relatively consistent (RC) schedules. This class contains serializable as well as nonserializable schedules. We prove that the execution of an RC schedule cannot violate consistency and propose a new concurrency control mechanism that produces only RC schedules. Our mechanism assumes fewer restrictions on the interleavings among transactions than previously introduced semantic-based mechanisms.

[1]  M. Tamer Özsu,et al.  Towards a General Concurrency Control Algorithm for Database Systems , 1987, IEEE Transactions on Software Engineering.

[2]  Hector Garcia-Molina,et al.  The Performance of a Concurrency Control Mechanism that Exploits Semantic Knowledge , 1985, ICDCS.

[3]  Nancy A. Lynch,et al.  Multilevel atomicity—a new correctness criterion for database concurrency control , 1983, TODS.

[4]  Rudolf Bayer,et al.  Parallelism and recovery in database systems , 1980, TODS.

[5]  Anthony P. Lucido,et al.  Deadlock Detection and Avoidance for Shared Logical Resources , 1979, IEEE Transactions on Software Engineering.

[6]  Jim Gray,et al.  Notes on Data Base Operating Systems , 1978, Advanced Course: Operating Systems.

[7]  Richard C. Holt,et al.  Some deadlock properties of computer systems , 1971, SOSP '71.

[8]  Alfred V. Aho,et al.  The Design and Analysis of Computer Algorithms , 1974 .

[9]  J. T. Robinson,et al.  On optimistic methods for concurrency control , 1979, TODS.

[10]  David P. Reed,et al.  Naming and synchronization in a decentralized computer system , 1978 .

[11]  H. T. Kung,et al.  An optimality theory of concurrency control for databases , 1979, SIGMOD '79.

[12]  Nancy A. Lynch,et al.  Global States of a Distributed System , 1982, IEEE Transactions on Software Engineering.

[13]  Leslie Lamport Towards a theory of correctness of multi-user database systems , 1976 .

[14]  Philip A. Bernstein,et al.  Concurrency Control in Distributed Database Systems , 1986, CSUR.

[15]  Hector Garcia-Molina,et al.  Using semantic knowledge for transaction processing in a distributed database , 1983, TODS.

[16]  Daniel J. Rosenkrantz,et al.  System level concurrency control for distributed database systems , 1978, TODS.

[17]  Irving L. Traiger,et al.  The notions of consistency and predicate locks in a database system , 1976, CACM.