sistemas distribuídos sincronização e coordenação instituto de informática – ufg verão 2005...
TRANSCRIPT
![Page 1: Sistemas Distribuídos Sincronização e Coordenação Instituto de Informática – UFG Verão 2005 Baseado em: Tanenbaum, cap. 5](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc10b497959413d8c32fe/html5/thumbnails/1.jpg)
Sistemas Distribuídos
Sincronizaçãoe
Coordenação
Instituto de Informática – UFG
Verão 2005
Baseado em: Tanenbaum, cap. 5
![Page 2: Sistemas Distribuídos Sincronização e Coordenação Instituto de Informática – UFG Verão 2005 Baseado em: Tanenbaum, cap. 5](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc10b497959413d8c32fe/html5/thumbnails/2.jpg)
Sincronização de Relógios
Quando cada máquina tem seu próprio relógio, um evento que ocorreu depois de outro pode, não obstante, ser associado a um tempo anterior.
![Page 3: Sistemas Distribuídos Sincronização e Coordenação Instituto de Informática – UFG Verão 2005 Baseado em: Tanenbaum, cap. 5](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc10b497959413d8c32fe/html5/thumbnails/3.jpg)
Relógios Físicos (1)
Computação do dia solar médio.
![Page 4: Sistemas Distribuídos Sincronização e Coordenação Instituto de Informática – UFG Verão 2005 Baseado em: Tanenbaum, cap. 5](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc10b497959413d8c32fe/html5/thumbnails/4.jpg)
Relógios Físicos (2)
Segundos TAI são de duração constante, diferentemente de segundos solares. Segundos “bissextos” são introduzidos quando
necessário para manter em fase com o sol.
![Page 5: Sistemas Distribuídos Sincronização e Coordenação Instituto de Informática – UFG Verão 2005 Baseado em: Tanenbaum, cap. 5](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc10b497959413d8c32fe/html5/thumbnails/5.jpg)
Algoritmos de Sincronização de Relógios
A relação entre tempo de relógio e o tempo UTC quando os relógios “ticam” com taxas diferentes.
![Page 6: Sistemas Distribuídos Sincronização e Coordenação Instituto de Informática – UFG Verão 2005 Baseado em: Tanenbaum, cap. 5](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc10b497959413d8c32fe/html5/thumbnails/6.jpg)
Algoritmo de Cristian's
Obtendo o tempo atual a partir de um servidor de tempo.
![Page 7: Sistemas Distribuídos Sincronização e Coordenação Instituto de Informática – UFG Verão 2005 Baseado em: Tanenbaum, cap. 5](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc10b497959413d8c32fe/html5/thumbnails/7.jpg)
O Algoritmo de Berkeley
a) O daemon de tempo pergunta a todas as máquinas os valores de seus relógios locais
b) As máquinas respondemc) O daemon de tempo instrui todas as máquinas a atualizarem seus relógios
![Page 8: Sistemas Distribuídos Sincronização e Coordenação Instituto de Informática – UFG Verão 2005 Baseado em: Tanenbaum, cap. 5](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc10b497959413d8c32fe/html5/thumbnails/8.jpg)
Marcas de Tempo de Lamport
a) Três processos, cada um com seu próprio relógio. Os relógios “correm” a taxas diferentes.
b) O algoritmo de Lamport corrige os relógios (relógios lógicos).
![Page 9: Sistemas Distribuídos Sincronização e Coordenação Instituto de Informática – UFG Verão 2005 Baseado em: Tanenbaum, cap. 5](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc10b497959413d8c32fe/html5/thumbnails/9.jpg)
Exemplo: Multicast Totalmente Ordenado
Atualização de um banco de dados replicado deixando-o em um estado inconsistente.
![Page 10: Sistemas Distribuídos Sincronização e Coordenação Instituto de Informática – UFG Verão 2005 Baseado em: Tanenbaum, cap. 5](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc10b497959413d8c32fe/html5/thumbnails/10.jpg)
Estado Global (1)
a) Um corte consistenteb) Um corte inconsistente
![Page 11: Sistemas Distribuídos Sincronização e Coordenação Instituto de Informática – UFG Verão 2005 Baseado em: Tanenbaum, cap. 5](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc10b497959413d8c32fe/html5/thumbnails/11.jpg)
Estado Global (2)
a) Organização de um processo e canais para um “instantâneo” distribuído
![Page 12: Sistemas Distribuídos Sincronização e Coordenação Instituto de Informática – UFG Verão 2005 Baseado em: Tanenbaum, cap. 5](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc10b497959413d8c32fe/html5/thumbnails/12.jpg)
Estado Global (3)
b) Processo Q recebe um marcador pela primeira vez e registra seu estado local
c) Q registra todas as mensagens que chegamd) Q recebe um marcador para seu canal entrante e pára de registrar o
estado do canal entrante
![Page 13: Sistemas Distribuídos Sincronização e Coordenação Instituto de Informática – UFG Verão 2005 Baseado em: Tanenbaum, cap. 5](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc10b497959413d8c32fe/html5/thumbnails/13.jpg)
Eleição de Líder:O Algoritmo de “Bullying” (1)
O algoritmo de eleição de bullying• Processo 4 inicia a eleição (após detectar a falha do antigo líder)• Processos 5 e 6 respondem, dizendo ao processo 4 para parar• Agora os processos 5 e 6 cada um iniciam suas eleições
![Page 14: Sistemas Distribuídos Sincronização e Coordenação Instituto de Informática – UFG Verão 2005 Baseado em: Tanenbaum, cap. 5](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc10b497959413d8c32fe/html5/thumbnails/14.jpg)
Eleição de Líder:O Algoritmo de “Bullying” (2)
d) Processo 6 diz ao processo 5 para parare) Processo 6 vence a eleição e avisa a todos os demais
![Page 15: Sistemas Distribuídos Sincronização e Coordenação Instituto de Informática – UFG Verão 2005 Baseado em: Tanenbaum, cap. 5](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc10b497959413d8c32fe/html5/thumbnails/15.jpg)
O Algoritmo do Anel
Eleição utilizando um anel lógico de processos.
![Page 16: Sistemas Distribuídos Sincronização e Coordenação Instituto de Informática – UFG Verão 2005 Baseado em: Tanenbaum, cap. 5](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc10b497959413d8c32fe/html5/thumbnails/16.jpg)
Exclusão Mútua:Um Algoritmo Centralizado
a) Processo 1 pede permissão ao coordenador para entrar em uma região crítica. A permissão é concedida.b) Processo 2 então pede permissão para entrar na mesma região crítica. O coordenador não responde.c) Quando o processo 1 sai da região crítica, ele informa ao coordenador, que então responde ao processo 2.
![Page 17: Sistemas Distribuídos Sincronização e Coordenação Instituto de Informática – UFG Verão 2005 Baseado em: Tanenbaum, cap. 5](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc10b497959413d8c32fe/html5/thumbnails/17.jpg)
Exclusão Mútua:Um Algoritmo Distribuído
a) Dois processos desejam entrar na mesma região crítica (RC) ao mesmo tempo.b) Processo 0 tem a marca de tempo mais baixa; portanto, ele vence.c) Quando o processo 0 conclui o uso da RC, ele envia um OK para o processo
pendente, de forma que 2 possa agora entrar na RC.
![Page 18: Sistemas Distribuídos Sincronização e Coordenação Instituto de Informática – UFG Verão 2005 Baseado em: Tanenbaum, cap. 5](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc10b497959413d8c32fe/html5/thumbnails/18.jpg)
Exclusão Mútua:Um Algoritmo de Anel de Token
a) Um grupo não-ordenado de processos em uma rede.
b) Um anel lógico construído em software.
![Page 19: Sistemas Distribuídos Sincronização e Coordenação Instituto de Informática – UFG Verão 2005 Baseado em: Tanenbaum, cap. 5](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc10b497959413d8c32fe/html5/thumbnails/19.jpg)
Comparação
Uma comparação de três algoritmos de exclusão mútua.
AlgorithmMessages per
entry/exitDelay before entry (in message times)
Problems
Centralized 3 2 Coordinator crash
Distributed 2 ( n – 1 ) 2 ( n – 1 )Crash of any process
Token ring 1 to 0 to n – 1Lost token, process crash
![Page 20: Sistemas Distribuídos Sincronização e Coordenação Instituto de Informática – UFG Verão 2005 Baseado em: Tanenbaum, cap. 5](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc10b497959413d8c32fe/html5/thumbnails/20.jpg)
O Modelo de Transações (1)
Atualização de um registro mestre com tolerância a falhas.
![Page 21: Sistemas Distribuídos Sincronização e Coordenação Instituto de Informática – UFG Verão 2005 Baseado em: Tanenbaum, cap. 5](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc10b497959413d8c32fe/html5/thumbnails/21.jpg)
O Modelo de Transações (2)
Exemplos de primitivas para transações.
Primitive Description
BEGIN_TRANSACTION Make the start of a transaction
END_TRANSACTION Terminate the transaction and try to commit
ABORT_TRANSACTION Kill the transaction and restore the old values
READ Read data from a file, a table, or otherwise
WRITE Write data to a file, a table, or otherwise
![Page 22: Sistemas Distribuídos Sincronização e Coordenação Instituto de Informática – UFG Verão 2005 Baseado em: Tanenbaum, cap. 5](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc10b497959413d8c32fe/html5/thumbnails/22.jpg)
O Modelo de Transações (3)
a) Transação para reservar três vôos concluída com sucesso, i.e., commit
b) Transação é abortada quando a reserva do terceiro vôo falha
BEGIN_TRANSACTION reserve WP -> JFK; reserve JFK -> Nairobi; reserve Nairobi -> Malindi;END_TRANSACTION
(a)
BEGIN_TRANSACTION reserve WP -> JFK; reserve JFK -> Nairobi; reserve Nairobi -> Malindi full =>ABORT_TRANSACTION (b)
![Page 23: Sistemas Distribuídos Sincronização e Coordenação Instituto de Informática – UFG Verão 2005 Baseado em: Tanenbaum, cap. 5](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc10b497959413d8c32fe/html5/thumbnails/23.jpg)
Transações Distribuídas
a) Uma transação aninhadab) Uma transação distribuída
![Page 24: Sistemas Distribuídos Sincronização e Coordenação Instituto de Informática – UFG Verão 2005 Baseado em: Tanenbaum, cap. 5](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc10b497959413d8c32fe/html5/thumbnails/24.jpg)
Espaço de Trabalho Privativo
a) O índice de arquivos e blocos de disco para um arquivo de três blocosb) Situação após uma transação ter modificado o bloco 0 e concatenado o bloco 3c) Após o commit da transação
![Page 25: Sistemas Distribuídos Sincronização e Coordenação Instituto de Informática – UFG Verão 2005 Baseado em: Tanenbaum, cap. 5](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc10b497959413d8c32fe/html5/thumbnails/25.jpg)
Writeahead Log
a) Uma transaçãob) – d) O log antes de cada sentença ser executada
x = 0;
y = 0;
BEGIN_TRANSACTION;
x = x + 1;
y = y + 2
x = y * y;
END_TRANSACTION;
(a)
Log
[x = 0 / 1]
(b)
Log
[x = 0 / 1]
[y = 0/2]
(c)
Log
[x = 0 / 1]
[y = 0/2]
[x = 1/4]
(d)
![Page 26: Sistemas Distribuídos Sincronização e Coordenação Instituto de Informática – UFG Verão 2005 Baseado em: Tanenbaum, cap. 5](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc10b497959413d8c32fe/html5/thumbnails/26.jpg)
Controle de Concorrência (1)
Organização geral de gerentes para tratar transações.
![Page 27: Sistemas Distribuídos Sincronização e Coordenação Instituto de Informática – UFG Verão 2005 Baseado em: Tanenbaum, cap. 5](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc10b497959413d8c32fe/html5/thumbnails/27.jpg)
Controle de Concorrência (2)
Organização geral dos gerentes para tratar transações distribuídas.
![Page 28: Sistemas Distribuídos Sincronização e Coordenação Instituto de Informática – UFG Verão 2005 Baseado em: Tanenbaum, cap. 5](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc10b497959413d8c32fe/html5/thumbnails/28.jpg)
Serializabilidade
a) – c) Três transações: T1, T2, e T3
d) Possíveis escalonamentos
BEGIN_TRANSACTION x = 0; x = x + 1;END_TRANSACTION
(a)
BEGIN_TRANSACTION x = 0; x = x + 2;END_TRANSACTION
(b)
BEGIN_TRANSACTION x = 0; x = x + 3;END_TRANSACTION
(c)
Schedule 1 x = 0; x = x + 1; x = 0; x = x + 2; x = 0; x = x + 3 Legal
Schedule 2 x = 0; x = 0; x = x + 1; x = x + 2; x = 0; x = x + 3; Legal
Schedule 3 x = 0; x = 0; x = x + 1; x = 0; x = x + 2; x = x + 3; Illegal
(d)
![Page 29: Sistemas Distribuídos Sincronização e Coordenação Instituto de Informática – UFG Verão 2005 Baseado em: Tanenbaum, cap. 5](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc10b497959413d8c32fe/html5/thumbnails/29.jpg)
Two-Phase Locking (1)
Aquisição e liberação de locks no algoritmo de two-phase locking.
![Page 30: Sistemas Distribuídos Sincronização e Coordenação Instituto de Informática – UFG Verão 2005 Baseado em: Tanenbaum, cap. 5](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc10b497959413d8c32fe/html5/thumbnails/30.jpg)
Two-Phase Locking (2)
Two-phase locking estrito – todos os locks são liberados ao mesmo tempo.
![Page 31: Sistemas Distribuídos Sincronização e Coordenação Instituto de Informática – UFG Verão 2005 Baseado em: Tanenbaum, cap. 5](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc10b497959413d8c32fe/html5/thumbnails/31.jpg)
Ordenação com Marcas de Tempo Pessimista
Controle de concorrência usando marcas de tempo.