sistemas distribuídos carlos a. g. ferraz di/ufpe aula 04
TRANSCRIPT
![Page 1: Sistemas Distribuídos Carlos A. G. Ferraz DI/UFPE Aula 04](https://reader035.vdocuments.site/reader035/viewer/2022062418/552fc141497959413d8df598/html5/thumbnails/1.jpg)
Sistemas Distribuídos
Carlos A. G. Ferraz
DI/UFPE
Aula 04
![Page 2: Sistemas Distribuídos Carlos A. G. Ferraz DI/UFPE Aula 04](https://reader035.vdocuments.site/reader035/viewer/2022062418/552fc141497959413d8df598/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062418/552fc141497959413d8df598/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062418/552fc141497959413d8df598/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062418/552fc141497959413d8df598/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062418/552fc141497959413d8df598/html5/thumbnails/6.jpg)
Comunicação (cont.)Modelos de comunicação Cliente-Servidor Grupo
![Page 7: Sistemas Distribuídos Carlos A. G. Ferraz DI/UFPE Aula 04](https://reader035.vdocuments.site/reader035/viewer/2022062418/552fc141497959413d8df598/html5/thumbnails/7.jpg)
Comunicação em Grupo Grupo fechado x grupo aberto
![Page 8: Sistemas Distribuídos Carlos A. G. Ferraz DI/UFPE Aula 04](https://reader035.vdocuments.site/reader035/viewer/2022062418/552fc141497959413d8df598/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062418/552fc141497959413d8df598/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062418/552fc141497959413d8df598/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062418/552fc141497959413d8df598/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062418/552fc141497959413d8df598/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062418/552fc141497959413d8df598/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062418/552fc141497959413d8df598/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062418/552fc141497959413d8df598/html5/thumbnails/15.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062418/552fc141497959413d8df598/html5/thumbnails/16.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062418/552fc141497959413d8df598/html5/thumbnails/17.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062418/552fc141497959413d8df598/html5/thumbnails/18.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062418/552fc141497959413d8df598/html5/thumbnails/19.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062418/552fc141497959413d8df598/html5/thumbnails/20.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062418/552fc141497959413d8df598/html5/thumbnails/21.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062418/552fc141497959413d8df598/html5/thumbnails/22.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062418/552fc141497959413d8df598/html5/thumbnails/23.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062418/552fc141497959413d8df598/html5/thumbnails/24.jpg)
Sistemas de Tempo-Real (cont.)Projeto - algumas considerações: Sincronização de relógios Sistemas event-triggered x time-
triggered Previsibilidade