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

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

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.

Apresentações semelhantes


Apresentação em tema: "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."— 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 e i p –Um evento modifica o estado do processo p A história H é uma seqüência de tuplas contendo um evento e i p e o estado de p após e i p 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 –Se no tempo t cada processo está no estado S i e as mensagens em transito no canal c ij que liga p i a p j é S(c ij ), então o estado global é dado por S = {S 1, S 2,... S n } U {S(c ij ), 1I,jn, 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 –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? –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 ( )

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

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? – é tipicamente na ordem de 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 (rv p ) a partir do seu relógio local (rf p ) –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 ( ): quão próximo os relógios estão sincronizados logo após uma resincronização Precisão ( ): quão próximos os relógios se mantêm sincronizados entre si em qualquer tempo Exatidão ( ): 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 ( ): é a taxa instantâneo de desvio do relógio global

28 Propriedades de um relógio global


Carregar ppt "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."

Apresentações semelhantes


Anúncios Google