Roteiro. Introdução Sincronização de Relógio Físico Sincronização de Relógio Lógico Exclusão Mútua

Documentos relacionados
Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

2) Em relação aos algoritmos de sincronização de relógios:

SISTEMAS DISTRIBUÍDOS

Sistemas Distribuídos Capítulo 6 - Aula 10

Sincronização em Sistemas Distribuídos

Sistemas Distribuídos. Capítulo 6 - Aula 10

Sistemas Distribuídos. Ricardo Ribeiro dos Santos

Sistemas Distribuídos Capítulo 6 - Aula 12

Tempos e Estados Globais. ECO036 - Sistemas Paralelos e Distribuídos

Sistemas Distribuídos

Ordenação. Relógios lógicos

Sincronização de Relógios e Relógios Lógicos. Histórico da comunicação. Tempo Global. Mecanismos de ordenação total

Sistemas Distribuídos

Sistemas Distribuídos Aula 17

Sistemas Distribuídos Aula 13

Sistemas Distribuídos

Sistemas Distribuídos Estados globais. Vinícius Fernandes Soares Mota

Relógio Lógico Algoritmo de Lamport. Relógio Lógico Algoritmo de Lamport. Relógio Físico Algoritmo Centralizado. Relógio Físico Algoritmo Centralizado

Exclusão Mútua Distribuída. Algoritmos para eleição de um coordenador ou líder. UBI, DI, Paula Prata SDTF T04 1

Exclusão Mútua Distribuída. Algoritmos para eleição de um coordenador ou líder. UBI, DI, Paula Prata SDTF T04 1

Sincronização e Concorrência

Sincronização em Sistemas Distribuídos

SISTEMAS DISTRIBUÍDOS

Sistemas Distribuídos. Ricardo Ribeiro dos Santos

Sistemas Distribuídos Aula 16

Ordenação. Sistemas Distribuídos e Tolerância a Falhas. Universidade da Beira Interior 07/08

Sistemas Distribuídos Aula 15

Sincronização. Tempo e Relógios. Sincronização de Relógios - Algoritmo de Cristian - Algoritmo de Berkeley - Network Time Protocol

Algoritmos Distribuídos (deadlock) ALGORITMOS DISTRIBUÍDOS Deadlock. Algoritmos Distribuídos (deadlock) Algoritmos Distribuídos (deadlock)

Modelos Fundamentais de um SD. Modelo de Interação ou Sincronismo

Sistemas Distribuídos. 7 Coordenação e Acordo. Coordenação e Acordo. Prof a Ana Cristina B. Kochem Vendramin DAINF / UTFPR

Sincronização em Sistemas Distribuídos

Faculdade de Informática - PUCRS. Sistemas Distribuídos 2. Faculdade de Informática - PUCRS. Sistemas Distribuídos 4. Faculdade de Informática - PUCRS

Sistemas Distribuídos Exclusão Mútua. Edeyson Andrade Gomes

MC714 - Sistemas Distribuídos. Leandro Villas

Sistemas Distribuídos Capítulo 8 - Aula 13

Sistemas Distribuídos

Modelos Fundamentais. Introdução. Interação. Falhas. Segurança. Prof. Adriano Fiorese

Desenvolvimento de Aplicações Distribuídas

Sistemas Distribuídos. Aleardo Manacero Jr.

Tempo e Relógios. Sincronização de Relógios - Algoritmo de Cristian - Algoritmo de Berkeley - Network Time Protocol.

Sistemas Distribuídos Capítulo 8 - Aula 15

Aluísio Augusto Silva Gonçalves 17 de maio de 2018

Sistemas Distribuídos

Tempo e sincronização

SISTEMAS DISTRIBUÍDOS

Sistemas Distribuídos: Conceitos e Projeto

Sistemas Distribuídos. Capítulo 7 - Aula 16

ALGORITMOS DISTRIBUÍDOS Algoritmos de eleição

Sistemas Distribuídos

Sistemas Distribuídos

Algoritmos Distribuídos (exclusão mútua) ALGORITMOS DISTRIBUÍDOS Exclusão mútua. Algoritmos Distribuídos (exclusão mútua)

