Você está na página 1de 10

Resumo Tanembaum

terça-feira, 11 de dezembro de 2018


22:51

Página 1 de SistemasDistribuídos
Resumo Tanembaum
terça-feira, 11 de dezembro de 2018
22:51

Página 2 de SistemasDistribuídos
Resumo Tanembaum
terça-feira, 11 de dezembro de 2018
22:51

Página 3 de SistemasDistribuídos
Resumo Tanembaum
terça-feira, 11 de dezembro de 2018
22:51

Página 4 de SistemasDistribuídos
Resumo Tanembaum
terça-feira, 11 de dezembro de 2018
22:51

Página 5 de SistemasDistribuídos
Resumo Tanembaum
terça-feira, 11 de dezembro de 2018
22:51

Página 6 de SistemasDistribuídos
Resumo Tanembaum
terça-feira, 11 de dezembro de 2018
22:51

Página 7 de SistemasDistribuídos
Resumo Tanembaum
terça-feira, 11 de dezembro de 2018
22:51

Página 8 de SistemasDistribuídos
Resumo Tanembaum
terça-feira, 11 de dezembro de 2018
22:51

Resposta: Se, por exemplo, as respostas dadas por servidores não podem ser confiadamente corretas
porque alguma parte maliciosa as adulterou, dificilmente faz sentido se falar de sistema confiável. De
modo similar, os servidores devem ser capazes de confiar em seus clientes.

(Modelo à prova de parada=fail stop model)


O fato de que, na prática, os servidores simplesmente param de produzir saída. Detectar que
eles realmente pararam é difícil. No que se refere a outro processo, o servidor pode estar lento
ou a comunicação pode (temporariamente) falhar.

Se é ou não um fracasso depende da consistência que foi prometida para o usuário. Se o


navegador promete fornecer páginas que são no máximo T unidades de tempo antigas, pode
exibir falhas de desempenho. No entanto, um navegador nunca pode cumprir tal promessa na
Internet. Uma forma mais fraca de consistência é fornecer um dos modelos centrados no cliente
discutidos no Cap. 7. Nesse caso, simplesmente retornando uma página do cache sem verificar
sua consistência pode levar a uma falha de resposta.

4. O modelo de redundância modular tripla descrito no texto pode manipular Falhas Bizantinas?
R: Absolutamente (que sim)! Toda a discussão assumiu que os elementos que falharam geraram
resultados aleatórios, que são os mesmos que as falhas Bizantinas.

Página 9 de SistemasDistribuídos
Resumo Tanembaum
terça-feira, 11 de dezembro de 2018
22:51
5. Pulei
6. O modelo TMR generaliza para cinco elementos por grupo em vez de três. Em caso afirmativo, quais
propriedades ela tem?
R: Sim! Qualquer número ímpar pode ser usado. Com cinco elementos e cinco votantes, até duas falhas por
grupo de aparelhos pode ser mascarada.

7.
Na sua opinião, qual é a melhor semântica para cada uma das seguintes aplicações: no mínimo uma vez ou no
máximo, uma vez? Discutir.
(a) Leitura e gravação de arquivos de um servidor de arquivos.
(b) Compilando um programa.
(c) banco remoto.

Resp: Para (a) e (b), pelo menos uma vez é melhor. Não há problema tentar repetidamente.
Para (c), é melhor dar apenas uma tentativa. Se isso falhar, o usuário terá que intervir para limpar a bagunça.
8. pulei
9. Dê um exemplo no qual a comunicação de grupo não requer nenhuma ordenação de mensagem?
Resp: O multicast de imagens em pequenos fragmentos, onde cada fragmento contém as coordenadas (x,y)
como parte de seus dados (metadados). De modo similar, o envio de páginas de um livro em que cada página é
numerada.
10. pulei
11. Até que ponto a escalabilidade do multicasting atômico é importante?
R: Depende realmente de quantos processos estão contidos em um grupo. O importante notar é que, se os
processos são replicados para tolerância a falhas, ter apenas algumas réplicas pode ser suficiente. Nesse caso,
escalabilidade dificilmente é um problema. Quando grupos de diferentes processos são formados, a
escalabilidade pode se tornar um problema. Ao replicar para o desempenho, o multicast atômico pode ser
exagerado.

12. P: No texto, sugerimos que o multicasting atômico pode salvar o dia em que
vem para realizar atualizações em um conjunto acordado de processos. Até que ponto podemos
garantir que cada atualização é realmente realizada?

R: Não podemos dar tais garantias, semelhantes a garantir que um servidor tenha realmente realizado uma
operação depois de ter enviado uma confirmação para o cliente. No entanto, o grau de tolerância a falhas é
melhorado usando-se esquemas de multicast e facilita o desenvolvimento de sistemas tolerantes a falhas.

...
20. P: Um servidor sem estado precisa fazer checkpoints?
R: Depende do que o servidor faz. Por exemplo, um servidor de banco de dados que foi entregue uma transação
completa irá manter um log para ser capaz de refazer suas operações durante a recuperação. No entanto, não
há necessidade de fazer checkpoints por causa do estado do sistema distribuído. Checkpointing é feito apenas
para recuperação local.

21. P: O registro de mensagens com base no receptor geralmente é considerado melhor que o registro baseado
no remetente. Por quê?
R: A principal razão é que a recuperação é totalmente local. Em log de remetente, um processo de recuperação
terá que contatar seus remetentes para retransmitir suas mensagens.

Página 10 de SistemasDistribuídos