3 ms·
5 machines. Even numbers of machines introduce a higher failure likelihood for no greater tolerance.
by Normal_gaussian 9y ago
5 machines. Even numbers of machines introduce a higher failure likelihood for no greater tolerance.
- jfoutz 9y agoYou're thinking majority not Byzantine fault tolerance. 2/3 have to agree.
- nickpsecurity 9y agoMany of us in high-assurance systems have witnessed triple, modular redundancy fail. I started saying 3 out of 5 for that reason. May be same for other commenter. I also want where possible for the computers to be in different locations, using different hardware, and with different developers working against same API.
- vitus 9y agoYes, but those aren't Byzantine failures. Byzantine failures present with incorrect values, not simply the absence of a value (as seen by a total hardware failure). See the abstract in Lamport's original paper introducing the Byzantine generals problem [0]. We also see a similar issue in error correction -- an introductory undergrad course might teach this via Lagrange interpolation [1], where you need only n+k of the coefficients in the presence of erasure errors, but n+2k in the general case (where n is the size of the actual message, and k is the maximum number of errors to correct). [0] https://www.microsoft.com/en-us/research/wp-content/uploads/2016/12/The-Byzantine-Generals-Problem.pdf https://www.microsoft.com/en-us/research/wp-content/uploads/... [1] https://inst.eecs.berkeley.edu/~cs70/fa14/notes/n8.pdf https://inst.eecs.berkeley.edu/~cs70/fa14/notes/n8.pdf
- nickpsecurity 9y agoPartial hardware failures exist. The wrong values start going through the system. A bit flip is easiest example. NonStop has been countering both partial and total HW failures in their design a long time now.