Sistemas Distribuídos Carlos A. G. Ferraz DI/UFPE Aula 04.

24
Sistemas Distribuídos Carlos A. G. Ferraz DI/UFPE Aula 04

Transcript of Sistemas Distribuídos Carlos A. G. Ferraz DI/UFPE Aula 04.

Page 1: Sistemas Distribuídos Carlos A. G. Ferraz DI/UFPE Aula 04.

Sistemas Distribuídos

Carlos A. G. Ferraz

DI/UFPE

Aula 04

Page 2: Sistemas Distribuídos Carlos A. G. Ferraz DI/UFPE Aula 04.

Conceitos - Tópicos Processos e Threads Concorrência Sistemas Abertos Comunicação Sincronização Tolerância a Falhas Segurança Sistemas Distribuídos de Tempo-

Real

Page 3: Sistemas Distribuídos Carlos A. G. Ferraz DI/UFPE Aula 04.

Sistemas Distribuídos Abertos

Um sistema aberto é aquele que se comunica com outro sistema aberto usando regras que tratam do formato, conteúdo e significado das mensagens enviadas e recebidas. As regras são formalizadas como protocolos.

Interfaces publicadas Facilitam propriedades como

escalabilidade flexibilidade

Page 4: Sistemas Distribuídos Carlos A. G. Ferraz DI/UFPE Aula 04.

ComunicaçãoOs componentes distribuídos

(lógica e fisicamente) de um sistema devem se comunicar para interagir

Transferência de dados Sincronização

Page 5: Sistemas Distribuídos Carlos A. G. Ferraz DI/UFPE Aula 04.

Comunicação (cont.)Passagem de mensagem Primitivas send e receive Abstrações: canal e porta

Síncrona (blocking) Assíncrona (non-blocking)

p1 p2

Page 6: Sistemas Distribuídos Carlos A. G. Ferraz DI/UFPE Aula 04.

Comunicação (cont.)Modelos de comunicação Cliente-Servidor Grupo

Page 7: Sistemas Distribuídos Carlos A. G. Ferraz DI/UFPE Aula 04.

Comunicação em Grupo Grupo fechado x grupo aberto

Page 8: Sistemas Distribuídos Carlos A. G. Ferraz DI/UFPE Aula 04.

Comunicação em Grupo (cont.)

Peer group x grupo hierárquicocoordenador

trabalhador

Page 9: Sistemas Distribuídos Carlos A. G. Ferraz DI/UFPE Aula 04.

Comunicação em Grupo (cont.) Endereçamento

Multicasting (Ex. TV a cabo) Broadcasting (Ex. TV) Unicasting

0 1 2 3 0 1 2 3 0 1 2 3

Page 10: Sistemas Distribuídos Carlos A. G. Ferraz DI/UFPE Aula 04.

Comunicação em Grupo (cont.)

Primitivas de comunicação group_send e group_receive

Atomicidade Atomic broadcast (tudo-ou-nada)

Ordem de mensagens Garantias que msg “A” chegue

em todos os membros do grupo antes de “B”

Page 11: Sistemas Distribuídos Carlos A. G. Ferraz DI/UFPE Aula 04.

Sincronização Distribuição leva a novas

considerações: Ex: como implementar região

crítica? semáforos e monitores, como

conhecemos, não são apropriados, pois são baseados no compartilhamento de memória

Tempo é importante

Page 12: Sistemas Distribuídos Carlos A. G. Ferraz DI/UFPE Aula 04.

Sincronização (cont.) Em sistemas distribuídos:

Informação relevante é espalhada em diferentes máquinas

Processos tomam decisões baseados apenas em informação local

Não há um relógio comum

Page 13: Sistemas Distribuídos Carlos A. G. Ferraz DI/UFPE Aula 04.

Sincronização (cont.) Em grande parte dos sistemas, o

que importa é a consistência interna dos relógios, e não se eles são próximos do tempo real relógios lógicos se os relógios não podem desviar

