Byzantine disk paxos: optimal resilience with byzantine shared memory
- 151 Downloads
We present Byzantine Disk Paxos, an asynchronous shared-memory consensus algorithm that uses a collection of n < 3t disks, t of which may fail by becoming non-responsive or arbitrarily corrupted. We give two constructions of this algorithm; that is, we construct two different t-tolerant (i.e., tolerating up to t disk failures) building blocks, each of which can be used, along with a leader oracle, to solve consensus. One building block is a t-tolerant wait-free shared safe register. The second building block is a t-tolerant regular register that satisfies a weaker termination (liveness) condition than wait freedom: its write operations are wait-free, whereas its read operations are guaranteed to return only in executions with a finite number of writes. We call this termination condition finite writes (FW), and show that wait-free consensus is solvable with FW-terminating registers and a leader oracle. We construct each of these t-tolerant registers from n < 3t base registers, t of which can be non-responsive or Byzantine. All the previous t-tolerant wait-free constructions in this model used at least 4t + 1 fault-prone registers, and we are not familiar with any prior FW-terminating constructions in this model.
We further show tight lower bounds on the number of invocation rounds required for optimal resilience reliable register constructions, or more generally, constructions that use less than 4t + 1 fault-prone registers. Our lower bounds show that such constructions are inherently more costly than constructions that use 4t + 1 registers, and that our constructions have optimal round complexity. Furthermore, our wait-free construction is early-stopping, and it achieves the optimal round complexity with any number of actual failures.
KeywordsShared-memory emulations T-tolerant object implementations Byzantine failures Wait freedom Consensus Lower bounds
Unable to display preview. Download preview PDF.
- 1.Attiya, H., Bar-Or, A.: Sharing memory with semibyzantine clients and faulty storage servers. In The 22nd Symposium on Reliable Distributed Systems (SRDS) (2003)Google Scholar
- 3.Afek, Y., Merritt, M., Taubenfeld, G.: Benign failures models for shared memory. In Proceedings of the 7th International Workshop on Distributed Algorithms, pages 69–83. Springer Verlag (1993) In: LNCS 725Google Scholar
- 7.Cristian, F., Fetzer, C.: The timed asynchronous distributed system model. IEEE Transactions on Parallel and Distributed Systems, pp. 642–657 (1999)Google Scholar
- 9.Chockler, G., Malkhi, D.: Active disk paxos with infinitely many processes. In Proceedings of the 21st ACM Symposium on Principles of Distributed Computing (PODC’02) (2002)Google Scholar
- 10.Chockler, G., Malkhi, D., Reiter, M.K.: Backoff protocols for distributed mutual exclusion and ordering. In Proceedings of the 21st International Conference on Distributed Computing Systems, pp. 11–20 (2001)Google Scholar
- 11.Delporte, C., Fauconnier, H., Guerraoui, R.: Failure detection lower bounds on registers and consensus. In Proceedings of the 16th International Symposium on Distributed Computing (DISC) (2002)Google Scholar
- 15.Goodson, G., Wylie, J., Ganger, G., Reiter, M.: Efficient byzantine-tolerant erasure-coded storage. In Proceedings of the International Conference on Dependable Systems and Networks (DSN-2004) (2004)Google Scholar
- 16.Herlihy, M., Luchangco, V., Moir, M.: Obstruction-free synchronization: Double-ended queues as an example In Proceedings of the 23rd International Conference on Distributed Computing Systems (ICDCS), page 522, IEEE Computer Society (2003)Google Scholar
- 19.Keidar, I., Rajsbaum, S.: On the cost of fault-tolerant consensus when there are no faults – a tutorial. Technical Report MIT-LCS-TR-821, MIT Laboratory for Computer Science May 2001. Preliminary version in SIGACT News 32(2), pp. 45–63 (2001) (published May 15th 2001)Google Scholar
- 23.Lo, W.K., Hadzilacos, V.: Using failure detectors to solve consensus in asynchronous shared-memory systems. In Proceedings of the 8th International Workshop on Distributed Algorithms (WDAG), pp. 280–295. Springer-Verlag, (1994) In: LNCS 857Google Scholar
- 24.Lin, S., Chen, M., Lian, Q., Zhang, Z.: A practical distributed mutual exclusion protocol in dynamic peer-to-peer systems. In 3rd International Workshop on Peer-to-Peer Systems (IPTPS’04) (2004)Google Scholar
- 26.Martin, J.-P., Alvisi, L. Dahlin, M.: Minimal byzantine storage. In Proceedings of the 16th International Symposium on Distributed Computing (DISC) (2002)Google Scholar
- 29.Rodrigues, R., Liskov, B.: Rosebud: A scalable Byzantine-Fault-Tolerant Storage Architecture. Technical Report MIT-LCS-TR-932, MIT Laboratory for Computer Science (2004)Google Scholar
- 30.Vitanyi, P., Awerbuch, B.: Atomic shared register access by asynchronous hardware. In 27th IEEE Symp. Found. Comput. Sci., pp. 233–243 (1986)Google Scholar