SISTEMAS DISTRIBUÍDOS

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Distribuídos Capítulo 8 - Aula 14

Sincronização. Sincronização de Relógios. Relógios Físicos

Modelos Fundamentais de um SD. Modelo de Interação ou Sincronismo

Sistemas Distribuídos

Fundamentos de Sistemas Operacionais

Introdução Tempo Lógico Relógios Lógicos de Lamport Relógios Lógicos Vetoriais. Prof a Ana Cristina B. Kochem Vendramin DAINF / UTFPR

MÓDULO 2 Topologias de Redes

Sincronização de relógios

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Distribuídos Aula 10

Configurar configurações de tempo no WAP125 e no WAP581

Sistemas Distribuídos

Sistemas Distribuídos e Redes de Sensores. abril de 2013

Sistemas Distribuídos

Comunicação entre processos (2)

Projeto de Sistemas Distribuídos. Considerações

APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar

PADI. Tempo em Sistemas Distribuídos PJPF, LAV INESC-ID/IST

Sincronização e Comunicação entre Processos. Adão de Melo Neto

Replicação. Cleide Luzia Bonfim Possamai 03/05/2018

Sincronização em Sistemas Distribuídos

Consistência. ncia. Sistemas Distribuídos e Tolerância a Falhas. Trabalho realizado por:

Introdução Sincronização Interna Sincronização Externa. Prof a Ana Cristina B. Kochem Vendramin DAINF / UTFPR

Estados globais. Capítulo 10: Visão geral. Estados globais. Estados globais. Estados globais. Estados globais

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Exclusão Mútua em Sistemas Distribuídos

Sistemas Distribuídos

Sistemas Distribuídos Sincronização de Relógios. Edeyson Andrade Gomes

Sistemas Operacionais. Universidade Federal de Minas Gerais. Aula 5. Implementação de Exclusão Mútua

Sistemas Distribuídos

Comunicação orientada a mensagens

Aula 9. Deadlocks. Caracterização Grafo de dependência Métodos de tratamento Detecção Recuperação. Universidade Federal de Minas Gerais

Cap. 06 Sincronização

Relógios Lógicos. Sumário. November 27, Relação Happened-Before. Relógios de Lamport. Relógios Vectoriais

Sistemas Distribuídos

Sistemas Distribuídos

Sincronização. Fernando Silva DCC-FCUP. Fernando Silva (DCC-FCUP) Sincronização 1 / 45

AULA 04 CONCEITOS DA CAMADA 02 PARTE 02

Fundamentos de Sistemas Operacionais

Sistemas Distribuídos

Topologias e abrangência de redes de computadores

ALGORITMOS DISTRIBUÍDOS Deadlock

Roteamento e Roteadores. Conceitos Diversos

Sistemas Distribuídos Aula 19

Transcrição:

Sincronização

Roteiro Introdução Sincronização de Relógio Físico Sincronização de Relógio Lógico Exclusão Mútua

Introdução A comunicação entre processos é importante, mas não é só isso que importa; Uma questão intimamente ligada a ela é o modo como processos cooperam e sincronizam uns com os outros Nessa aula iremos estudar os modos de como os processos podem sincronizar; Por exemplo, não é ideal que todos os processos acessem o mesmo recurso ao mesmo tempo (causaria deadlock);

Introdução Exemplos de sistemas que utilizam sincronização Sincronização de Relógio Físico Sincronização de Relógio Lógico Exclusão Mútua Entre outros

Relógio Físico Relógios físicos são imprecisos Eles são baseados na oscilação de cristais; Cada cristal tem a sua própria oscilação e são diferentes entre si; Como os computadores possui, cada um, um cristal, então, não há como terem a mesma hora

Relógio Físico Relógios atômicos são mais preciso, porém são mas caros; Nem todo mundo poderia ter um em casa; Solução: alguém oferece a hora do relógio atômico e os outros computadores atualizam dele.

Relógio Físico Protocolo de Tempo Real Em algumas atividades, é importante o relógio físico de todos os computadores estarem iguais; Como Funciona: Computador A consulta a hora no computador B Computador B inclui na resposta o valor do seu relógio Computador A atualiza o seu relógio com o valor do relógio em B adicionado ao retardo da mensagem entre B e A Desvantagem: Atrasos de mensagens farão com que a hora fornecida seja desatualizada

