Sistemas Distribuídos Walfredo Cirne Aula 2: Conceitos Básicos As figuras que aparecem nesses...

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

Transcript of Sistemas Distribuídos Walfredo Cirne Aula 2: Conceitos Básicos As figuras que aparecem nesses...

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

Sistemas DistribuídosWalfredo Cirne

Aula 2: Conceitos Básicos

As figuras que aparecem nesses slides são de Veríssimo&Rodrigues, reproduzidas com o consentimento dos mesmos.

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

O que é um sistema distribuído?

• Um sistema formado por componentes que estão localizados em vários computadores distintos

• Características de um sistema distribuído – Vários computadores– Interconectados por uma rede– Compartilhando um estado

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

Exemplos de sistemas distribuídos

• A Internet é um sistema distribuído?

• A Web é um sistema distribuído?

• O DNS é um sistema distribuído?

• Um multiprocessador é um sistema distribuído?

• Um cluster é um sistema distribuído?

Page 4: Sistemas Distribuídos Walfredo Cirne Aula 2: Conceitos Básicos As figuras que aparecem nesses slides são de Veríssimo&Rodrigues, reproduzidas com o consentimento.

Características de um Sistema Distribuído

• Ausência de supervisão única– supervisor sistema operacional

• Inexistência de relógio global exato

• Falhas parciais

• Comunicação por mensagem entre os componentes

Page 5: Sistemas Distribuídos Walfredo Cirne Aula 2: Conceitos Básicos As figuras que aparecem nesses slides são de Veríssimo&Rodrigues, reproduzidas com o consentimento.

Exemplos de sistemas distribuídos

+ A Internet é um sistema distribuído?

+ A Web é um sistema distribuído?

+ O DNS é um sistema distribuído?

- Um multiprocessador é um sistema distribuído?

? Um cluster é um sistema distribuído?

Page 6: Sistemas Distribuídos Walfredo Cirne Aula 2: Conceitos Básicos As figuras que aparecem nesses slides são de Veríssimo&Rodrigues, reproduzidas com o consentimento.

Quando distribuir?[Por que complicar?]

• Às vezes, o problema é distribuído– Ex. Web, Email, Groupware

• Benefícios inerentes à distribuição – Escala (performance)– Aumento na confiança do funcionamento

(dependability)

• Soluções distribuídas são mais adaptáveis– Upgrade gradativo

Page 7: Sistemas Distribuídos Walfredo Cirne Aula 2: Conceitos Básicos As figuras que aparecem nesses slides são de Veríssimo&Rodrigues, reproduzidas com o consentimento.

Centralização × Distribuição

• Características de sistemas centralizados– Homogeneidade, facilidade de gerência, maior

consistência, controle centralizado

• Características de sistemas distribuídos– Heterogeneidade, modularidade, controle

distribuído, menor custo [?], escalabilidade, compartilhamento de recursos, degradação paulatina, mais sujeito a ataques

Page 8: Sistemas Distribuídos Walfredo Cirne Aula 2: Conceitos Básicos As figuras que aparecem nesses slides são de Veríssimo&Rodrigues, reproduzidas com o consentimento.

Que valores a distribuição pode adicionar?

• Viabilidade– Antigamente era “redução de custo”

• Confiabilidade– Redundância é natural

• Crescimento modular

• Integração de serviços

Page 9: Sistemas Distribuídos Walfredo Cirne Aula 2: Conceitos Básicos As figuras que aparecem nesses slides são de Veríssimo&Rodrigues, reproduzidas com o consentimento.

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 ei

p

– Um evento modifica o estado do processo p

• A história H é uma seqüência de tuplas contendo um evento ei

p e o estado de p após eip

• Uma execução (run) é um conjunto de histórias dos processos que forma o sistema distribuído

Page 10: Sistemas Distribuídos Walfredo Cirne Aula 2: Conceitos Básicos As figuras que aparecem nesses slides são de Veríssimo&Rodrigues, reproduzidas com o consentimento.

Eventos

• Eventos podem ser locais ou podem ser trocas de mensagem

• Eventos ordenados e concorrentes

Page 11: Sistemas Distribuídos Walfredo Cirne Aula 2: Conceitos Básicos As figuras que aparecem nesses slides são de Veríssimo&Rodrigues, reproduzidas com o consentimento.

Precedência [Lamport]

• Se a e b são eventos no mesmo processo e a precede b, então a b

• Se a é o envio da mensagem m e b é a recepção da mensagem m, então a b

• Se a b e b c, então a c

Page 12: Sistemas Distribuídos Walfredo Cirne Aula 2: Conceitos Básicos As figuras que aparecem nesses slides são de Veríssimo&Rodrigues, reproduzidas com o consentimento.

Estado global

• Especificação– Se no tempo t cada processo pi 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

Page 13: Sistemas Distribuídos Walfredo Cirne Aula 2: Conceitos Básicos As figuras que aparecem nesses slides são de Veríssimo&Rodrigues, reproduzidas com o consentimento.

Snapshots distribuídos

Page 14: Sistemas Distribuídos Walfredo Cirne Aula 2: Conceitos Básicos As figuras que aparecem nesses slides são de Veríssimo&Rodrigues, reproduzidas com o consentimento.

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

Page 15: Sistemas Distribuídos Walfredo Cirne Aula 2: Conceitos Básicos As figuras que aparecem nesses slides são de Veríssimo&Rodrigues, reproduzidas com o consentimento.

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

Page 16: Sistemas Distribuídos Walfredo Cirne Aula 2: Conceitos Básicos As figuras que aparecem nesses slides são de Veríssimo&Rodrigues, reproduzidas com o consentimento.

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 real

Page 17: Sistemas Distribuídos Walfredo Cirne Aula 2: Conceitos Básicos As figuras que aparecem nesses slides são de Veríssimo&Rodrigues, reproduzidas com o consentimento.

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 ()

Page 18: Sistemas Distribuídos Walfredo Cirne Aula 2: Conceitos Básicos As figuras que aparecem nesses slides são de Veríssimo&Rodrigues, reproduzidas com o consentimento.

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- ≤ (rf(tk+1) – rf(tk))/g ≤ 1+

Page 19: Sistemas Distribuídos Walfredo Cirne Aula 2: Conceitos Básicos As figuras que aparecem nesses slides são de Veríssimo&Rodrigues, reproduzidas com o consentimento.

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 10-5

• Definir timeouts

• Medir durações de atraso round-trip

Page 20: Sistemas Distribuídos Walfredo Cirne Aula 2: Conceitos Básicos As figuras que aparecem nesses slides são de Veríssimo&Rodrigues, reproduzidas com o consentimento.

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

Page 21: Sistemas Distribuídos Walfredo Cirne Aula 2: Conceitos Básicos As figuras que aparecem nesses slides são de Veríssimo&Rodrigues, reproduzidas com o consentimento.

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

Page 22: Sistemas Distribuídos Walfredo Cirne Aula 2: Conceitos Básicos As figuras que aparecem nesses slides são de Veríssimo&Rodrigues, reproduzidas com o consentimento.

Propriedades de um relógio global