Abstract
A network partition can break a distributed computing system into groups of isolated nodes. When this occurs, a mutual exclusion mechanism may be required to ensure that isolated groups do not concurrently perform conflicting operations. We study and formalize these mechanisms in three basic scenarios: where there is a single conflicting type of action; where there are two conflicting types, but operations of the same type do not conflict; and where there are two conflicting types, but operations of one type do not conflict among themselves. For each scenario, we present applications that require mutual exclusion (e.g., name servers, termination protocols, concurrency control). In each case, we also present mutual exclusion mechanisms that are more general and that may provide higher reliability than the voting mechanisms that have been proposed as solutions to this problem.
Similar content being viewed by others
References
Barbara D, Garcia-Molina H (1984a) Optimizing the Reliability Provided by Voting Mechanisms. Proc Fourth Internat Conf Distrib Comput Syst, pp 340–346
Barbara D, Garcia-Molina H (1984b) The Vulnerability of Voting Mechanisms. Proc Fourth Symp Reliab Distrib Software and Database Syst
Barbara D, Garcia-Molina H (1985) Evaluating Vote Assignments with a Probabilistic Metric. Proc Fifteenth IEEE Internat Symp Fault-Tolerant Comput
Bernstein PA, Shipman DW, Rothnie JB, Goodman N (1977) The Concurrency Control Mechanism of SDD-1: A System for Distributed Databases (The General Case). TR CCA-77-09, Comput Corp Am
Bernstein PA, Rothnie JB, Goodman N, Papadimitriou CA (1978) The Concurrency Control Mechanism of SDD-1: A System for Distributed Databases (The Fully Redundant Case). IEEE Trans Software Engin 4:154–167
Bernstein PA, Goodman N (1981) Concurrency Control in Distributed Database Systems. ACM Comput Surv 13:185–221
Cooper EC (1982) Analysis of Distributed Commit Protocols. ACM Internat Conf Manage Data, pp 175–183
Davidson S (1982) Evaluation of an Optimistic Protocol for Partitioned Distributed Database Systems. Tech Rep 299, Dep Electric Eng Comput Sci, Princeton University
Dolev D, Strong S (1982) Polynomial Algorithms for Multiple Processor Agreement. Proc 14th ACM Symp Theor Comput, pp 401–497
Garcia-Molina H (1982) Reliability Issues for Fully Replicated Distributed databases. IEEE Comput 15:34–42
Garcia-Molina H, Barbara D (1985) How to Assign Votes in a Distributed System. J ACM 32:841–860
Gifford DK (1979) Weighted Voting for Replicated Data. Proc. Seventh Symp Oper Syst Princ, pp 150–162
Gray J (1979) Notes on Database Operating Systems. Oper Syst: An Advance Course, R. Bayer et al. editors, Springer-Verlag, pp 393–481
Hammer M, Shipman D (1980) Reliability Mechanisms for SDD-1: A System for Distributed Databases. Trans Database Syst 5:431–466
Lamport L (1978) The Implementation of Reliable Distributed Multiprocess Systems. Comput Networks 2:95–114
Lamport L, Shostak R, Pease M (1982) The Byzantine Generals Problem. ACM Trans Program Lang Syst 4:382–401
Lynch N, Fischer M, Fowler R (1982) A Simple and Efficient Byzantine Generals Algorithm. Proc Second Symp Reliab Distrib Software and Database Syst, pp 46–52
Skeen D, Stonebraker M (1981) “A Formal Model of Crash Recovery in a Distributed System”. Proc Fifth Berkeley Workshop Distrib Data Manage Comput Networks, pp 129–142
Skeen D (1982) A Quorum-Based Commit Protocol. Proc Sixth Berkeley Workshop Distrib Data Manage Comput Networks, pp 69–80
Smith W, Decitre P (1979) An Evaluation Method for Analysis of the Weighted Voting Algorithm for Maintaining Replicated Data. Proc Fourth Internat Conf Distrib Comput Syst, pp 494–502
Thomas RH, (1979) A Majority Consensus Approach to Concurrency Control. ACM Trans Database Syst 4:180–209
Author information
Authors and Affiliations
Additional information
Daniel Barbara is a graduate student in the Computer Science Department at Princeton University and expects to receive his Ph.D. Degree by July 1985. He obtained his BS in Electrical Engineering at the Universidad Metropolitana, Caracas, Venezuela in 1975. His research interests are Distributed Systems, Databases and Computer Networks. He is a member of IEEE and ACM.
Hector Garcia-Molina is associate professor in the Department of Computer Science at Princeton University, Princeton, New Jersey. His research interests include distributed computing systems and database systems. He received a BS in electrical engineering from the Instituto Tecnologico de Monterrey. Mexico, in 1974. From Stanford University, Stanford, California, he received in 1975 a MS in electrical engineering and a PhD in computer science in 1979. Garcia-Molina is a member of the ACM and IEEE.
Rights and permissions
About this article
Cite this article
Barbara, D., Garcia-Molina, H. Mutual exclusion in partitioned distributed systems. Distrib Comput 1, 119–132 (1986). https://doi.org/10.1007/BF01786230
Issue Date:
DOI: https://doi.org/10.1007/BF01786230