Injeção Distribuída de Falhas de Comunicação com Suporte à Controle e Coordenação de Experimentos

  • Gustavo M. Oliveira UFRGS
  • Sérgio L. Cechin UFRGS
  • Taisy S. Weber UFRGS

Abstract


Fault injection intents to insert artificial faults in systems under test to assess their behavior in abnormal situations. However, few efforts have been focused to support distributed systems. Thus, the difficulties in reproducing common fault scenarios in these systems, such as network partitioning, remain open. Therefore, this paper presents mechanisms for more expressive descriptions of distributed fault scenarios with a high abstraction level. Complementing these mechanisms, it is presented an overall coordinator of experiments to keep a centralized control of the targets, and to coordinate testing of critical points in the system.

References

Birman, K. P. (1997). Building secure and reliable network applications. Manning Publications Co., Greenwich, CT, USA.

Buchacker, K. and Sieh, V. (2001). Framework for testing the fault-tolerance of systems including os and network aspects. High-Assurance Systems Engineering, IEEE International Symposium, page 95.

Carson, M. and Santay, D. (2003). Nist net: a linux-based network emulation tool. SIGCOMM Comput. Commun. Rev., 33(3):111–126.

Chandra, R., Lefever, R., Joshi, K., Cukier, M., and Sanders, W. (2004). A global-state-triggered fault injector for distributed system evaluation. IEEE Trans. Parallel Distrib. Syst., 15(7):593–605.

Clark, J. A. and Pradhan, D. K. (1995). Fault injection: A method for validating computersystem dependability. IEEE Computer, 28(6):47–56.

Dawson, S. and Jahanian, F. (1995). Probing and fault injection of protocol implementations. In ICDCS ’95: Proceedings of the 15th International Conference on Distributed Computing Systems, page 351, Washington, DC, USA. IEEE Computer Society.

Dawson, S., Jahanian, F., and Mitton, T. (1996). Orchestra: A fault injection environment for distributed systems. Technical report, In 26th International Symposium on Fault-Tolerant Computing (FTCS).

Dawson, S., Jahanian, F., and Mitton, T. (1997). Experiments on six commercial tcp implementations using a software fault injection tool. Softw. Pract. Exper., 27(12):1385–1410.

De, P., Neogi, A., and Chiueh, T.-c. (2003). Virtualwire: A fault injection and analysis tool for network protocols. In ICDCS ’03: Proceedings of the 23rd International Conference on Distributed Computing Systems, page 214, Washington, DC, USA. IEEE Computer Society.

Drebes, R. J. (2005). Firmament: Um módulo de injeção de falhas de comunicação para linux. Master’s thesis, Instituto de Informática, UFRGS, Porto Alegre.

Galla, T. M., Hummel, K. A., and Pallierer, R. (2004). Software implemented fault injection for safety-critical distributed systems by means of mobile agents. In HICSS ’04: Proceedings of the 37th Annual Hawaii International Conference on System Sciences, page 90302.1, Washington, DC, USA. IEEE Computer Society.

GERCHMAN, J. and WEBER, T. S. (2006). Emulando o comportamento de tcp/ip em um ambiente com falhas para teste de aplicações de rede. In Anais do VII Workshop de Testes e Tolerância a Falhas, Curitiba, BR.

Hoarau, W. and Tixeuil, S. (2005). A language-driven tool for fault injection in distributed systems. In GRID ’05: Proceedings of the 6th IEEE/ACM International Workshop on Grid Computing, pages 194–201, Washington, DC, USA. IEEE Computer Society.

Hsueh, M., Tsai, T. K., and Iyer, R. K. (1997). Fault Injection Techniques and Tools. Computer, 30(4):75–82.

Jacques-Silva, G., Drebes, R. J., Gerchman, J., Trindade, J. M. F., Weber, T. S., and Jansch-Porto, I. (2006). A network-level distributed fault injector for experimental validation of dependable distributed systems. In COMPSAC ’06: Proceedings of the 30th Annual International Computer Software and Applications Conference (COMPSAC’06), pages 421–428, Washington, DC, USA. IEEE Computer Society.

Jacques-Silva, G., Drebes, R. J., Gerchman, J., and Weber, T. S. (2004). Fiona: A fault injector for dependability evaluation of java-based network applications. In NCA ’04: Proceedings of the Network Computing and Applications, Third IEEE International Symposium, pages 303–308, Washington, DC, USA. IEEE Computer Society.

Looker, N., Munro, M., and Xu, J. (2005). A comparison of network level fault injection with code insertion. In COMPSAC ’05: Proceedings of the 29th Annual International Computer Software and Applications Conference (COMPSAC’05) Volume 1, pages 479–484, Washington, DC, USA. IEEE Computer Society.

Martins, E., Morais, A., and Cavalli, A. (2008). Generating attack scenarios for the validation of security protocol implementations. In 2nd. Brazilian Workshop on Systematic and Automated Software Testing (SAST), pages 21–33, Campinas, Brazil. SBC.

Martins, E., Rubira, C. M. F., and Leme, N. G. M. (2002). Jaca: A reflective fault injection tool based on patterns. In DSN ’02: Proceedings of the 2002 International Conference on Dependable Systems and Networks, pages 483–482, Washington, DC, USA. IEEE Computer Society.

Murayama, Y. and Yamaguchi, S. (1997). Dbs: a powerful tool for tcp performance evaluations. In In SPIE Proceedings of Performance and Control of Network Systems.

Neves, N. and Fuchs, W. K. (1997). Fault detection using hints from the socket layer. In SRDS ’97: Proceedings of the 16th Symposium on Reliable Distributed Systems (SRDS ’97), page 64, Washington, DC, USA. IEEE Computer Society.

Rizzo, L. (1997). Dummynet: a simple approach to the evaluation of network protocols. SIGCOMM Comput. Commun. Rev., 27(1):31–41.

Russel, R. and Welte, H. (2002). Linux netfilter hacking howto.

Stott, D. T., Floering, B., Kalbarczyk, Z., and Iyer, R. K. (2000). Nftape: A framework for assessing dependability in distributed systems with lightweight fault injectors. In IPDS’00: Proceedings of the 4th International Computer Performance and Dependability Symposium, page 91, Washington, DC, USA. IEEE Computer Society.

Vacaro, J. C. and Weber, T. S. (2006). Injeção de falhas na fase de teste de aplicações distribuídas. In XX Simpósio Brasileiro de Engenharia de Software, volume 1, pages 161–176, Florianópolis, BR. SBC.

Veríssimo, P. and Rodrigues, L. (2001). Distributed Systems for System Architects. Springer, Boston, USA, 1 edition.
Published
2009-08-31
OLIVEIRA, Gustavo M.; CECHIN, Sérgio L.; WEBER, Taisy S.. Injeção Distribuída de Falhas de Comunicação com Suporte à Controle e Coordenação de Experimentos. In: FAULT TOLERANCE WORKSHOP (WTF), 10. , 2009, João Pessoa/PB. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2009 . p. 101-114. ISSN 2595-2684. DOI: https://doi.org/10.5753/wtf.2009.23137.