Issue No. 08 - August (1998 vol. 9)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/71.706052
<p><b>Abstract</b>—Distributed voting is an important problem in reliable computing. In an <it>N</it> Modular Redundant (<it>NMR</it>) system, the N computational modules execute identical tasks and they need to periodically vote on their current states. In this paper, we propose a deterministic majority voting algorithm for <it>NMR</it> systems. Our voting algorithm uses error-correcting codes to drastically reduce the average case communication complexity. In particular, we show that the efficiency of our voting algorithm can be improved by choosing the parameters of the error-correcting code to match the probability of the computational faults. For example, consider an <it>NMR</it> system with 31 modules, each with a state of <it>m</it> bits, where each module has an independent computational error probability of 10<super>−3</super>. In this <it>NMR</it> system, our algorithm can reduce the average case communication complexity to approximately 1.0825<it>m</it> compared with the communication complexity of 31<it>m</it> of the naive algorithm in which every module broadcasts its local result to all other modules. We have also implemented the voting algorithm over a network of workstations. The experimental performance results match well the theoretical predictions.</p>
NMR system, communication complexity, majority voting, error-correcting codes, MDS code.
L. Xu and J. Bruck, "Deterministic Voting in Distributed Systems Using Error-Correcting Codes," in IEEE Transactions on Parallel & Distributed Systems, vol. 9, no. , pp. 813-824, 1998.