A Theoretical Investigation of Generalized Voters for Redundant Systems
Class: CS791F - Fall 2005
Professor : Dr. Bojan Cukic
Student: Yue Jiang
A Theoretical Investigation of Generalized Voters for Redundant Systems
Introduction Different kinds of generalized voters Comparison of generalized voters Conclusions
1 Introduction Objective: introduction to and analysis of voting techniques in fault
tolerant systems
Related work: (1) majority voting; (2) adaptive or weighted voter; (3) median selection method
This paper: 1) Formalized majority voter 2) Generalized median voter 3) Formalized plurality voter 4) Weighted averaging voter
2 Generalized voters Formalized majority voter - select majority
Generalized median voter - select median
Formalized plurality voter - partition the set of output based on metric equality and select the
output from largest group
Weighted averaging technique - combines the output in a weighted average
Assumption: N-versions software, N is odd
2 Generalized voters-Formalized majority voter
Definition: If more than half of the version outputs agree, this common output becomes the output of the N-version structure.
Agree is not the same, i.e. output is real value.
A threshold, ε, is needed.
2 Generalized voters-Formalized majority voter
x1 =0.18155
x2 =0.18230
x3 =0.18130
x4 =0.18180
x5 =0.18235
ε = 0.0005
|x1- x3| = 0.00025
|x1- x4| = 0.00035
|x2- x5| = 0.00005
(x1, x3 , x4) (x2, x5)
Example 1
Result: x1 or x3 or x4
2 Generalized voters-Formalized majority voter
x1 = (2.1350, -1.9693, 4.3354)
x2 = (2.1340, -1.9649, 4.3281)
x3 = (2.1376, -1.9623, 4.3284)
ε = 0.0005
d2(x1, x2) = (2.1350- 2.1340)2 + [-1.9693-(- 1.9649)]2 + (4.3354- 4.3281)2
d(x1, x2) =0.0086 > ε
d(x1, x3) =0.0102 > ε
d(x2, x3) =0.0044 < ε
Example 2
Result: x2 or x3
2 Generalized voters-Formalized majority voter
x1 = (0, 0, 0, 1, 0, 0, 0, 0)
x2 = (0, 1, 0, 0, 0, 0, 0, 0)
x3 = (0, 0, 0, 1, 0, 0, 0, 0)
ε = 0.0005
d(x1, x2) =2 > ε
d(x1, x3) =0 = ε
d(x2, x3) =2 > ε
Example 3
Result: x1 or x3
2 Generalized voters-Formalized majority voter
x1 = 21338
x2 = 54106
x3 = 37722
x4 = 54106
x5 = 4954
ε = 0 {x1, x2, x4} {x3, x5}
Example 4
Result: x1 or x2 or x4
d(x1 , x2 )= | x1 - x2 | mod 32768d(x1 , x2 ) =|x1 - x2 | mod 32768 = 0 = ε
d(x1 , x3 ) = |x1 – x3 | mod 32768 = 16384 > ε
d(x1 , x4 ) = |x1 – x4 | mod 32678 = 0 = ε
d(x1 , x5 ) = |x1 – x5 | mod 32678 = 16384 > ε
d(x2 , x3 ) = 16384 > ε
d(x2 , x4 ) = 0 = ε
d(x2 , x5 ) = 16384 > ε
d(x3 , x4 ) = 16384 > ε
d(x3 , x5 ) = 0 = ε
d(x4 , x5 ) = 16384 > ε
2 Generalized voters-Generalized median voter
Select a median value from the set of N outputs.
2 Generalized voters-Generalized median voter
x1 =0.18155
x2 =0.18230
x3 =0.18130
x4 =0.18180
x5 =0.18235
ε = 0.0005
|x1- x2| = 0.00075
|x1- x3| = 0.00025
|x1- x4| = 0.00035
|x1- x5| = 0.0008
|x2- x3| = 0.001
|x2- x4| = 0.0005
|x2- x5| = 0.00005
|x3- x4| = 0.0005
|x3- x5| = 0.00105 (!)
|x4- x5| = 0.00045
(x1, x2, x4)
Example 5 (1)
Result: x4
|x1- x2| = 0.00075 (!)
|x1- x4| = 0.00035
|x2- x4| = 0.0005
=>
x4
2 Generalized voters-Generalized median voter
x1 = (2.1350, -1.9693, 4.3354)
x2 = (2.1340, -1.9649, 4.3281)
x3 = (2.1376, -1.9623, 4.3284)
d(x1, x2) =0.0086
d(x1, x3) =0.0102 (!)
d(x2, x3) =0.0044
Result : x2
Example 6 (2)
2 Generalized voters-Generalized median voter
Example 3
x1 = (0, 0, 0, 1, 0, 0, 0, 0)
x2 = (0, 1, 0, 0, 0, 0, 0, 0)
x3 = (0, 0, 0, 1, 0, 0, 0, 0)
ε = 0.0005
d(x1, x2) =2 (!)
d(x1, x3) =0
d(x2, x3) =2
Example 7 (3)
Majority Result: x1 or x3
d(x1, x2) =2 > ε
d(x1, x3) =0 = ε
d(x2, x3) =2 > ε
Median Result: x1 or x3
2 Generalized voters-Generalized median voter
x1 = 21338
x2 = 54106
x3 = 37722
x4 = 54106
x5 = 4954
ε = 0
Example 8 (4)
Median Result: x1 or x2 or x4
d(x1 , x2 ) = d(x1 , x4 ) = d(x2 , x4 ) = d(x3 , x5 ) =0
d(x1 , x3 ) = d(x1 , x5 ) = d(x2 , x3 ) =d(x2 , x5 ) = d(x3 , x4 ) = d(x4 , x5 ) = 16384
Majority Result: x1 or x2 or x4
2 Generalized voters - formalized plurality voter
Construct a partition V1, …, Vk of A where for each i the set Vi is maximal with respect to the property that for any x, y in Vi d(x,y)<= ε
If there exist a set Va from V1, …, Vk , such that |Va | > | Vi | for any Vi <> Va , randomly select an element from Va is the voter output.
Suppose N versions of software with outputs in x produce the outputs x1, x2, … xN. Let w1, w2, … wN
denote the weight. Then
Define a new element of x by
2 Generalized voters – weighted averaging voter
i=1
N
W1 =1
i=1
N
W1 XiX=
2 Generalized voters – weighted averaging voter
Weight wi can be a priori knowledge
Weight wi can be calculated dynamically, i.e. by
and where s=
a is a fixed constant for scaling.
A Theoretical Investigation of Generalized Voters for Redundant Systems
Introduction Different kinds of generalized voters Comparison of generalized voters Conclusions
3 Formalized majority vs. formalized plurality
1. Majority: result > half; plurality not necessary, relative large.
2. Majority is a special kind of plurality.
3 Formalized majority vs. formalized plurality x1 = 0.486 x2 = 0.483 x3 = 0.530 x4 = 0.495 x5 = 0.489 x6 = 0.500 x7 = 0.481 ε =0.01
Formalized majority
{x1 , x2 , x5 , x7 } >= (N+1)/2
{x4 , x6 } {x3}
Formalized plurality
{x1 , x4 , x5 }
{x2 , x7 } {x3} {x6}
3 Formalized majority vs. generalized median
The output produced by the formalized majority voting algorithm always contain the output of generalized median voter
3 Formalized majority vs. generalized median
x1 =0.18155
x2 =0.18230
x3 =0.18130
x4 =0.18180
x5 =0.18235
ε = 0.0005
Example 1-5
Majority Result: x1 or x3 or x4
x3 Median result:
3 Formalized majority vs. formalized median
x1 = (2.1350, -1.9693, 4.3354)
x2 = (2.1340, -1.9649, 4.3281)
x3 = (2.1376, -1.9623, 4.3284)
ε = 0.0005
Example 2-6
Majority result: x2 or x3
Median result: x2
d(x1, x2) =0.0086 > ε
d(x1, x3) =0.0102 > ε
d(x2, x3) =0.0044 < ε
3 Formalized majority vs. formalized median
x1 = (0, 0, 0, 1, 0, 0, 0, 0)
x2 = (0, 1, 0, 0, 0, 0, 0, 0)
x3 = (0, 0, 0, 1, 0, 0, 0, 0)
ε = 0.0005
Example 3 - 7
Majority Result: x1 or x3
Median result: x1 or x3
d(x1, x2) =2 > ε
d(x1, x3) =0 = ε
d(x2, x3) =2 > ε
3 Formalized majority vs. formalized median
x1 = 21338
x2 = 54106
x3 = 37722
x4 = 54106
x5 = 4954
ε = 0
Example 4 - 8
Majority Result: x1 or x2 or x4 the same as Median voter
d(x1 , x2 )= | x1 - x2 | mod 32768d(x1 , x2 ) =|x1 - x2 | mod 32768 = 0 = ε
d(x1 , x3 ) = |x1 – x3 | mod 32768 = 16384 > ε
d(x1 , x4 ) = |x1 – x4 | mod 32678 = 0 = ε
d(x1 , x5 ) = |x1 – x5 | mod 32678 = 16384 > ε
d(x2 , x3 ) = 16384 > ε
d(x2 , x4 ) = 0 = ε
d(x2 , x5 ) = 16384 > ε
d(x3 , x4 ) = 16384 > ε
d(x3 , x5 ) = 0 = ε
d(x4 , x5 ) = 16384 > ε
3 Formalized majority vs. formalized median
x1 = 101 x2 = 102 x3 = 103 x4 = 104 x5 = 105 ε = 1
Majority and plurality: cannot make a decision.
Median result: x3
4 Conclusion Formalized majority voter - select majority
Generalized median voter - select median – result is contained in the formalized majority
voter
Formalized plurality voter - select relative larger output
Weighted averaging technique - dynamically combines the output in a weighted average