Sistemas Distribuídos - CI721

Jéfer Benedett Dörr
Última atualização - Wed Apr 20 14:42:35 2011

Tarefa 4

Cada nodo sem-falha que testa outro nodo sem-falha obtém informação sobre todos os demais nodos, exceto aqueles que testou. (é o próprio Adative-DSD)

Tarefa4

---------RELATÓRIO--------------

A tarefa 4 completa o algoritmo Adaptive-DSD, nesta tarefa quando o nodo testa outro nodo sem falha, ele coleta as informações do vetor deste nodo não falho, exceto a informação do próprio nodo. Com o seguinte código em C: " if (prox != token){ ", foi criada uma condição no caso de existir apenas um nodo sem falha no anel, executa somente se o proximo nao for o próprio nodo.

Abaixo a parte principal do programa:

int prox = token;

do {

prox = (prox+1)%n; //logica para anel

if (prox != token){ // executa somente se o proximo nao for o próprio nodo

if (status (nodo[prox].id)==0){

nodo[token].state[prox] = 0;

k = prox;

do {

k = (k+1)%n;

if (k != token) // o nodo sabe seu proprio estado, entao somente executa se for diferente

nodo[token].state[k] = nodo[prox].state[k]; //copia os dados do vetor do proximo nodo nao falho

} while (k != token);

}

.

.

.

printf("o nodo %d vai testar o nodo %d no tempo %5.1f ", token, prox, time());

.

.

.

.

}

} while (status (nodo[prox].id) !=0);

Tarefa4 em txt: Tarefa4

LOG: log de saída do programa com 5 nodos--> log5.out

LOG: log de saída do programa com 10 nodos--> log10.out

LOG: log de saída do programa com 50 nodos--> log50.out

LOG: log de saída do programa com 500 nodos--> log500.out

LOG: log de saída do programa com 5000 nodos--> log5000.out