18.03.2015 Views

XI Workshop de Testes e Tolerância a Falhas (WTF) - SBRC 2010

XI Workshop de Testes e Tolerância a Falhas (WTF) - SBRC 2010

XI Workshop de Testes e Tolerância a Falhas (WTF) - SBRC 2010

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

84 Anais<br />

Figura 5. Planejamento <strong>de</strong> injeção <strong>de</strong> colapso em nodo Zorilla usando Comform.<br />

foi utilizado, em cada máquina, o script zorilla, que é responsável pela inicialização e é<br />

encontrado no diretório bin <strong>de</strong> Zorilla 1.0-beta1. Para a inicialização <strong>de</strong> Zorilla no nodo<br />

dkw, que é aquele on<strong>de</strong> Comform é executado com o propósito <strong>de</strong> injeção <strong>de</strong> uma falha<br />

<strong>de</strong> colapso, foi <strong>de</strong>senvolvido um novo script que alia as informações do script zorilla às<br />

informações necessárias para a instanciação <strong>de</strong> uma aplicação juntamente com Comform.<br />

O faultload <strong>de</strong>senvolvido para o experimento, apresentado na Figura 6, ativa um<br />

colapso <strong>de</strong> nodo em dkw quando da tentativa <strong>de</strong> conexão feita por merce<strong>de</strong>s visando<br />

submeter um job. A falha <strong>de</strong> colapso é ativada no escopo do método update, que recebe<br />

como parâmetro as mensagens relacionadas aos protocolos sendo utilizados pela<br />

aplicação alvo. Quando uma mensagem TCP do tipo (atributo type <strong>de</strong> TCPmessage)<br />

“TCP implAccept after” proveniente <strong>de</strong> merce<strong>de</strong>s é recebida, a falha <strong>de</strong> colapso é ativada.<br />

O tipo “TCP implAccept after” foi utilizado porque, ao fim do corpo do método<br />

implAccept, o en<strong>de</strong>reço do nodo que está tentando a conexão já é conhecido, <strong>de</strong> modo<br />

que é possível ativar a falha exatamente quando da tentativa <strong>de</strong> conexão por merce<strong>de</strong>s.<br />

public class CrashFaultloadImplZorilla extends Faultload {<br />

CrashFault cf;<br />

int count = 0;<br />

public CrashFaultloadImplZorilla() throws Exception {<br />

cf = new CrashFault();<br />

}<br />

public void update(Message msg) throws Exception {<br />

if (msg.getClass().getName().equals("faultinjector.TCPmessage"))<br />

if (((TCPmessage)msg).type.equals("TCP_implAccept_after") &&<br />

(((TCPmessage)msg).remoteHostIpAddress).toString().equals("<br />

/143.54.10.157")){<br />

cf.activate();<br />

}<br />

}<br />

Figura 6. Faultload para emulação <strong>de</strong> colapso <strong>de</strong> nodo em dkw.<br />

Depois <strong>de</strong> formada a re<strong>de</strong> Zorilla, uma tentativa <strong>de</strong> submissão <strong>de</strong> job no nodo<br />

dkw é realizada pelo nodo merce<strong>de</strong>s com o uso do script zubmit, responsável pela<br />

submissão <strong>de</strong> jobs a um nodo Zorilla (encontrado no diretório bin <strong>de</strong> Zorilla 1.0-beta1).<br />

Para a tentativa <strong>de</strong> submissão, o nodo merce<strong>de</strong>s procura, primeiramente, estabelecer<br />

uma conexão com o nodo dkw. Porém, a falha <strong>de</strong> colapso é ativada em dkw quando <strong>de</strong>sta<br />

tentativa e a exceção apresentada na Figura 7 é gerada em merce<strong>de</strong>s.<br />

Logo após a ativação da falha, o nodo grantorino tenta se unir à re<strong>de</strong>. Para

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!