Efficient voting protocols with witnesses
Witnesses are small entities recording the state of a replicated object. They are especially useful in voting protocols as these protocols require 2n + 1 replicas to guarantee continuous access to the data in the presence of n site failures but allow some of these replicas to be replaced by a witness.
We propose in this paper two orthogonal enhancements to the original voting with witnesses protocol. Our first proposal introduces a new kind of witness that can be stored in volatile memory and is put in a state of temporary amnesia when it recovers from a hardware failure. Our second proposal allows the set of all current replicas to act as a majority even when it only has a minority of the votes; it is then referred to as a leading minority.
We show that under standard Markovian assumptions two full replicas and one volatile witness managed by a majority consensus voting protocol recognizing leading minorities provide a data availability comparable to that achieved by three full replicas managed by majority consensus voting.
Keywordsdistributed file systems replicated data voting witnesses
Unable to display preview. Download preview PDF.
- D. Agrawal and A. El Abbadi, “Reducing Storage for Quorum Consensus Algorithms,” Proc. 14th VLDB Conference (1988), pp. 419–430.Google Scholar
- J. Bechta Dugan and G. Ciardo, “Stochastic Petri Net Analysis of a Replicated File System,” IEEE Transactions on Software Engineering, SE-15, 4 (1989), pp. 394–401.Google Scholar
- D. Barbara, H. Garcia-Molina, and A. Spauster, “Increasing Availability Under Mutual Exclusion Constraints with Dynamic Vote Reassignment,” ACM Transaction on Computer Systems, 7, 4 (1989), pp. 394–426.Google Scholar
- J. L. Carroll and D. D.E. Long, “The Effect of Failure and Repair Distributions on Consistency Protocols for Replicated Data Objects,” PROC. 22d Annual Simulation Symposium (1989), pp. 47–60.Google Scholar
- D. Davcev and W. A. Burkhard, “Consistency and Recovery Control for Replicated Files,” Proc. 10th ACM Symposium on Operating System Principles (1985) pp. 87–96.Google Scholar
- C. A. Ellis, “Consistency and Correctness of Duplicate Database Systems,” Operating Systems Review, 11 (1977).Google Scholar
- D. K. Gifford, “Weighted Voting for Replicated Data,” Proc. 7th ACM Symposium on Operating System Principles (1979), pp. 150–161.Google Scholar
- A. Hisgen, A. Birrell, T. Mann, M. Schroeder, and G. Swart, “Availability and Consistency Tradeoffs in the Echo Distributed File System,” Proc. 2nd Workshop on Workstation Operating Systems, (1989), pp. 49–54.Google Scholar
- B. V. Gnedenko, Yu. K. Belyayev and A. D. Solovyev, Mathematical Methods of Reliability Theory, (English translation of “Matematicheskiye Metody v Teorii Nadezhnosti”), Academic Press, New York (1969).Google Scholar
- S. Jajodia and D. Mutchler, “Enhancements to the Voting Algorithm,” Proc. 13th VLDB Conference (1987), pp. 399–405.Google Scholar
- D. D. E. Long and J.-F. Pâris, “A Realistic Evaluation of Optimistic Dynamic Voting,” Proc. 7th Symposium on Reliable Distributed Systems, (1988), pp. 129–137.Google Scholar
- J.-F. Pâris, “Voting with Witnesses: A Consistency Scheme for Replicated Files,” Proc. 6th International Conference on Distributed Computing Systems, (1986), pp. 606–612.Google Scholar
- J.-F. Paris “Voting with Bystanders,” Proc. 9th International Conference on Distributed Computing Systems, (1989), pp. 394–401.Google Scholar
- C. Pu, J. D. Noe and A. Proudfoot, “Regeneration of Replicated Objects: A Technique and its Eden Implementation,” IEEE Transactions on Software Engineering, SE-14, 7 (1988), pp. 936–945.Google Scholar
- R. van Renesse and A. Tanenbaum, “Voting with Ghosts,” Proc. 8th International Conference on Distributed Computing Systems, (1988), pp. 456–462.Google Scholar