Multidimensional voting: a general method for implementing synchronization in distributed systems
S.Y. Cheung, Mustaque Ahamad, Mostafa Ammar · 2002
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.>