A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Sistemas Distribuídos Walfredo Cirne & Fubica Brasileiro Aula 5: Modelos de Sistemas Distribuídos.

Apresentações semelhantes


Apresentação em tema: "Sistemas Distribuídos Walfredo Cirne & Fubica Brasileiro Aula 5: Modelos de Sistemas Distribuídos."— Transcrição da apresentação:

1 Sistemas Distribuídos Walfredo Cirne & Fubica Brasileiro Aula 5: Modelos de Sistemas Distribuídos As figuras que aparecem nesses slides são de Veríssimo&Rodrigues, reproduzidas com o consentimento dos mesmos.

2 Modelos para sistemas distribuídos Como aumentar a nossa intuição para resolver problemas? –Experimentação abordagem prática baseada no acúmulo de informação; pode ser usada para construir coisas similares a outras já construídas. –Modelagem e análise abordagem teórica baseada na simplificação do objeto de estudo (mundo real); seguida de análise - matemática ou lógica - para inferir propriedades.

3 Modelagem x experimentação –modelagem oferece mais controle sobre a intuição adquirida; –modelagem só é útil se o modelo caracteriza o objeto de estudo de forma apropriada; –experimentação é muito importante para validar modelos.

4 O que é um bom modelo? –Preciso a análise do modelo deve levar a conclusões verdadeiras sobre o objeto de estudo –Tratável um modelo que não permite a execução de uma análise é inútil em um modelo tratável, as regras que governam o comportamento dos atributos do modelo são normalmente definidas através de fórmulas matemáticas ou lógicas

5 Simulação Alternativa à experimentação –Mais próximo do sistema real sem a necessidade de arcar com o custo de construí- lo Alternativa à modelagem –Permite analisar situações que não podem ser modeladas de forma tratável/representativa

6 Que respostas um bom modelo pode dar? –Viabilidade Que classes de problemas podem ser resolvidos –Custo Para as classes que podem ser resolvidas, quão cara (em termos de recursos, tempo de processamento, etc.) uma solução precisa ser –Ambas as respostas têm valor prático e teórico

7 Modelos para sistemas distribuídos: um exemplo –O problema da coordenação Dois processos, A e B, se comunicam através de troca de mensagens. Nenhum processo falha, mas o canal de comunicação pode perder algumas mensagens. Construa um protocolo que permita que ou a ação ou a ação possa ocorrer, mas (i) A e B executam a mesma ação, e (ii) nenhum executa ambas as ações.

8 Prova de impossibilidade A prova é por contradição –se existir um tal protocolo deve envolver troca de mensagens entre A e B –vamos escolher o protocolo que resolve o problema com o número mínimo de trocas de mensagens (i.e. não existe um protocolo que use menos mensagens) e, sem perda de generalidade, assumir que m, a última mensagem enviada no protocolo, foi enviada por A –as ações tomadas por A e B não dependem de m, portanto m é supérflua e é possível construir um protocolo com uma mensagem a menos; uma contradição!

9 Vamos entender melhor o que fizemos Nós concluímos que o Problema da Coordenação não tem solução, construindo um modelo simples e informal, usando duas observações: –todos os protocolos distribuídos entrem os dois processos são equivalentes a uma série de trocas de mensagens; e –ações tomadas por um processo dependem apenas da seqüência de mensagens recebidas. A partir desse modelo, nossa intuição sobre o problema pode ser refinada –E se o canal fosse fair-lossy?

10 Quais são os atributos mais importantes de um sistema distribuído? Atrasos no escalonamento e na transmissão de mensagens –síncronos x assíncronos Semântica de falha dos componentes –parada (failstop), crash, omissão –desempenho –valor –arbitrária (Bizantina) restrições obtidas através de autenticação

11 Sistemas distribuídos assíncronos Nenhuma restrição em relação aos atrasos de escalonamento e de transmissão de mensagens Falhas arbitrárias Resultado de impossibilidade de Fischer, Lynch e Patterson (FLP, FLP85) –Não há como obter acordo, mesmo que só um processo falhe e mesmo que a semântica seja crash –Esse modelo assíncrono serve para alguma coisa?

12 Modelo síncrono Características do modelo –Atrasos máximos conhecidos para escalonamento ( ), para transmissão de mensagens ( ) e drift dos relógios locais ( ) Sistemas construídos assumindo esse modelo são: –menos portáveis –menos seguros

13 Modelos parcialmente assíncronos Assumem que há algum sincronismo no sistema Duas escolas principais –Sincronismo no tempo Sistemas que não são sempre assíncronos Ex. timed asynchronous model (Fetzer&Cristian), quase- synchronous (Veríssimo&Almeida) –Sincronismo no espaço Sistemas que não são completamente assíncronos Ex. timely computing base (Veríssimo&Casimiro&Fetzer)

14 Detectores de falhas não confiáveis Uma outra abordagem é definir o sincronismo extra necessário em termos de propriedades que precisam ser satisfeitas –Classes de detectores Abrangência: que falhas são detectadas Exatidão: que erros podem acontecer –Sincronismo no tempo Global Stabilization Time –Sincronismo no espaço Wormholes

15 Como escolher um modelo? Características do ambiente de execução –Tipos dos componentes –Qualidade dos componentes –Controle sobre o ambiente Requisitos da aplicação –Aplicações críticas Usar uma coleção de modelos –Processadores com semântica de falha controlada –Canais confiáveis


Carregar ppt "Sistemas Distribuídos Walfredo Cirne & Fubica Brasileiro Aula 5: Modelos de Sistemas Distribuídos."

Apresentações semelhantes


Anúncios Google