muito do tempo real, eles são chamados de relógios físicos

Page 14: Sistemas Distribuídos Carlos A. G. Ferraz DI/UFPE Aula 04.

Sincronização (cont.) Algoritmo de Lamport para sincronização de

relógios lógicos (Relação aconteceu-antes)

A

B

C

D

0 0 0

6 8 1012

182430364248

70

76

1624

3240486169

77

85

20304050607080

90

100

0 1 2

A

B

C

D

0 0 0

6 8 1012

182430364248

54

60

1624

3240485664

72

80

20304050607080

90

100

0 1 2

Page 15: Sistemas Distribuídos Carlos A. G. Ferraz DI/UFPE Aula 04.

Sincronização (cont.)Transações Atômicas

A

B

C D1000

300250

0100

150 0

0150

100

50

150

Page 16: Sistemas Distribuídos Carlos A. G. Ferraz DI/UFPE Aula 04.

Sincronização (cont.)Propriedades das Transações Atômicas Atomicidade: tudo-ou-nada Consistência: uma transação leva o sistema de

um estado consistente a outro estado consistente

Isolamento: transações concorrentes não interferem umas nas outras

Duração: terminada uma transação, as mudanças são permanentes

Page 17: Sistemas Distribuídos Carlos A. G. Ferraz DI/UFPE Aula 04.

Sincronização (cont.)Multimídia Mídias contínuas Sincronização intra-stream

Áudio: 8000 amostras/seg Vídeo: 30 quadros/seg

Sincronização inter-stream Ex: lip-sync

Compensação de atraso buffering descarta chegada atrasada

Page 18: Sistemas Distribuídos Carlos A. G. Ferraz DI/UFPE Aula 04.

Segurança Criptografia

C = E(P,KE) e P = D(C,KD) C: texto criptografado E: função de criptografia P: texto original KE: chave de criptografia D: função de decriptografia KD: chave de decriptografia

Autenticação

Page 19: Sistemas Distribuídos Carlos A. G. Ferraz DI/UFPE Aula 04.

Tolerância a Falhas Ex: sistema de fornecedores de

supermercado se fornecedor de produto “X”

falhar? Tipos de falha

Transiente: pode acontecer uma vez

Intermitente: acontece de tempos em tempos

Permanente: acontece sempre

Page 20: Sistemas Distribuídos Carlos A. G. Ferraz DI/UFPE Aula 04.

Tolerância a Falhas (cont.) Técnicas

Redundância de hardware Replicação de componentes de

software e de dados Tolerância por software:

algoritmos

Page 21: Sistemas Distribuídos Carlos A. G. Ferraz DI/UFPE Aula 04.

Sistemas de Tempo-Real

Em sistemas de tempo-real, não cumprir uma condição dependente de tempo é uma falha

Tipos de sistemas de tempo-real Soft: pode “falhar”

ocasionalmente Hard: perder um deadline é

inaceitável

Page 22: Sistemas Distribuídos Carlos A. G. Ferraz DI/UFPE Aula 04.

Sistemas de Tempo-Real (cont.)Mitos: Computação em tempo-real é

computação rápida Em alguns casos, o que importa

é a precisão Ex: algumas estrelas só podem

ser observadas a cada 1/2 hora, precisamente (o sistema tem tempo suficiente para iniciar a observação no momento exato)

Page 23: Sistemas Distribuídos Carlos A. G. Ferraz DI/UFPE Aula 04.

Sistemas de Tempo-Real (cont.)Mitos (cont.): Computadores rápidos fazem

sistemas de tempo-real obsoletos Ao contrário, os sistemas de

tempo-real são encorajadores, permitindo atender novas demandas

Page 24: Sistemas Distribuídos Carlos A. G. Ferraz DI/UFPE Aula 04.

Sistemas de Tempo-Real (cont.)Projeto - algumas considerações: Sincronização de relógios Sistemas event-triggered x time-

triggered Previsibilidade