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

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

Sistemas Distribuídos Sincronização e Coordenação Instituto de Informática – UFG Verão 2005 Baseado em: Tanenbaum, cap. 5.

Apresentações semelhantes


Apresentação em tema: "Sistemas Distribuídos Sincronização e Coordenação Instituto de Informática – UFG Verão 2005 Baseado em: Tanenbaum, cap. 5."— Transcrição da apresentação:

1 Sistemas Distribuídos Sincronização e Coordenação Instituto de Informática – UFG Verão 2005 Baseado em: Tanenbaum, cap. 5

2 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.

3 Relógios Físicos (1) Computação do dia solar médio.

4 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.

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

6 Algoritmo de Cristian's Obtendo o tempo atual a partir de um servidor de tempo.

7 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 respondem c)O daemon de tempo instrui todas as máquinas a atualizarem seus relógios

8 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).

9 Exemplo: Multicast Totalmente Ordenado Atualização de um banco de dados replicado deixando-o em um estado inconsistente.

10 Estado Global (1) a)Um corte consistente b)Um corte inconsistente

11 Estado Global (2) a)Organização de um processo e canais para um instantâneo distribuído

12 Estado Global (3) b)Processo Q recebe um marcador pela primeira vez e registra seu estado local c)Q registra todas as mensagens que chegam d)Q recebe um marcador para seu canal entrante e pára de registrar o estado do canal entrante

13 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

14 Eleição de Líder: O Algoritmo de Bullying (2) d)Processo 6 diz ao processo 5 para parar e)Processo 6 vence a eleição e avisa a todos os demais

15 O Algoritmo do Anel Eleição utilizando um anel lógico de processos.

16 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.

17 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.

18 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.

19 Comparação Uma comparação de três algoritmos de exclusão mútua. Algorithm Messages per entry/exit Delay before entry (in message times) Problems Centralized32Coordinator crash Distributed2 ( n – 1 ) Crash of any process Token ring 1 to 0 to n – 1 Lost token, process crash

20 O Modelo de Transações (1) Atualização de um registro mestre com tolerância a falhas.

21 O Modelo de Transações (2) Exemplos de primitivas para transações. PrimitiveDescription BEGIN_TRANSACTIONMake the start of a transaction END_TRANSACTIONTerminate the transaction and try to commit ABORT_TRANSACTIONKill the transaction and restore the old values READRead data from a file, a table, or otherwise WRITEWrite data to a file, a table, or otherwise

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

23 Transações Distribuídas a)Uma transação aninhada b)Uma transação distribuída

24 Espaço de Trabalho Privativo a)O índice de arquivos e blocos de disco para um arquivo de três blocos b)Situação após uma transação ter modificado o bloco 0 e concatenado o bloco 3 c)Após o commit da transação

25 Writeahead Log a) Uma transação b) – 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)

26 Controle de Concorrência (1) Organização geral de gerentes para tratar transações.

27 Controle de Concorrência (2) Organização geral dos gerentes para tratar transações distribuídas.

28 Serializabilidade a) – c) Três transações: T 1, T 2, e T 3 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 1x = 0; x = x + 1; x = 0; x = x + 2; x = 0; x = x + 3Legal Schedule 2x = 0; x = 0; x = x + 1; x = x + 2; x = 0; x = x + 3;Legal Schedule 3x = 0; x = 0; x = x + 1; x = 0; x = x + 2; x = x + 3;Illegal (d)

29 Two-Phase Locking (1) Aquisição e liberação de locks no algoritmo de two-phase locking.

30 Two-Phase Locking (2) Two-phase locking estrito – todos os locks são liberados ao mesmo tempo.

31 Ordenação com Marcas de Tempo Pessimista Controle de concorrência usando marcas de tempo.


Carregar ppt "Sistemas Distribuídos Sincronização e Coordenação Instituto de Informática – UFG Verão 2005 Baseado em: Tanenbaum, cap. 5."

Apresentações semelhantes


Anúncios Google