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

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

Sistemas Distribuídos

Apresentações semelhantes


Apresentação em tema: "Sistemas Distribuídos"— Transcrição da apresentação:

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

2 Conceitos Fundamentais e Convenções de Notação

3 Notações formais É normalmente conveniente tratar com processos ao invés de processadores Um sistema distribuído é composto por N processos que executam em M processadores Processadores são conectados por canais de comunicação A evolução do sistema é modelada por uma sequência de eventos eip Um evento modifica o estado do processo p A história H é uma seqüência de tuplas contendo um evento eip e o estado de p após eip Uma execução (run) é um conjunto ordenado de eventos descrito por uma história

4 Eventos Eventos podem ser locais ou podem ser trocas de mensagem
Eventos ordenados e concorrentes

5 Eventos e tempo t(e) é o tempo real em que e ocorreu
Relógios locais e timestamps Granularidade do relógio

6 Estado global Especificação Como computar S internamente?
Se no tempo t cada processo está no estado Si e as mensagens em transito no canal cij que liga pi a pj é S(cij), então o estado global é dado por S = {S1, S2, ... Sn} U {S(cij), 1≤I,j≤n, i ≠j} Como computar S internamente? Troca de mensagens mudará o estado do sistema! Há protocolos de snapshot que resolvem este problema

7 Snapshots distribuídos

8 Propriedades de um sistema
Safety Alguma coisa ruim não pode acontecer Liveliness Alguma coisa boa vai acontecer um dia Timeliness Adicionam requisitos de tempo real às propriedades de liveliness

9 Nomes e endereços Nomes identificam objetos
Nomes únicos globalmente × contexto de nomes Nomes “puros” × “impuros” Endereços são nomes usados por algum sistema de comunicação para entregar mensagens Nomes são resolvidos em endereços “Ciência da Computação é a ciência que resolve problemas adicionando níveis de indireção” Quais resoluções temos quando enviamos um para Nomes podem ter seu significado mudado ao longo do tempo

10 Mapeamento/resolução de nomes
Serviços de nomes traduzem nomes em endereços Binding Associa um nome a um endereço Lookup Recupera (resolve) um endereço a partir de um nome Unbiding Desassocia um nome a um endereço O servidor de nomes precisa usar um endereço bem conhecido

11 Servidores de nomes

12 Troca de mensagens Mecanismo básico de interação em sistemas distribuídos Endereçamento, protocolo e formato das mensagens Confiabilidade

13 Semântica de Bloqueio O send pode retornar quando:
Se recebe um ack Quando o dado enviado está bufferizado Imediatamente Cada opção tem impactos de performance e interface Respose-and-reply × Notification/events

14 Operação remota Chamada/invocação remota de procedimento/método
Marshalling/unmarshalling Bloqueio durante a execução Semântica de falhas Mecanismo básico usado no paradigma cliente/servidor Amplamente usada (ex Java RMI)

15 Usando multiplas threads com operações remotas

16 Comunicação em grupo Difusão de conteúdo Grupo de servidores
especialmente streaming Grupo de servidores melhor disponibilidade e/ou performance 1 multicast ≠ n unicasts

17 Multicast para difusão de conteúdo

18 Group membership Serviço usado para construção de grupos de replicas
Provê serviço de alto nível Entrega confiável de mensagens Visão do grupo Os membros do grupo sabem quem está no grupo Ordenação de mensagens O enviador recebe suas próprias mensagens

19 Principais componentes de um protocolo de multicast
Serviço de transporte Roteamento Tolerância a omissões Controle de fluxo Ordenação Gerência de filiação (incluindo recuperação de falhas)

20 Tempo e relógios O que é o tempo real? O que é 1 segundo?
Função monotônica contínua e crescente [Newtoniano] O que é 1 segundo? Divisor de um dia solar Relógios atômicos A linha do tempo timestamps duração de intervalos Relógios

21 O papel do tempo Gravar e observar a localização de eventos na linha do tempo seqüênciamento de eventos que formam um estado global medir a duração entre dois eventos Forçar o futuro posicionamento de eventos na linha do tempo sincronização

22 Medindo tempo em sistemas distribuídos
Como medir durações distribuídas? Como reconciliar diferentes linhas do tempo? Ex. qual o tempo de transmissão de uma mensagem? Tempo global × tempo absoluto

23 Relógios locais físicos
O hardware (rf) implementa uma função monotônica discreta e crescente que mapeia o tempo real t em um tempo de relógio rf(t) Imperfeições de relógios físicos Granularidade (g) Taxa de desvio (r)

24 Propriedades de um relógio físico
Granularidade Relógios físicos avançam em ticks (tk) g = rf(tk+1) – rf(tk) Taxa de desvio Depende da qualidade do relógio e das condições do ambiente (ex. temperatura) 0 ≤ 1-r ≤ (rf(tk+1) – rf(tk))/g ≤ 1+r

25 Para que serve um relógio local?
Prover timestamps para eventos locais Medir durações locais Qual o erro causado pela taxa de desvio? r é tipicamente na ordem de 10-5 Definir timeouts Medir durações de atraso round-trip

26 Relógios globais Um relógio global é construído através da sincronização de relógios locais por um protocolo de sincronização de relógio Cada processo p cria um relógio virtual (rvp) a partir do seu relógio local (rfp) Os relógios virtuais são criados de forma a estarem sincronizados São resincronizados de tempos em tempos NTP é o protocolo mais comum para isso

27 Propriedades de um relógio global
Convergência (d): quão próximo os relógios estão sincronizados logo após uma resincronização Precisão (p): quão próximos os relógios se mantêm sincronizados entre si em qualquer tempo Exatidão (a): quão próximos os relógios estão sincronizados em relação a uma linha de tempo absoluta de referência Requer um dispositivo de sincronização externa (ex. GPS) em algum lugar do sistema Taxa de desvio (r): é a taxa instantâneo de desvio do relógio global

28 Propriedades de um relógio global


Carregar ppt "Sistemas Distribuídos"

Apresentações semelhantes


Anúncios Google