Memória Compartilhada em Sistemas Bizantinos Dinâmicos
Resumo
Sistemas de quóruns Bizantinos são uma ferramenta útil para a implementação consistente e confiável de sistemas de armazenamento de dados em presença de falhas arbitrárias. Um dos grandes desafios na implementação desses sistemas está na reconfiguração do conjunto de servidores em redes dinâmicas devido à entradas e saídas. Esse trabalho apresenta os principais aspectos do QUINCUNX, um conjunto de protocolos tolerantes a faltas Bizantinas capazes de emular registradores em sistemas dinâmicos. O protocolo de reconfiguração é a principal contribuição do artigo e vem a ser o primeiro não baseado no consenso tolerante a faltas Bizantinas. Além disso, seu funcionamento é independente dos protocolos de leitura/escrita, o que permite seu uso com outras implementações de memória compartilhada.
Referências
Aguilera, M. K., Keidar, I., Malkhi, D., and Shraer, A. (2011). Dynamic atomic storage without consensus. JACM, 58:7:1–7:32.
Alchieri, E. A. P. (2011). Protocolos Tolerantes a Faltas Bizantinas para Sistemas Distribuı́dos Dinâmicos. Tese de doutorado em engenharia de automação e sistemas, Universidade Federal de Santa Catarina.
Bazzi, R. A. and Ding, Y. (2004). Non-skipping timestamps for Byzantine data storage systems. In Proc. of 18th Int. Symposium on Distributed Computing, DISC 2004, volume 3274 of LNCS, pages 405–419.
Chandra, T. D. and Toueg, S. (1996). Unreliable failure detectors for reliable distributed systems. Journal of the ACM, 43(2):225–267.
Dierks, T. and Allen, C. (1999). The TLS Protocol Version 1.0 (RFC 2246). IETF Request For Comments.
Gifford, D. (1979). Weighted voting for replicated data. In Proc. of the 7th ACM Symposium on Operating Systems Principles, pages 150–162.
Herlihy, M. (1991). Wait-free synchronization. ACM Transactions on Programing Languages and Systems, 13(1):124–149.
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. (1986). On interprocess communication (part II). Distributed Computing, 1(1):203–213.
Lynch, N. and Shvartsman, A. A. (2002). Rambo: A reconfigurable atomic memory service for dynamic networks. In 16th International Symposium on Distributed Computing - DISC, pages 173–190.
Malkhi, D. and Reiter, M. (1998a). Byzantine quorum systems. Distributed Computing, 11(4):203–213.
Malkhi, D. and Reiter, M. (1998b). Secure and scalable replication in Phalanx. In Proc. of 17th Symposium on Reliable Distributed Systems, pages 51–60.
Martin, J.-P. and Alvisi, L. (2004). A framework for dynamic Byzantine storage. In Proceedings of the International Conference on Dependable Systems and Networks. IEEE Computer Society.
Rodrigues, R. and Liskov, B. (2004). Rosebud: A scalable Byzantine-fault-tolerant storage architecture. MIT-LCS-TR 932, MIT Laboratory for Computer Science.
Shraer, A., Martin, J.-P., Malkhi, D., and Keidar, I. (2010). Data-centric reconfiguration with network-attached disks. In Proceedings of the 4th International Workshop on Large Scale Distributed Systems and Middleware.