ABSTRACT
A fault-scalable service can be configured to tolerate increasing numbers of faults without significant decreases in performance. The Query/Update (Q/U) protocol is a new tool that enables construction of fault-scalable Byzantine fault-tolerant services. The optimistic quorum-based nature of the Q/U protocol allows it to provide better throughput and fault-scalability than replicated state machines using agreement-based protocols. A prototype service built using the Q/U protocol outperforms the same service built using a popular replicated state machine implementation at all system sizes in experiments that permit an optimistic execution. Moreover, the performance of the Q/U protocol decreases by only 36% as the number of Byzantine faults tolerated increases from one to five, whereas the performance of the replicated state machine decreases by 83%.
- M. Abd-El-Malek, G. R. Ganger, G. R. Goodson, M. K. Reiter, and J. J. Wylie. Lazy verification in fault-tolerant distributed storage systems. Symposium on Reliable Distributed Systems, 2005.]] Google ScholarDigital Library
- M. Abd-El-Malek, G. R. Ganger, G. R. Goodson, M. K. Reiter, and J. J. Wylie. The Read/Conditional-Write and Query/Update protocols. Technical report CMU--PDL--05--107. Parallel Data Laboratory, Carnegie Mellon University, Pittsburgh, PA, August 2005.]]Google Scholar
- A. Adya, W. J. Bolosky, M. Castro, G. Cermak, R. Chaiken, J. R. Douceur, J. Howell, J. R. Lorch, M. Theimer, and R. P. Wattenhofer. FARSITE: federated, available, and reliable storage for an incompletely trusted environment. Symposium on Operating Systems Design and Implementation, pages 1--15. USENIX Association, 2002.]] Google ScholarDigital Library
- M. K. Aguilera, W. Chen, and S. Toueg. Failure detection and consensus in the crash-recovery model. Distributed Computing, 13(2):99--125. Springer-Verlag, 2000.]] Google ScholarDigital Library
- M. Bellare, R. Canetti, and H. Krawczyk. Keying hash functions for message authentication. Advances in Cryptology - CRYPTO, pages 1--15. Springer-Verlag, 1996.]] Google ScholarDigital Library
- P. A. Bernstein, V. Hadzilacos, and N. Goodman. Concurrency control and recovery in database systems. Addison-Wesley, Reading, Massachusetts, 1987.]] Google ScholarDigital Library
- G. Bracha and S. Toueg. Asynchronous consensus and broadcast protocols. Journal of the ACM, 32(4):824--840. ACM, October 1985.]] Google ScholarDigital Library
- C. Cachin and J. A. Poritz. Secure intrusion-tolerant replication on the Internet. International Conference on Dependable Systems and Networks, pages 167--176. IEEE, 2002.]] Google ScholarDigital Library
- M. Castro and B. Liskov. Practical Byzantine fault tolerance and proactive recovery. ACM Transactions on Computer Systems, 20(4):398--461, November 2002.]] Google ScholarDigital Library
- G. Chockler, D. Malkhi, and M. Reiter. Backoff protocols for distributed mutual exclusion and ordering. International Conference on Distributed Computing Systems, pages 11--20. IEEE, 2001.]] Google ScholarDigital Library
- C. P. Fry and M. K. Reiter. Nested objects in a Byzantine quorum-replicated system. Symposium on Reliable Distributed Systems. IEEE, 2004.]] Google ScholarDigital Library
- J. Gray, P. Helland, P. O'Neil, and D. Shasha. The dangers of replication and a solution. ACM SIGMOD International Conference on Management of Data. Published as SIGMOD Record, 25(2):173--182. ACM, June 1996.]] Google ScholarDigital Library
- S. D. Gribble, E. A. Brewer, J. M. Hellerstein, and D. Culler. Scalable, distributed data structures for internet service construction. Symposium on Operating Systems Design and Implementation, 2000.]] Google ScholarDigital Library
- M. Herlihy, V. Luchangco, and M. Moir. Obstruction-free synchronization: double-ended queues as an example. International Conference on Distributed Computing Systems, pages 522--529. IEEE, 2003.]] Google ScholarDigital Library
- M. P. Herlihy and J. M. Wing. Linearizability: a correctness condition for concurrent objects. ACM Transactions on Programming Languages and Systems, 12(3):463--492. ACM, July 1990.]] Google ScholarDigital Library
- R. Jiménez-Peris, M. Patiño-Martínez, G. Alonso, and B. Kemme. Are quorums an alternative for data replication? ACM Transactions on Database Systems (TODS), 28(3):257--294. ACM, September 2003.]] Google ScholarDigital Library
- J. Katcher. PostMark: a new file system benchmark. Technical report TR3022. Network Appliance, October 1997.]]Google Scholar
- K. P. Kihlstrom, L. E. Moser, and P. M. Melliar-Smith. The SecureRing group communication system. ACM Transactions on Information and Systems Security, 1(4):371--406. IEEE, November 2001.]] Google ScholarDigital Library
- H. T. Kung and J. T. Robinson. On optimistic methods for concurrency control. ACM Transactions on Database Systems, 6(2):213--226, June 1981.]] Google ScholarDigital Library
- K. Kursawe. Optimistic Byzantine agreement. Symposium on Reliable Distributed Systems, pages 262--267. IEEE, 2002.]] Google ScholarDigital Library
- L. Lamport. The part-time parliament. ACM Transactions on Computer Systems, 16(2):133--169. ACM Press, May 1998.]] Google ScholarDigital Library
- L. Lamport, R. Shostak, and M. Pease. The Byzantine generals problem. ACM Transactions on Programming Languages and Systems, 4(3):382--401. ACM, July 1982.]] Google ScholarDigital Library
- L. L. Lamport. The implementation of reliable distributed multiprocess systems. Computer Networks, 2:95--114, 1978.]]Google Scholar
- W. Litwin and T. Schwarz. LH*RS: a high-availability scalable distributed data structure using Reed Solomon Codes. ACM SIGMOD International Conference on Management of Data, pages 237--248. ACM, 2000.]] Google ScholarDigital Library
- J. MacCormick, N. Murphy, M. Najork, C. A. Thekkath, and L. Zhou. Boxwood: abstractions as the foundation for storage infrastructure. Symposium on Operating Systems Design and Implementation, pages 105--120. USENIX Association, 2004.]] Google ScholarDigital Library
- D. Malkhi and M. Reiter. Byzantine quorum systems. Distributed Computing, 11(4):203--213. Springer-Verlag, 1998.]] Google ScholarDigital Library
- D. Malkhi, M. Reiter, and A. Wool. The load and availability of Byzantine quorum systems. SIAM Journal of Computing, 29(6):1889--1906. Society for Industrial and Applied Mathematics, April 2000.]] Google ScholarDigital Library
- D. Malkhi and M. K. Reiter. An architecture for survivable coordination in large distributed systems. IEEE Transactions on Knowledge and Data Engineering, 12(2). IEEE, April 2000.]] Google ScholarDigital Library
- J.-P. Martin and L. Alvisi. Fast Byzantine consensus. International Conference on Dependable Systems and Networks. IEEE, 2005.]] Google ScholarDigital Library
- J.-P. Martin, L. Alvisi, and M. Dahlin. Minimal Byzantine storage. International Symposium on Distributed Computing, 2002.]] Google ScholarDigital Library
- R. Morris. Storage: from atoms to people. Keynote address at Conference on File and Storage Technologies, January 2002.]]Google Scholar
- M. Naor and A. Wool. The load, capacity, and availability of quorum systems. SIAM Journal on Computing, 27(2):423--447. SIAM, April 1998.]] Google ScholarDigital Library
- M. K. Reiter. The Rampart toolkit for building high-integrity services. Theory and Practice in Distributed Systems(Lecture Notes in Computer Science 938), pages 99--110, 1995.]] Google ScholarDigital Library
- S. Rhea, P. Eaton, D. Geels, H. Weatherspoon, B. Zhao, and J. Kubiatowicz. Pond: the OceanStore prototype. Conference on File and Storage Technologies. USENIX Association, 2003.]] Google ScholarDigital Library
- R. L. Rivest. The MD5 message-digest algorithm, RFC--1321. Network Working Group, IETF, April 1992.]] Google ScholarDigital Library
- F. B. Schneider. Implementing fault-tolerant services using the state machine approach: a tutorial. ACM Computing Surveys, 22(4):299--319, December 1990.]] Google ScholarDigital Library
- P. Thambidurai and Y.-K. Park. Interactive consistency with multiple failure modes. Symposium on Reliable Distributed Systems, pages 93--100. IEEE, 1988.]]Google ScholarCross Ref
- R. van Renesse and F. B. Schneider. Chain replication for supporting high throughput and availability. Symposium on Operating Systems Design and Implementation, pages 91--104. USENIX Association, 2004.]] Google ScholarDigital Library
- X. Wang, D. Feng, X. Lai, and H. Yu. Collisions for Hash Functions MD4, MD5, HAVAL-128 and RIPEMD. Report 2004/199. Cryptology ePrint Archive, August 2004. http://eprint.iacr.org/.]]Google Scholar
- A. Wool. Quorum systems in replicated databases: science or fiction. Bull. IEEE Technical Committee on Data Engineering, 21(4):3--11. IEEE, December 1998.]]Google Scholar
- L. Zhou, F. B. Schneider, and R. V. Renesse. COCA: A secure distributed online certification authority. ACM Transactions on Computer Systems, 20(4):329--368. ACM, November 2002.]] Google ScholarDigital Library
Index Terms
- Fault-scalable Byzantine fault-tolerant services
Recommendations
Fault-scalable Byzantine fault-tolerant services
SOSP '05A fault-scalable service can be configured to tolerate increasing numbers of faults without significant decreases in performance. The Query/Update (Q/U) protocol is a new tool that enables construction of fault-scalable Byzantine fault-tolerant ...
Efficient middleware for byzantine fault tolerant database replication
EuroSys '11: Proceedings of the sixth conference on Computer systemsByzantine fault tolerance (BFT) enhances the reliability and availability of replicated systems subject to software bugs, malicious attacks, or other unexpected events. This paper presents Byzantium, a BFT database replication middleware that provides ...
Synchronous Byzantine quorum systems
Quorum systems have been used to implement many coordination problems in distributed systems such as mutual exclusion, data replication, distributed consensus, and commit protocols. Malkhi and Reiter recently proposed quorum systems that can tolerate ...
Comments