Relógio Físico Protocolo de Tempo Real - O computador B envia o tempo T3; - Para corrigir o tempo desatualizada, o computador A calcula soma o tempo recebido mais o tempo de espera (de T1 à t4) divido por dois (RTT/2); - Assim, ele consegue um valor próximo do valor real;

Relógio Físico Network Time Protocol (NTP) Algoritmos descentralizados permite atualizar a hora física em vários computadores, em diferentes regiões; Como Funciona: Organizado em uma estrutura hierárquica (em estratos) O estrato K + 1 sempre atualiza sua hora no estrato K Assim, todos os estratos serão atualizados no mesmo valor Desvantagem: Atrasos de mensagens farão com que a hora fornecida seja desatualizada; Essa hora desatualizada por se propagar em todos os estratos;

Relógio Físico Network Time Protocol (NTP) 1 estrato 2 estrato 3 estrato... E assim sucessivamente...

Relógio Físico Berkeley Em outros casos, é importante a hora está correta dentro de um grupo; Como funciona: O processo responsável pela sincronização é ativo; Ele pergunta aos outros processos o tempo; Depois que todo mundo responde, ele tira a média; Por fim, retorna a média para todo mundo ajustar; Desvantagem: Necessita que frequentemente um usuário informe manualmente a hora correta;

Relógio Físico Berkeley (a) Pergunta as outras máquinas a hora de cada uma; (b) Elas respondem; (c) Manda uma mensagem para ajustarem os relógios;

Relógio Lógico Há também os casos em que o tempo físico não é importante, o que prevalece é a ordem dos eventos (Tempo Relativo); Tempo relativo não possui nenhuma relação com o tempo real Determinar ordenação temporal de eventos que ocorrem em nodos diferentes, medidos por relógios diferente O mais importante é que os processos do Sistema Distribuído concordem com a ordem em que os eventos ocorrem Exemplos de algoritmos: Lamport Tempo Vetoriais (extensão de Lamport)

Relógio Lógico Lamport relação entre os eventos ( acontece antes de ) O importante é entender a relação entre os eventos: a aconteceu antes de b : a b Se a e b são eventos do mesmo processo e a é executado antes de b, então a b ex. a representa o envio de uma mensagem, enquanto b representa o recebimento dessa mensagem, logo, a b A relação acontece antes é transitiva; Se a b e b c, então a c Se a e b são eventos concorrentes (a b), não podemos afirma que: a b (a acontece antes b) e nem b a (b acontece antes de a)

Relógio Lógico Lamport relógio lógico Outro ponto importante é o conceito de Relógio Lógico (sempre crescente); Cada processo possui um Relógio Lógico; Para cada evento a, possamos designar um valor de tempo C(a) com o qual todos os processos concordam; Esses valores de tempo devem ter a propriedade de se a b, ou seja, C(a) < C(b);

Relógio Lógico Lamport Como funciona: Ci é incrementado de 1 antes de cada evento no processo Pi; Quando um processo Pi envia mensagem m, o tempo t = Ci é anexado a mensagem Quando Pj recebe a mensagem (e o tempo), o relógio é atualizado para Cj = max(cj, t) antes de aplicar 1) Desvantagem: Não existe a descrição de eventos casuais, todos tem que ser ordenados (o que na realidade, não é assim que ocorre);

Relógio Lógico Lamport (a) três processos, cada um com seu próprio relógio lógico; os relógios funcionam a uma taxa Diferente; (b) O algoritmo de Lamport corrige os relógios;

Relógio Lógico Lamport Exemplo - Consistência de dado

Relógio Lógico Tempo Vetoriais Vetores com marcas de tempo são usados para os eventos locais em cada processo Vetor de relógios VCi no processo Pi é um vetor de N inteiros Onde N é o número de processos existentes Seja VCi [I] o número de eventos ocorridos em Pi até o instante de tempo em questão Seja VCi [j], o número de eventos que ocorreram em Pj, portanto Pi sabe quantos eventos ocorreram em Pj

