Replicação Máquina de Estados Dinâmica

  • Eduardo Adilio Pelinson Alchieri UnB
  • Alysson Neves Bessani Universidade de Lisboa
  • Joni da Silva Fraga UFSC

Resumo


A replicação Máquina de Estados é a abordagem mais abrangente e também a mais usada na implementação de sistemas tolerantes a faltas, tanto por parada quanto bizantinas. Esta abordagem consiste em replicar os servidores e coordenar as interações entre os clientes e as réplicas dos servidores, com o intuito de que as varias réplicas apresentem a mesma evolução em seus estados. Apesar da grande maioria das concretizações de replicação Máquina de Estados terem sido desenvolvidas para ambientes estáticos, onde todas configurações do sistema como o conjunto de réplicas que o implementa nunca sofre alterações, muitas aplicações necessitam executar reconfigurações para alterar estes e outros parâmetros do sistema. Neste sentido, este artigo descreve nossos esforços para adicionar suporte a reconfigurações no sistema BFT-SMART, que é uma implementação de uma replicação Máquina de Estados tolerante a faltas bizantinas.

Referências

Aguilera, M. (2004). A pleasant stroll through the land of infinitely many creatures. SIGACT News, 35(2):36–59.

Bessani, A. N., Alchieri, E. A. P., Correia, M., and da Silva Fraga, J. (2008). Depspace: a byzantine fault-tolerant coordination service. SIGOPS Oper. Syst. Rev., 42(4):163–176.

Bessani, A. N., Alchieri, E. A. P., and Souza, P. (2011). Bft-smart: High-performance byzantine-fault-tolerant state machine replication. http://code.google.com/p/bft-smart/.

Castro, M. and Liskov, B. (2002). Practical Byzantine fault-tolerance and proactive recovery. ACM Transactions on Computer Systems, 20(4):398–461.

Chandra, T. D. and Toueg, S. (1996). Unreliable failure detectors for reliable distributed systems. Journal of the ACM, 43(2):225–267.

Chockler, G. V., Keidar, I., and Vitenberg, R. (2001). Group communication specifications: A comprehesive study. ACM Computing Surveys, 33(4):427–469.

Clement, A., Wong, E., Alvisi, L., Dahlin, M., and Marchetti, M. (2009). Making byzantine fault tolerant systems tolerate byzantine faults. In Proceedings of the 6th USENIX symposium on Networked systems design and implementation, pages 153–168. USENIX Association.

Correia, M., Neves, N. F., and Verı́ssimo, P. (2006). From consensus to atomic broadcast: Time-free Byzantine-resistant protocols without signatures. The Computer Journal, 49(1).

Douceur, J. (2002). The sybil attack. In Proceedings of the 1st International Workshop on Peer-to-Peer Systems.

Dwork, C., Lynch, N. A., and Stockmeyer, L. (1988). Consensus in the presence of partial synchrony. Journal of ACM, 35(2):288–322.

Hadzilacos, V. and Toueg, S. (1994). A modular approach to the specification and implementation of fault-tolerant broadcasts. Technical report, Department of Computer Science, Cornell University, New York - USA.

Lamport, L., Shostak, R., and Pease, M. (1982). The Byzantine generals problem. ACM Transactions on Programing Languages and Systems, 4(3):382–401.

Lamport, L., Malkhi, D., and Zhou, L. (2010). Reconfiguring a state machine. SIGACT News, 41:63–73.

Lorch, J. R., Adya, A., Bolosky, W. J., Chaiken, R., Douceur, J. R., and Howell, J. (2006). The smart way to migrate replicated stateful services. In Proceedings of the 1st ACM SIGOPS/EuroSys European Conference on Computer Systems 2006, EuroSys ’06, pages 103–115, New York, NY, USA. ACM.

Schneider, F. B. (1990). Implementing fault-tolerant service using the state machine aproach: A tutorial. ACM Computing Surveys, 22(4):299–319.

Zielinski, P. (2004). Paxos at War. Technical Report UCAM-CL-TR-593, University of Cambridge Computer Laboratory, Cambridge, UK.
Publicado
06/05/2013
ALCHIERI, Eduardo Adilio Pelinson; BESSANI, Alysson Neves; FRAGA, Joni da Silva. Replicação Máquina de Estados Dinâmica. In: WORKSHOP DE TESTES E TOLERÂNCIA A FALHAS (WTF), 14. , 2013, Brasília/DF. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2013 . p. 33-46. ISSN 2595-2684. DOI: https://doi.org/10.5753/wtf.2013.23014.