ABSTRACT
Two locking protocols are defined for distributed database systems. One protocol provides deadlock avoidance without the need to roll back transactions. The other allows a useful weakening of the protocol in which only a limited class of easily handled deadlocks may occur. The protocols are capable of handling replicated as well as partitioned data. Like the centralized protocol on which they are based, the protocol of this paper permits locking at multiple granularities and allows collections of locks to be constructed to correspond to an arbitrary collection of database operations. Special provisions are made in the protocol to allow readers, and in particular, readers that touch data at only one site, to execute with less locking overhead than writers. Following the description of the protocol, comparisons are made between the protocol of this paper and other protocols previously published that offer similar features.
- 1.Attar, R., P.A. Bernstein, and N. Goodman (1982), "Site Initialization, Recovery, and Back-Up in a Distributed Database System," Proc. 6 Berkeley Workshop on Distributed Databases and Computer Networks, pp. 185-202.Google Scholar
- 2.Bernstein, P.A., and N. Goodman (1981), "Concurrency Control in Distributed Database Systems," ACM Computing Surveys, 13:2, pp. 185-221. Google ScholarDigital Library
- 3.Eswaran, K.E., J.N. Gray, R.A. Lorie, and I.L. Traiger (1976), "On the Notions of Consistency and Predicate Locks in a Relational Database System," Comm. ACM 14:11, pp. 624-634. Google ScholarDigital Library
- 4.Gray, J.N. (1978), "Notes on Database Operating Systems," RJ3120, IBM Research Laboratory, San Jose, CA., also in Operating Systems, An Advanced Course, Lecture Notes in Computer Science 60, Goos and Hartmanis, eds. Springer-Verlag, pp. 393-481. Google ScholarDigital Library
- 5.Gray, J.N., R.A. Lorie, G.R. Putzolu, and I.L. Traiger (1975), "Granularity of Locks and Degrees of Consistency in a Shared Data Base," RJ1654, IBM Research Laboratory, San Jose, CA.Google Scholar
- 6.Korth, H.F. (1981a), "Locking Primitives in a Database System," to appear, J. ACM. Google ScholarDigital Library
- 7.Korth, H.F. (1981b), "Deadlock Freedom Using Edge Locks," to appear, ACM Transactions on Database Systems. Google ScholarDigital Library
- 8.Lamport, L. (1978), "Time, Clocks and the Ordering of Events in a Distributed System," Comm. ACM, 21:7, pp. 558-565. Google ScholarDigital Library
- 9.Lindsay, B.G., P.G. Selinger, C. Galtieri, J.N. Gray, R.A. Lorie, T.G. Price, F. Putzolu, I.L. Traiger, B.W. Wade (1979), "Notes on Distributed Databases," RJ2571, IBM Research Laboratory, San Jose, CA.Google Scholar
- 10.Menasce, D.A., G.J. Popek, and R.R. Muntz (1980), "A Locking Protocol for Resource Coordination is Distributed Databases," ACM Transactions on Database Systems, 5:2, pp. 103-138. Google ScholarDigital Library
- 11.Rosenkrantz, D.J., R.E. Stearns, and P.M. Lewis (1978), "System Level Concurrency Control for Distributed Database Systems," ACM Transactions on Database Systems, 3:2, pp. 178-198. Google ScholarDigital Library
- 12.Traiger, I.L., J.N. Gray, C.A. Galtieri, and B.G. Lindsay (1978), "Transactions and Consistency in Distributed Database Systems," RJ2555, IBM Research Laboratory, San Jose, CA.Google Scholar
- 13.Ullman, J.D. (1980), Principles of Database Systems, Computer Science Press, Potomac, MD. Google ScholarDigital Library
Index Terms
- Edge locks and deadlock avoidance in distributed systems
Recommendations
Deadlock freedom using edge locks
We define a series of locking protocols for database systems that all have three main features: freedom from deadlock, multiple granularity, and support for general collections of locking primitives. A rooted directed acyclic graph is used to represent ...
Efficient distributed deadlock avoidance with liveness guarantees
EMSOFT '06: Proceedings of the 6th ACM & IEEE International conference on Embedded softwareWe present a deadlock avoidance algorithm for distributed systems that guarantees liveness. Deadlock avoidance in distributed systems is a hard problem and general solutions are considered impractical due to the high communication overhead. In previous ...
Deadlock-Free channels and locks
ESOP'10: Proceedings of the 19th European conference on Programming Languages and SystemsThe combination of message passing and locking to protect shared state is a useful concurrency pattern. However, programs that employ this pattern are susceptible to deadlock. That is, the execution may reach a state where each thread in a set waits for ...
Comments