Relógio Lógico Tempo Vetoriais Como funciona: Inicialmente CVi[j] = 0 for i, j = 1, 2,...N antes de cada evento, pi executa CVi[i] := CVi[i] +1 pi envia t = CVi em cada mensagem transmitida quando pi recebe (m,t), o processo ajusta CVi[j] = max(cvi[j], t[j]) j = 1, 2,...N (antes do próximo evento adiciona 1 ao seu próprio contador de eventos) Desvantagem: Pode ocorrer problemas de eficiência, porque mensagens podem ser retiras até quando as outras (atrasadas) chegarem; Nem todas as causalidades podem ser capturadas;

Relógio Lógico Tempo Vetoriais P0 P1 (1,0,0) (1,1,0) (1,1,0) P2 (0,0,0) (1,0,0) (1,1,0) (1) o processo P0 envia uma mensagem em multicast; (2) No entanto, uma a mensagem para o processo 2 chegará mais tarde (atrasada); (3) Enquanto isso, o processo P1, ao receber a mensagem, envia outra em broadcast; (4) O processo P0 recebe a mensagem corretamente, no entanto, o processo P2 não; (5) O processo P2 atrasa a mensagem e só irá libera quando receber a mensagem de P0; (6) Assim, todos processam as mensagens na mesma ordem;

Exclusão Mútua Necessita ordenar o acesso a um recurso, ou seja, ideal para: Evita deadlock; Permitir que todos os processos tenham acesso ao recurso; Há duas soluções: Baseados em Ficha Token Ring Baseada em Permissão Centralizada Distribuída

Exclusão Mútua Token Ring Como funciona: Os processos são organizados em um anel lógico; É criado um único token que permite o acesso ao recurso; Esse token circula entre os processos que fazem parte do anel lógico; Quando o processo recebe o token, ele decide se: Deseja utilizar o recurso e só repassa quando concluir a sua atividade, ou; Repassar o token para o próximo da vez; Desvantagem: Caso o processo com o token caia (por algum motivo), o token para se circular, portanto ninguém consegue mas acessar o recurso;

Exclusão Mútua Token Ring (a) Os computadores em grupo não estão ordenados; (b) Um anel é construído em um software; O token vai passando por cada processo; - caso o processo não utilize, ele repassa para o processo; - Caso utilize o recurso, ele só repassa depois que concluir a sua atividade;

Como funciona: Exclusão Mútua Centralizado Existe um processo exclusivo (o coordenador) para dá permissão de acesso ao recurso a outros processos Quando um processo requisição, caso: ninguém esteja utilizado o recurso, o coordenador libera o acesso Tenha alguém utilizado, o coordenador só libera o acesso ao recurso quando estiver livre; Desvantagem: O coordenador é um ponto de falha;

Exclusão Mútua Centralizado (a) O processo 1 solicita ao coordenador permissão para acessar um recurso compartilhado. A permissão é concedida. (b) Depois, o processo 2 solicita acesso o mesmo recurso. O coordenador não responde. (c) Quando o processo 1 libera o recurso, informa ao coordenador, que então responde para a 2.

Exclusão Mútua Distribuído Como funciona: Um processo pergunta (com um número) aos outros (e a ele mesmo) se pode acessar um recurso e aguarda pela resposta de todos*; Quando um processo recebe uma mensagem, ele pode retorna uma mensagem OK quando não quer utiliza o recurso; No entanto, caso queira acessar o recurso, ele compara se o número da sua mensagem é menor do que a da mensagem que acada de receber: Caso seja menor, ele não responde e acessa o recurso; Caso não seja, ele envia a mensagem OK e espera para ser liberado; Desvantagem: Um processo envia e recebe um grande número de mensagens; Caso um processo saia da rede e outro aguarda pela resposta; *E só irá acessar o recurso quando todos os processos responderem com a mensagem OK;

Exclusão Mútua Distribuído (a) dois processos querem acessar o mesmo recurso simultaneamente; (b) o tempo do processo 0 é o mais baixo, portanto vence; (c) Quando o processo 0 conclui, envia a mensagem OK, liberando o processo 2;

Outros Funções Sincronização de informação também é utilizada em outras áreas; A exemplo de Posicionamento de Nó; GPS; E também em Algoritmos de Eleição de Nós; LEACH;