Multidimensional voting: a general method for implementing synchronization in distributed systems

A concept called multidimensional voting, in which the vote and quorum assignments are k-dimensional vectors of nonnegative integers and each dimension is independent of the others, is introduced. Multidimensional voting is more powerful than traditional weighted voting because it is equivalent to the general method for achieving synchronization in distributed systems which is based on coteries (sets of groups of nodes), but its implementation is easier than that of coteries. An efficient algorithm for finding a multidimensional vote assignment for any given coterie is described and examples of its use are shown. It is shown how multidimensional voting can be used to easily implement novel algorithms for synchronizing access to replicated data or to ensure mutual exclusion. These algorithms cannot be implemented by traditional weighted voting.<<ETX>>

[1]  Leslie Lamport,et al.  The Implementation of Reliable Distributed Multiprocess Systems , 1978, Comput. Networks.

[2]  Robert H. Thomas,et al.  A Majority consensus approach to concurrency control for multiple copy databases , 1979, ACM Trans. Database Syst..

[3]  Hector Garcia-Molina,et al.  The Reliability of Voting Mechanisms , 1987, IEEE Transactions on Computers.

[4]  Akhil Kumar,et al.  Optimizing and evaluating algorithms for replicated data concurrency control , 1989, [1989] Proceedings. The 9th International Conference on Distributed Computing Systems.

[5]  Divyakant Agrawal,et al.  Efficient solution to the distributed mutual exclusion problem , 1989, PODC '89.

[6]  Amr El Abbadi,et al.  Maintaining availability in partitioned replicated databases , 1987, ACM Trans. Database Syst..

[7]  Hector Garcia-Molina,et al.  Protocols for dynamic vote reassignment , 1986, PODC '86.

[8]  Mamoru Maekawa,et al.  A N algorithm for mutual exclusion in decentralized systems , 1985, TOCS.

[9]  Hector Garcia-Molina,et al.  How to assign votes in a distributed system , 1985, JACM.

[10]  Derek L. Eager,et al.  Achieving robustness in distributed database systems , 1983, TODS.

[11]  Darrell D. E. Long,et al.  The Performance of Available Copy Protocols for the Management of Replicated Data , 1990, Perform. Evaluation.

[12]  Philip A. Bernstein,et al.  An algorithm for concurrency control and recovery in replicated distributed databases , 1984, TODS.

[13]  Darrell D. E. Long,et al.  Regeneration protocols for replicated objects , 1989, [1989] Proceedings. Fifth International Conference on Data Engineering.

[14]  Mostafa H. Ammar,et al.  Performance Characterization of Quorum-Consensus Algorithms for Replicated Data , 1989, IEEE Trans. Software Eng..

[15]  Mostafa H. Ammar,et al.  Optimizing vote and quorum assignments for reading and writing replicated data , 1989, [1989] Proceedings. Fifth International Conference on Data Engineering.

[16]  Hector Garcia-Molina,et al.  Consistency in a partitioned network: a survey , 1985, CSUR.

[17]  Calton Pu,et al.  Regeneration of replicated objects: A technique and its Eden implementation , 1986, 1986 IEEE Second International Conference on Data Engineering.

[18]  Divyakant Agrawal,et al.  Reducing Storage for Quorum Consensus Algorithms , 1988, VLDB.

[19]  David K. Gifford,et al.  Weighted voting for replicated data , 1979, SOSP '79.

[20]  Mostafa H. Ammar,et al.  The Grid Protocol: A High Performance Scheme for Maintaining Replicated Data , 1992, IEEE Trans. Knowl. Data Eng..

[21]  Jehan-François Pâris,et al.  Voting with Witnesses: A Constistency Scheme for Replicated Files , 1986, ICDCS.

[22]  Sushil Jajodia,et al.  Dynamic voting , 1987, SIGMOD '87.