Abstract
We propose a resource-efficient way to execute requests in Byzantine-fault-tolerant replication that is particularly well-suited for services in which request processing is resource-intensive. Previous efforts took a failure-masking all-active approach of using all 2t + 1 execution replicas to execute all requests, where t is the maximum number of failures tolerated. We describe an asynchronous execution protocol that combines failure masking with imperfect failure detection and checkpointing. Our protocol is parsimony-based since it uses only t + 1 execution replicas, called the primary committee or pc, to execute the requests normally. Under normal conditions, characterized by a stable network and no misbehavior by pc replicas, our approach enables a trustworthy reply to be obtained with the same latency as in the all-active approach, but with only about half of the overall resource use of the all-active approach. However, a request that exposes faults among the pc replicas will incur a higher latency than the all-active approach mainly due to fault detection latency. Under such conditions, the protocol switches to a recovery mode, in which all 2t + 1 replicas execute the request and send their replies. Then, after selecting a new pc, the request latency returns to the same level as that of all-active execution. Practical observations point to the fact that failures and instability are the exception rather than the norm. That motivated our decision to optimize resource efficiency for the common case, even if it means paying a slightly higher performance cost during periods of instability.
This material is based upon work supported in part by the National Science Foundation under Grant No. CNS-0406351 and DARPA contract F30602-00-C-0172.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Schneider, F.B. (ed.): Trust in Cyberspace. National Academy Press, Washington DC (1999)
Lamport, L.: Time, Clocks and Ordering of Events in Distributed Systems. Communications of the ACM 21, 558–565 (1978)
Castro, M., Liskov, B.: Practical Byzantine Fault Tolerance and Proactive Recovery. ACM Transactions on Computer Systems (TOCS) 20, 398–461 (2002)
Rodrigues, R., Castro, M., Liskov, B.: BASE: Using Abstraction to Improve Fault Tolerance. In: Proceedings of the 18th Symposium on Operating System Principles, pp. 15–28 (2001)
Yin, J., Martin, J.P., Venkataramani, A., Alvisi, L., Dahlin, M.: Separating Agreement from Execution for Byzantine Fault Tolerant Services. In: Proc. 19th Symp. on Operating Systems Principles, pp. 253–267 (2003)
Kursawe, K.: Optimistic Byzantine Agreement. In: Proc. 21st Symposium on Reliable Distributed Systems, pp. 262–267 (2002)
Vanstone, S.A., van Oorschot, P.C., Menezes, A.: Handbook of Applied Cryptography. CRC Press, Boca Raton (1996)
Cachin, C., Kursawe, K., Petzold, F., Shoup, V.: Secure and Efficient Asynchronous Broadcast Protocols. In: Kilian, J. (ed.) CRYPTO 2001, vol. 2139, pp. 524–541. Springer, Heidelberg (2001)
Goldwasser, S., Micali, S., Rivest, R.L.: A Digital Signature Scheme Secure Against Adaptive Chosen-Message Attacks. SIAM Journal on Computing 17, 281–308 (1988)
Ramasamy, H.V., Agbaria, A., Sanders, W.H.: A Parsimonious Approach for Obtaining Resource-Efficient and Trustworthy Execution. Submitted for publication in the IEEE Transactions on Dependable and Secure Computing (2005)
Malkhi, D., Reiter, M.: Byzantine Quorum Systems. Journal of Distributed Computing 11, 203–213 (1998)
Reiter, M.K.: The Rampart Toolkit for Building High-Integrity Services. In: Birman, K.P., Mattern, F., Schiper, A. (eds.) Dagstuhl Seminar 1994, vol. 938, pp. 99–110. Springer, Heidelberg (1995)
Budhiraja, N., Schneider, F., Toueg, S., Marzullo, K.: The Primary-Backup Approach. In: Mullender, S. (ed.) Distributed Systems, pp. 199–216. ACM Press - Addison Wesley (1993)
Sarmenta, L.F.G.: Sabotage-tolerance mechanisms for volunteer computing systems. Future Generation Computer Systems 18, 561–572 (2002)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Ramasamy, H.V., Agbaria, A., Sanders, W.H. (2005). Parsimony-Based Approach for Obtaining Resource-Efficient and Trustworthy Execution. In: Maziero, C.A., Gabriel Silva, J., Andrade, A.M.S., de Assis Silva, F.M. (eds) Dependable Computing. LADC 2005. Lecture Notes in Computer Science, vol 3747. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11572329_17
Download citation
DOI: https://doi.org/10.1007/11572329_17
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-29572-3
Online ISBN: 978-3-540-32092-0
eBook Packages: Computer ScienceComputer Science (R0)