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

Tamanho: px
Começar a partir da página:

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

Transcrição

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

2 2 Tópicos Tempo e relógio lógicos (revisão curta) Relógios vetoriais Estados Globais Snapshot distribuído

3 3 Antes... Por que a sincronização do relógio do computador é necessária?

4 4 Tempo lógico e relógio lógico Principais propriedades de um algoritmo distribuído: Informações são distribuídas pelos vários nodos do sistema Processos tomam decisões baseados apenas nas informações locais Sem um ponto único de falhas Não existe um relógio global a todo sistema

5 5 Relação Happens-Before Notação: A B Lê-se que A ocorreu antes de B Significado: todos os processos do sistema concordam que primeiro ocorreu o evento A e então o evento B Eventos que não são ordenados pela relação são ditos concorrentes. Notação: A \\ B

6 Implementação da Relação Happens-Before 6 Algoritmo de Lamport Utiliza o conceito de relógio lógico (C): Inteiro monotonicamente crescente armazenado em cada nodo Incrementado a cada evento Implementação do conceito de relógio lógico: Se A B então C(A) < C(B) O contrário não precisa ser verdadeiro

7 7 Atualização de Relógio Lógico Relógio (Cp) é incrementado antes de cada evento de (P). Quando P envia uma mensagem M para Q, insere um timestamp t= Cp Quando Q recebe (M, t), então Cq:= max (Cq, t) + 1 (garante-se assim que Cp < Cq)

8 Ocorrência de eventos nos processos P1, P2 e P3 8 p 1 a b m 1 p 2 c d m 2 Tempo Físico p 3 e f

9 Rótulos de tempo do Algoritmo de Lamport para ordenação de eventos p 1 a b m 1 p c d m 2 Tempo Físico p 3 1 e f 5

10 10 Relógios Vetoriais Um relógio lógico estabelece uma ordem total de todos os eventos, mesmo quando dois eventos são incomparáveis utilizando a relação happened-before. Embora os relógios lógicos não conseguem tratar toda a informação sobre a relação happened before. Vamos descrever um mecanismo chamado de vetor de relógios capaz de abranger toda a informação sobre a relação happened-before

11 11 Relógios Vetoriais Proposto por Mattern and Fidge, cada processo incrementa seu próprio relógio vetorial, e após isso envia junto com a mensagem uma cópia de seu relógio vetorial. No recebimento da mensagem, atualiza os valores do relógio vetorial para o máximo de cada um.

12 12 Relógios Vetoriais

13 13 Estado Global Estado global capta o conjunto de eventos que foram executados até o momento. Em sistemas distribuídos é complicado avaliar o estado global, é preciso cuidado ao se estabelecer o que ocorreu durante a execução. São utilizados para resolver muitos problemas em sistemas distribuídos.

14 14 Estado Global - Problemas Coleta de lixo distribuída: um objeto é considerado lixo se não existem mais referências a ele em nenhuma parte do sistema distribuído. Detecção de deadlock distribuída: um deadlock distribuído ocorre quando cada processo de uma coleção de processos espera que outro envie uma mensagem para o outro. Detecção de término distribuída: detectar se um algoritmo distribuído terminou.

15 15 Estado Global - Problemas

16 16 Estado Global Consistente Para achar estados globais consistentes é utilizado uma técnica de corte. Este corte é uma divisão na execução do sistema, ou seja é um subconjunto do histórico global. Eventos à direita do corte estão fora do estado global e eventos à esquerda do corte estão dentro do estado global. Corte podem ser: Consistentes: obedecem causalidade; Insconsistentes: não obedecem causalidade.

17 17 Estado Global Consistente Histórico local do processo i: h i = < e 0, e 1, e 2,..> Histórico global : H = h 0 h 1... h N-1

18 18 Estado Global Consistente e 1 0 e 1 1 e 1 2 e 1 3 p 1 m 1 m 2 p 2 e 2 0 e 2 1 e 2 2 Tempo físico Corte insconsitente Corte consistente

19 19 Estado Global Consistente e 1 0 e 1 1 e 1 2 e 1 3 p 1 m 1 m 2 p 2 e 2 0 e 2 1 e 2 2 Tempo físico Corte insconsitente Corte consistente O corte da esquerda é inconsistente porque, em p2, ele inclui a recepção da mensagem m1, mas p1 não inclui o envio dessa mensagem. Isso está mostrando um efeito sem causa.

20 20 Estado Global Consistente e 1 0 e 1 1 e 1 2 e 1 3 p 1 m 1 m 2 p 2 e 2 0 e 2 1 e 2 2 Tempo físico Corte insconsitente O corte da direita é consistente. Ele inclui tanto o envio como a recepção da mensagem m1. Ele inclui o envio, mas não a recepção da mensagem m2. Isso é consistente com a execução real afinal, a mensagem levou algum tempo para chegar. Corte consistente

21 21 Algoritmo snapshot distribuído Algoritmo de Chandy e Lamport (1985). Determina estados globais consistentes em sistemas distribuídos. Permite avaliar predicados estáveis. Características instáveis em relação a um objeto: possui lixo, estar em deadlock ou estar terminado. Qualquer processo pode inciar o snapshot. Vários snapshots podem estar executando em paralelo.

22 22 Premissas do algoritmo n processos no sistema. Cada canal de comunicação é unidirecional com entrega FIFO. FIFO: mensagem enviada primeiro é recebida primeiro. Não existe falha no envio de mensagens. Todas mensagens chegam intactas (sem perda de informação) e não são duplicadas. Processos continuam a executar normalmente durante o snapshot.

23 23 Algoritmo de Chandy e Lamport Definido por meio de duas regras Regra de recepção de marcador Regra de envio de marcador Ideia Básica cada processo registra seu estado e, também, para cada canal de entrada, um conjunto de mensagens recebidas nele. Para cada canal, o processo grava as mensagens que chegaram depois dele ter gravado seu estado e antes que o remetente tenha gravado seu próprio estado. Essa organização permite gravar os estados dos processos em diferentes momentos

24 24 Algoritmo de Chandy e Lamport Regra de recepção de marcador Na recepção pi de uma mensagem de marcador pelo canal c: if (pi ainda não tiver gravado seu estado) ele grava seu estado de processo atual; grava o estado de c como o conjunto vazio; ativa a gravação de mensagens que chegam por outros ; else pi grava o estado de c como o conjunto de mensagens recebidas por c desde que salvou seu estado. end if

25 25 Algoritmo de Chandy e Lamport Regra de envio de marcador Após pi ter gravado seu estado, para cada canal de saída c: pi envia uma mensagem de marcador por c (antes de enviar qualquer outra mensagem por c).

26 Algoritmo em ação 26 p S p 0 S p 1 S p 2 S p 3 m 1 m 2 m 3 q Sq 0 S q 1 S q 2 S q 3

27 Algoritmo em ação 27 q grava seu estado S q1, envia marcador para p p S p 0 S p 1 S p 2 S p 3 m 1 m 2 m 3 q Sq 0 S q 1 S q 2 S q 3

28 Algoritmo em ação 28 p grava seu estado como S p2, estado do canal vazio p S p 0 S p 1 S p 2 S p 3 m 1 m 2 m 3 q Sq 0 S q 1 S q 2 S q 3

29 Algoritmo em ação 29 q grava seu estado como m 3 p S p 0 S p 1 S p 2 S p 3 m 1 m 2 m 3 q Sq 0 S q 1 S q 2 S q 3

30 Algoritmo em ação 30 Estado Global = ((S p2, S q1 ), (0,m 3 ) ) p S p 0 S p 1 S p 2 S p 3 m 1 m 2 m 3 q Sq 0 S q 1 S q 2 S q 3

31 31 Por que é consistente? Prova: se recv(m) foi gravado entãosend(m) também foi gravado M m p q

32 32 Algoritmo de Chandy e Lamport O algoritmo seleciona um corte a partir do histórico da execução. O corte e, portanto, o estado gravado por esse algoritmo, são consistentes.

33 33 Algoritmo de Chandy e Lamport p 1 (1,0) (2,0) (3,0) (4,3) x 1 = 1 x 1 = 100 x 1 = 105 x 1 = 90 m 1 m 2 p 2 x 2 = 100 x 2 = 95 x 2 = 90 (2,1) (2,2) (2,3) Corte C Physical time O envio dos estados em forma de um relógio vetorial

34 34 Um exemplo mais completo P1 Inicia o processo Marca o estado como S1 Envia Marcador para P2 e P3 Abre canal para esperar resposta de p2 e p3 C21 e C31

35 35 Um exemplo mais completo S1, aguarda respostas C21 e C31 Primeiro marcador Marca estado como S3 Canal C13 vazio (recebeu marcador do P1) Envia marcador para P2 Aguarda resposta de P2 cana C23

36 36 Um exemplo mais completo S1, aguarda respostas C21 e C31 S3 C13 = <> Aguarda C23

37 37 Um exemplo mais completo S1, aguarda C21 e C31 Marcador duplicado C31 = <> S3 C13 = <> Aguarda C23

38 38 Um exemplo mais completo S1, aguarda C21 e C31 C31 = <> S3 C13 = <> Aguarda C23 S2 C32 = <> Aguarda C12

39 39 Um exemplo mais completo S1, aguarda C21 e C31 C31 = <> Duplicado S3 C13 = <> Aguarda C23 S2 C32 = <> Aguarda C12

40 40 Um exemplo mais completo S1, aguarda C21 e C31 C31 = <> Duplicado S3 C13 = <> Aguarda C23 S2 C32 = <> Duplicado C23= D f

41 41 Snapshot S1, aguarda C21 e C31 C31 = <> Duplicado S3 C13 = <> S2 C32 = <> C13 =<> Duplicado C23= D f

42 42 Snapshot S1, aguarda C21 e C31 C31 = <> C21 = <> Duplicado S3 C13 = <> S2 C23 = <> C13 =<> Duplicado C23= D f

43 43 Estados finais S1 C21 =<>, C31 =<> S2 C12 = <>, C32 = <> S3 C13 = <>, C23 = d f

44 44 Questões Tempo e relógios Vinícius Fernandes Soares Mota

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

Tempos e Estados Globais. ECO036 - Sistemas Paralelos e Distribuídos Tempos e Estados Globais ECO036 - Sistemas Paralelos e Distribuídos Tópicos Abordados - Tempo - Relógios e Ordenação de eventos. - Relação Happened- Before - Relógios Lógicos - Vetor de Relógios - Relógios

Leia mais

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

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Sincronização - Relógios Lógicos Capítulo 6 Agenda Relógios Lógicos Relógios de Lamport Relógios Vetoriais Algumas definições... Um sistema distribuído

Leia mais

Sistemas Distribuídos Capítulo 6 - Aula 10

Sistemas Distribuídos Capítulo 6 - Aula 10 Sistemas Distribuídos Capítulo 6 - Aula 10 Aula de hoje Introdução ao problema de sincronização Relógios Físicos Algoritmos de Sincronização Aula de hoje Relógios Lógicos Relógios de Lamport Relógios Vetoriais

Leia mais

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

Estados globais. Capítulo 10: Visão geral. Estados globais. Estados globais. Estados globais. Estados globais Capítulo 10: Visão geral Noções iniciais: tempo em SD, drift, skew, UTC Sincronização de relógios físicos Tempo lógico e relógios lógicos Definição de tempo lógico Relógios lógicos de Lamport Relógios

Leia mais

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

Relógios Lógicos. Sumário. November 27, Relação Happened-Before. Relógios de Lamport. Relógios Vectoriais Relógios Lógicos November 27, 29 Sumário Relação Happened-Before Relógios de Lamport Relógios Vectoriais Eventos Nem sempre é necessário ter relógios sincronizados: Muitas vezes, é suficiente estabelecer

Leia mais

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

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Consistência Causal(3) Neste exemplo temos uma sequência de eventos permitida quando o depósito é consistente por causalidade, mas proibida quando

Leia mais

Sistemas Distribuídos. Ricardo Ribeiro dos Santos

Sistemas Distribuídos. Ricardo Ribeiro dos Santos Sistemas Distribuídos Ricardo Ribeiro dos Santos ricrs@ec.ucdb.br Curso de Engenharia de Computação UCDB Setembro/2003 Tópicos Sincronização em Sistemas Distribuídos Sincronização de Relógio Estados Globais

Leia mais

Ordenação. Relógios lógicos

Ordenação. Relógios lógicos Ordenação Relógios lógicos 1 Índice Ordenação FIFO Ordenação Causal Ordenação Total Algoritmos Tempo Lógico Relógios Lógicos Relógios Vectoriais 2 Introdução Ordenação Objectivo Determinar à posteriori

Leia mais

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

Roteiro. Introdução Sincronização de Relógio Físico Sincronização de Relógio Lógico Exclusão Mútua 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

Leia mais

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

Modelos Fundamentais. Introdução. Interação. Falhas. Segurança. Prof. Adriano Fiorese Modelos Fundamentais Introdução Interação Falhas Segurança 1 Introdução Como entender/classificar o comportamento de um sistema: Quais são as principais entidades do sistema? Como elas interagem? Quais

Leia mais

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

Aluísio Augusto Silva Gonçalves 17 de maio de 2018 CONSISTÊNCIA E CONSENSO CONSTRUINDO SISTEMAS DISTRIBUÍDOS TOLERANTES A FALHAS Aluísio Augusto Silva Gonçalves 17 de maio de 2018 CONTEÚDO Recapitulando Garantias de consistência Linearizabilidade Garantias

Leia mais

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

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 n n n n 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 Introdução Princípios: Vistos de um processo, os eventos são

Leia mais

Sistemas Distribuídos Aula 15

Sistemas Distribuídos Aula 15 Sistemas Distribuídos Aula 15 Aula passada Relacionando eventos Relógios lógicos Algoritmo de Lamport Propriedades Aula de hoje Limitação de Lamport Relógio de vetores Propriedades Garantindo ordenação

Leia mais

SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUÍDOS SISTEMAS DISTRIBUÍDOS Capítulo 8 Introdução à replicação e consistência Material de suporte às aulas de Sistemas Distribuídos Copyright DI FCT/ UNL / 1 NOTA PRÉVIA A apresentação utiliza algumas das figuras

Leia mais

Sistemas Distribuídos Aula 16

Sistemas Distribuídos Aula 16 Sistemas Distribuídos Aula 16 Aula passada Relacionando eventos Relógios lógicos Algoritmo de Lamport Propriedades Aula de hoje Limitação de Lamport Relógio de vetores Propriedades Garantindo ordenação

Leia mais

SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUÍDOS SISTEMAS DISTRIBUÍDOS Sincronização Slide 7 Nielsen C. Damasceno Introdução Utilizando Sistemas Distribuídos, uma grande dificuldade que temos é como garantir o acesso exclusivo a um recurso compartilhado,

Leia mais

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

Consistência. ncia. Sistemas Distribuídos e Tolerância a Falhas. Trabalho realizado por: Sistemas Distribuídos e Tolerâ a Falhas Consistê Trabalho realizado por: Gonçalo Dias, Nº. 14638 João Tavares, Nº 14888 Rui Brás, Nº 14820 Consistê Índice Consistent Global States; Distributed Consensus;

Leia mais

SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUÍDOS SISTEMAS DISTRIBUÍDOS Capítulo 7 - Tempo e ordenação de eventos Material de suporte às aulas de Sistemas Distribuídos Copyright DI FCT/ UNL / 1 NOTA PRÉVIA A estrutura da apresentação é semelhante e utiliza

Leia mais

Sistemas Distribuídos Capítulo 8 - Aula 15

Sistemas Distribuídos Capítulo 8 - Aula 15 Sistemas Distribuídos Capítulo 8 - Aula 15 Aula de hoje Aula Passada Comunicação Confiável Cliente-Servidor Comunicação Confiável de Grupo Comunicação Confiável de Grupo Multicast Atômico Sincronia Virtual

Leia mais

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

Ordenação. Sistemas Distribuídos e Tolerância a Falhas. Universidade da Beira Interior 07/08 Ordenação Sistemas Distribuídos e Tolerância a Falhas Universidade da Beira Interior 07/08 Benjamim Marques M1440 Daniel Félix M1441 João Duarte a14951 Índice Introdução Problema FIFO Ordenação Causal

Leia mais

Desenvolvimento de um Middleware Distribuído para Ordenação de Mensagens Segundo os Algoritmos FIFO, Causal e Total

Desenvolvimento de um Middleware Distribuído para Ordenação de Mensagens Segundo os Algoritmos FIFO, Causal e Total Desenvolvimento de um Middleware Distribuído para Ordenação de Mensagens Segundo os Algoritmos FIFO, Causal e Total Rafael da Rosa Righi 1, Rodrigo da Rosa Righi 2 1 Laboratório de Redes e Gerência (LRG)

Leia mais

Sincronização em Sistemas Distribuídos

Sincronização em Sistemas Distribuídos Sincronização em Sistemas Distribuídos Universidade Federal do ABC Turma: Ciência da Computação Prof. Dr. Francisco Isidro Massetto Sincronização Como as regiões críticas são implementadas em um SD? Como

Leia mais

Sincronização em Sistemas Distribuídos

Sincronização em Sistemas Distribuídos Sincronização em Sistemas Distribuídos problemas clássicos ordenação de mensagens exclusão mútua distribuída eleição de líder... transações ordenação de acontecimentos relógio físico dificuldades relógio

Leia mais

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 Exclusão Mútua Distribuída Algoritmos para eleição de um coordenador ou líder 1 Há situações em que os processos de um sistema distribuído necessitam de coordenar as suas ações: - quando há recursos partilhados,

Leia mais

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

Sincronização e Comunicação entre Processos. Adão de Melo Neto Sincronização e Comunicação entre Processos Adão de Melo Neto 1 INTRODUÇÃO Em um sistema multitarefa os processos alternam sua execução segundo critérios de escalonamento estabelecidos pelo sistema operacional.

Leia mais

falhas em sistemas distribuídos

falhas em sistemas distribuídos Tolerância a Falhas falhas em sistemas distribuídos Lamport: A distributed system is a system where I can t get any work done if a machine I ve never heard of crashes. sistemas distribuídos e falhas parciais

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Deadlocks Referência Sistemas operacionais modernos Andrew S. TANENBAUM Prentice-Hall, 1995 Seção 11.5 pág. 340-344 2 Conteúdo Detecção de deadlock distribuído Detecção centralizada

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Comunicação em Grupo abril de 2017 Grupos em Aplicações Distribuídas Primitiva de comunicação em grupo um processo envia uma mensagem para um grupo de processos e todos os destinatários

Leia mais

Sistemas Distribuídos Capítulo 6 - Aula 12

Sistemas Distribuídos Capítulo 6 - Aula 12 Sistemas Distribuídos Capítulo 6 - Aula 12 Aula Passada Relógios Lógicos Relógios de Lamport Relógios Vetoriais Aula de hoje Exclusão Mútua Algoritmos de Eleição 1 Exclusão Mútua - Questão fundamental

Leia mais

SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUÍDOS SISTEMAS DISTRIBUÍDOS Capítulo 7 - Tempo e ordenação de eventos Material de suporte às aulas de Sistemas Distribuídos Copyright DI FCT/ UNL / 1 NOTA PRÉVIA A estrutura da apresentação é semelhante e utiliza

Leia mais

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 Exclusão Mútua Distribuída Algoritmos para eleição de um coordenador ou líder 1 Suponhamos N processos, pi, i=1,2,,n que não partilham variáveis, mas que partilham algum recurso partilhado ao qual devem

Leia mais

Sistemas Distribuídos Aula 17

Sistemas Distribuídos Aula 17 Sistemas Distribuídos Aula 17 Aula passada Garantindo ordenação total Relógio de vetores Propriedades Aula de hoje Exclusão mútua Algoritmo centralizado Algoritmo de Lamport Token Ring Exemplo Bancário

Leia mais

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

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Comunicação Confiável de Grupo Capítulo 8 Comunicação Confiável de Grupo Camadas de Transporte oferecem comunicação ponto-a-ponto confiável (TCP)

Leia mais

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

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 Relógio Lógico Algoritmo de Lamport Objetivo: Sincronização de clocks lógicos Os tempos associados aos eventos não são necessariamente próximos ao tempo real. Os processos não precisam estar de acordo

Leia mais

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

Sincronização e Comunicação entre Processos. Adão de Melo Neto Sincronização e Comunicação entre Processos Adão de Melo Neto 1 MOTIVAÇÃO 2 INTRODUÇÃO Em um sistema multiprogramado (concorrente) os processos alternam sua execução (ou seja, são executados alternadamente

Leia mais

Exclusão Mútua em Sistemas Distribuídos

Exclusão Mútua em Sistemas Distribuídos Exclusão Mútua em Sistemas Distribuídos Recurso deve ser utilizado por apenas um processo de cada vez, com garantia de justiça ausência de deadlock ausência de livelock Premissas: processos não falham

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Sincronização de relógios lógicos Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José mello@ifsc.edu.br http://docente.ifsc.edu.br/mello 26 de

Leia mais

Algoritmos Distribuídos. AD Algoritmos Básicos 1

Algoritmos Distribuídos. AD Algoritmos Básicos 1 Algoritmos Distribuídos Algoritmos Básicos Antonio Alfredo Ferreira Loureiro loureiro@dcc.ufmg.br http://www.dcc.ufmg.br/~loureiro Este material está baseado no capítulo 4 do livro An Introduction to Distributed

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Faculdades SENAC Análise e Desenvolvimento de Sistemas 1 de agosto de 2009 Modelo de Interação (Clocks e Eventos) Em SDs é difícil estabelecer limites de tempo sobre o tempo tomado para execução de processos,

Leia mais

Comunicação orientada a mensagens

Comunicação orientada a mensagens Comunicação orientada a mensagens críticas a RPC sincronismo modelo um a um dificuldades de tratamento de falhas Þ volta ao modelo de troca de mensagens com diferentes níveis de abstração Sistemas de mensagens

Leia mais

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

Sistemas Distribuídos Exclusão Mútua. Edeyson Andrade Gomes Sistemas Distribuídos Exclusão Mútua Edeyson Andrade Gomes www.edeyson.com.br Roteiro da Aula Introdução Coordenação e Acordo Suposição de Falhas Exclusão Mútua Algoritmos Centralizado Distribuído Anel

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Exclusão Mútua Referência Sistemas operacionais modernos Andrew S. TANENBAUM Prentice-Hall, 1995 Seção 11.2 pág. 325-329 Conteúdo Algoritmo centralizado Algoritmo distribuído (Algoritmo

Leia mais

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

Sistemas Distribuídos. 7 Coordenação e Acordo. Coordenação e Acordo. Prof a Ana Cristina B. Kochem Vendramin DAINF / UTFPR Sistemas Distribuídos 7 Coordenação e Acordo n Coordenação e Acordo Prof a Ana Cristina B. Kochem Vendramin DAINF / UTFPR Exclusão Mútua Evitar interferência entre um conjunto de processos e garantir a

Leia mais

BDII SQL TRANSAÇÃO Revisão 2

BDII SQL TRANSAÇÃO Revisão 2 exatasfepi.com.br BDII SQL TRANSAÇÃO Revisão 2 André Luís Duarte Honra a teu pai e a tua mãe (que é o primeiro mandamento com promessa), para que te vá bem, e sejas de longa vida sobre a terra.(ef 6:2,3)

Leia mais

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

Sistemas Distribuídos. Capítulo 7 - Aula 16 Sistemas Distribuídos Aula Passada Capítulo 7 - Aula 16 Comunicação Confiável de Grupo Multicast Atômico Sincronia Virtual Ordenação de Mensagens Recuperação Aula de hoje Modelos de Consistência Protocolos

Leia mais

Tolerância a Falhas. Reliable Broadcast e Atomic Commitment. June 2, 2010

Tolerância a Falhas. Reliable Broadcast e Atomic Commitment. June 2, 2010 Tolerância a Falhas Reliable Broadcast e Atomic Commitment June 2, 2010 Sumário Difusão/Multicast Fiável Multicast Fiável em Grupos Dinâmicos Multicast: Aplicação à Replicação Atomic Commitment Two-phase

Leia mais

Sincronização e Comunicação entre Processos

Sincronização e Comunicação entre Processos Sincronização e Comunicação entre Processos Monitores/Semáforos Semáforos Mecanismos de sincronização nãoestruturados; Exige do desenvolvedor bastante cuidado, pois qualquer engano pode levar a problemas.

Leia mais

Programação Distribuída

Programação Distribuída Unidade 4 Programação Distribuída Transações Distribuídas O que são? São sistemas compostos por diversas partes cooperantes que são executadas em máquinas diferentes interconectadas por uma rede Exemplos

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Comunicação em Grupo maio de 2017 Grupos em Aplicações Distribuídas grupos fortemente acoplados: replicação de serviços confiabilidade tempo de resposta clientes com estado compartilhado

Leia mais

Medida do Tempo de Execução de um Programa. Bruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP

Medida do Tempo de Execução de um Programa. Bruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP Medida do Tempo de Execução de um Programa Bruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP Medida do Tempo de Execução de um Programa O projeto de algoritmos é fortemente influenciado pelo estudo

Leia mais

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

2) Em relação aos algoritmos de sincronização de relógios: Curso: REDES Disciplina: SISTEMAS DISTRIBUÍDOS Professor (a): MARCELA SANTOS Data da Aplicação: 23 de maio de 2010 Teste referente à AV2 Nota: Visto do Professor (a): Nome: 1) Sistemas monoprocessados

Leia mais

Análise de Algoritmos

Análise de Algoritmos Análise de Algoritmos Parte 1 Prof. Túlio Toffolo http://www.toffolo.com.br BCC202 Aula 04 Algoritmos e Estruturas de Dados I Qual a diferença entre um algoritmo e um programa? Como escolher o algoritmo

Leia mais

Redes de Computadores III / /

Redes de Computadores III / / Redes de Computadores III / / Aula : Algoritmo Vetor de Distância Professor: Eraldo Silveira e Silva eraldo@ifsc.edu.br 1 Objetivos da Aula Apresentar o algoritmo vetor de distâncias; Discutir algumas

Leia mais

Tolerância a Falhas com Máquinas de Estado

Tolerância a Falhas com Máquinas de Estado Sistemas Distribuídos junho de 2013 Histórico Lamport,1984: Using time instead of timeout for fault tolerance in distributed systems Schneider, 1990: Implementing Fault-Tolerant Services using the State

Leia mais

Medida do Tempo de Execução de um Programa. David Menotti Algoritmos e Estruturas de Dados II DInf UFPR

Medida do Tempo de Execução de um Programa. David Menotti Algoritmos e Estruturas de Dados II DInf UFPR Medida do Tempo de Execução de um Programa David Menotti Algoritmos e Estruturas de Dados II DInf UFPR Medida do Tempo de Execução de um Programa O projeto de algoritmos é fortemente influenciado pelo

Leia mais

Introdução Aplicações Concorrentes Especificação de Concorrência em Programas Problemas de Compartilhamento de Recursos Exclusão Mútua Sincronização

Introdução Aplicações Concorrentes Especificação de Concorrência em Programas Problemas de Compartilhamento de Recursos Exclusão Mútua Sincronização Sincronização e Comunicação entre Processos Introdução Aplicações Concorrentes Especificação de Concorrência em Programas Problemas de Compartilhamento de Recursos Exclusão Mútua Sincronização Condicional

Leia mais

1- Replicação de Dados - A replicação de dados permite lidar com falhas ao nível dos nós que impeçam o acesso

1- Replicação de Dados - A replicação de dados permite lidar com falhas ao nível dos nós que impeçam o acesso 1- Replicação de Dados - A replicação de dados permite lidar com falhas ao nível dos nós que impeçam o acesso aos dados neles armazenados e com falhas ao nível da comunicação de dados. - Na replicação

Leia mais

Programação Paralela e Distribuída Lista de Exercícios P2 2008/1

Programação Paralela e Distribuída Lista de Exercícios P2 2008/1 Programação Paralela e Distribuída Lista de Exercícios P2 2008/1 Sincronização de Relógio Questão 1 Explique por que existe a necessidade de sincronização de relógio em sistemas distribuídos. Questão 2

Leia mais

Sistemas Distribuídos: Conceitos e Projeto

Sistemas Distribuídos: Conceitos e Projeto Sistemas Distribuídos: Conceitos e Projeto Relógios Francisco José da Silva e Silva Laboratório de Sistemas Distribuídos (LSD) Departamento de Informática / UFMA http://www.lsd.deinf.ufma.br 11 de junho

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Transações atômicas Conteúdo O modelo transacional Armazenamento estável Primitivas transacionais Propriedades das transações Transações aninhadas Implementação Área de trabalho privada

Leia mais

Coleta de Lixo para Protocolos de Checkpointing Rodrigo Malta Schmidt. Dissertação de Mestrado

Coleta de Lixo para Protocolos de Checkpointing Rodrigo Malta Schmidt. Dissertação de Mestrado Coleta de Lixo para Protocolos de Checkpointing Rodrigo Malta Schmidt Dissertação de Mestrado i ii Instituto de Computação Universidade Estadual de Campinas Coleta de Lixo para Protocolos de Checkpointing

Leia mais

Sistemas Distribuídos. abril de 2015

Sistemas Distribuídos. abril de 2015 Sistemas Distribuídos abril de 2015 Motivação tolerância a falhas disponibilidade desempenho proximidade divisão da carga de trabalho: escalabilidade Consistência Se várias copias de um serviço estão disponíveis,

Leia mais

Sistemas Distribuídos Aula 2

Sistemas Distribuídos Aula 2 Sistemas Distribuídos Aula 2 Aula passada Logísitica Regras do jogo Definição e características Exemplos Aula de hoje Processos IPC Características Ex. sinais, pipes, sockets Objetivos Processos O que

Leia mais

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

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Consistência e Replicação Capítulo 7 Agenda Distribuição de Conteúdo Estado versus operações Protocolos de recuperação de atualizações versus protocolos

Leia mais

Análise e Complexidade de Algoritmos

Análise e Complexidade de Algoritmos Análise e Complexidade de Algoritmos Métodos de busca - seqüêncial - binária Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com http://www.bolinhabolinha.com Onde Estamos Ementa Revisão: Estrutura de dados;crescimento

Leia mais

falhas em sistemas distribuídos

falhas em sistemas distribuídos Tolerância a Falhas falhas em sistemas distribuídos Lamport: A distributed system is a system where I can t get any work done if a machine I ve never heard of crashes. sistemas distribuídos e falhas parciais

Leia mais

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

Modelos Fundamentais de um SD. Modelo de Interação ou Sincronismo Modelos Fundamentais de um SD Modelo de Falhas/Avarias Modelo de Interação ou Sincronismo Modelo de Segurança 1 Recordando. Modelo de Avarias: Caracteriza o sistema em termos das falhas/avarias, i.e.,

Leia mais

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

PADI. Tempo em Sistemas Distribuídos PJPF, LAV INESC-ID/IST PADI Tempo em Sistemas Distribuídos 2005-14 PJPF, LAV INESC-ID/IST 1 Índice Introdução Relógios, eventos, estados de processos Sincronização de relógios físicos Tempo lógico Relógios lógicos Relógios vectoriais

Leia mais

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

Algoritmos Distribuídos (deadlock) ALGORITMOS DISTRIBUÍDOS Deadlock. Algoritmos Distribuídos (deadlock) Algoritmos Distribuídos (deadlock) Um deadlock é causado pela situação onde um conjunto de processos está bloqueado permanentemente, i.e., não conseguem prosseguir a execução, esperando um evento que somente outro processo do conjunto pode

Leia mais

Big Endian é uma ordenação usada em sistemas do tipo Unix (arquiteturas SPARC, IBM Mainframe).

Big Endian é uma ordenação usada em sistemas do tipo Unix (arquiteturas SPARC, IBM Mainframe). Grupo 12. Organização de sistemas computacionais Memória primária: endereços; ordenação dos bytes; códigos de correção de erros (bit de paridade e código de Hamming). Alisson Dias - CC5P30 - C68DAE8 Diego

Leia mais

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

Algoritmos Distribuídos (exclusão mútua) ALGORITMOS DISTRIBUÍDOS Exclusão mútua. Algoritmos Distribuídos (exclusão mútua) ALGORITMOS DISTRIBUÍDOS Exclusão mútua Problema: alguns recursos não podem ser usados simultaneamente por diversos processos (ex.: arquivos) Exclusividade de acesso deve ser garantida pelo sistema esta

Leia mais

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

Sistemas Distribuídos. Capítulo 6 - Aula 10 Sistemas Distribuídos Aula Passada Capítulo 6 - Aula 10 Nomeação estruturada Implementação de um espaço de nomes Implementação de resolução de nomes Nomeação baseada em atributo Introdução ao problema

Leia mais

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

Replicação. Cleide Luzia Bonfim Possamai 03/05/2018 Replicação Cleide Luzia Bonfim Possamai 03/05/2018 Agenda Conceito Motivação Principais abordagens Replicação single-leader Replicação multi-leader Replicação leaderless Modelos de consistência Conclusão

Leia mais

1- Replicação de Dados - A replicação de dados permite lidar com falhas ao nível dos nós que impeçam o acesso

1- Replicação de Dados - A replicação de dados permite lidar com falhas ao nível dos nós que impeçam o acesso 1- Replicação de Dados - A replicação de dados permite lidar com falhas ao nível dos nós que impeçam o acesso aos dados neles armazenados e com falhas ao nível da comunicação de dados. - Na replicação

Leia mais

Barramento. Prof. Leonardo Barreto Campos 1

Barramento. Prof. Leonardo Barreto Campos 1 Barramento Prof. Leonardo Barreto Campos 1 Sumário Introdução; Componentes do Computador; Funções dos Computadores; Estrutura de Interconexão; Interconexão de Barramentos Elementos de projeto de barramento;

Leia mais

Ordenação de Eventos em Redes de Sensores. Clara de Mattos Szwarcman

Ordenação de Eventos em Redes de Sensores. Clara de Mattos Szwarcman Ordenação de Eventos em Redes de Sensores Clara de Mattos Szwarcman Contexto Aplicações Monitoramento de ambientes Velocidade de veículos Detecção de Presença Agricultura Aplicações inteligentes Saúde

Leia mais

Classificação e Pesquisa

Classificação e Pesquisa Classificação e Pesquisa Pesquisa de Dados - Seqüencial - Binária Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com http://www.bolinhabolinha.com Onde Estamos Ementa Pesquisa de Dados Seqüencial Binária

Leia mais

Fundamentos de Sistemas Operacionais

Fundamentos de Sistemas Operacionais Fundamentos de Sistemas Operacionais Aula 6: Monitores, Troca de Mensagens e Deadlock Diego Passos Última Aulas Mecanismos de Exclusão Mútua Operações atômicas. Protocolos de controle de acesso. Spin-locks.

Leia mais

Sistemas Distribuídos Capítulo 8 - Aula 14

Sistemas Distribuídos Capítulo 8 - Aula 14 Sistemas Distribuídos Capítulo 8 - Aula 14 Aula Passada Tolerância a Falhas Conceitos básicos Modelos de falha Redundância Resiliência de Processo Aula de hoje Comunicação Confiável Cliente-Servidor Comunicação

Leia mais

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

APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar - Aula 3-1. REVISÃO SOBRE CONCEITOS FUNDAMENTAIS DE SISTEMAS DISTRIBUÍDOS Na segunda parte abordamos o tema tolerância a falhas, assunto este muito relacionado a redes de computadores, mas que nos mostra

Leia mais

Métodos de Ordenação Parte 3

Métodos de Ordenação Parte 3 Estrutura de Dados II Métodos de Ordenação Parte 3 Prof a Márcio Bueno ed2tarde@marciobueno.com / ed2noite@marciobueno.com Material baseado nos materiais do Prof. Robson Lins Classificação em Memória Primária

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Introdução: Comunicação, e Coordenação março de 2015 Comunicação entre Processos troca de mensagens é sempre a primitiva básica sobre essa primitiva podemos construir outras visões da comunicação Mensagens

Leia mais

MC102 - Algoritmos e programação de computadores. Aula 16: Busca e Ordenação em vetores

MC102 - Algoritmos e programação de computadores. Aula 16: Busca e Ordenação em vetores MC102 - Algoritmos e programação de computadores Aula 16: Busca e Ordenação em vetores Busca Dada uma coleção de n elementos, pretende-se saber se um determinado elemento valor está presente nessa coleção.

Leia mais

Algoritmos Distribuídos Modelo Computacional

Algoritmos Distribuídos Modelo Computacional Algoritmos Distribuídos Modelo Computacional Antonio Alfredo Ferreira Loureiro loureiro@dcc.ufmg.br http://www.dcc.ufmg.br/~loureiro UFMG/ICEx/DCC 1 Modelo Computacional Modelo: Esquema que possibilita

Leia mais

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

Faculdade de Informática - PUCRS. Sistemas Distribuídos 2. Faculdade de Informática - PUCRS. Sistemas Distribuídos 4. Faculdade de Informática - PUCRS Algoritmos Distribuídos Processos em um sistema distribuído geralmente buscam atingir cooperação e para tanto utilizam mecanismos de sincronização para que esta cooperação seja realizada de maneira correta.

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos 2016.1 PROF. MARCIAL PORTO FERNANDEZ MARCIAL@LARCES.UECE.BR PROF. ANDRÉ RIBEIRO CARDOSO ANDREC@LARCES.UECE.BR 1 5. Consistência e Replicação em SD 2 Sumário Introdução Modelos de

Leia mais

Sincronização e Concorrência

Sincronização e Concorrência Tópicos da Aula Sincronização e Concorrência Sincronização sincronização interna sincronização externa sincronização de relógio métodos de sincronização Cristian Berkeley tempo lógico Controle de Concorrência

Leia mais

Departamento de Informática

Departamento de Informática Departamento de Informática Licenciatura em Engenharia Informática Sistemas Distribuídos 1ª chamada, 19 de Janeiro de 2011 1º Semestre, 2011/2012 NOTAS: Leia com atenção cada questão antes de responder.

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Exclusão Mútua Gustavo Reis gustavo.reis@ifsudestemg.edu.br - Questão fundamental em SDs Concorrência e colaboração entre vários processos Processos vão precisar acessar simultaneamente

Leia mais

Simulado para CFPS. Questões de Propósito, Tipo e Fronteira. 1. Um dos objetivos da Análise de Pontos de Função é:

Simulado para CFPS. Questões de Propósito, Tipo e Fronteira. 1. Um dos objetivos da Análise de Pontos de Função é: Questões de Propósito, Tipo e Fronteira 1. Um dos objetivos da Análise de Pontos de Função é: Simulado para CFPS a) Ajudar no processo de depuração de um software. b) Estimar o tamanho de uma equipe de

Leia mais

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

Tempo e Relógios. Sincronização de Relógios - Algoritmo de Cristian - Algoritmo de Berkeley - Network Time Protocol. Tempo e Relógios Sincronização de Relógios - Algoritmo de Cristian - Algoritmo de Berkeley - Network Time Protocol Relógios Lógicos 1 O papel do tempo Crucial na ordenação de eventos Tempo Real? - Função

Leia mais

Sistemas Distribuídos Capítulo 8 - Aula 13

Sistemas Distribuídos Capítulo 8 - Aula 13 Sistemas Distribuídos Capítulo 8 - Aula 13 Aula de hoje Aula Passada Exclusão Mútua Algoritmos de Eleição Tolerância a Falhas Conceitos básicos Modelos de falha Redundância Resiliência de Processo 1 Tolerância

Leia mais

(Broadcast - um emissor envia a mensagem para todos os nós do sistema) Multicast um emissor, um grupo de processos como receptores

(Broadcast - um emissor envia a mensagem para todos os nós do sistema) Multicast um emissor, um grupo de processos como receptores Comunicação em Grupo (Broadcast - um emissor envia a mensagem para todos os nós do sistema) Multicast um emissor, um grupo de processos como receptores Exemplos de aplicação: - ferramentas de trabalho

Leia mais

Consistência e replicação. capítulo

Consistência e replicação. capítulo Consistência e replicação capítulo 7 (i) Razões para replicação Confiança: Se um sistema de arquivos foi replicado, caso uma replica deixe de funcionar, é esperado que ele continue trabalhando normalmente

Leia mais

Redes de Computadores. INF201 - Fundamentos de Sistemas Operacionais - 2º Período

Redes de Computadores. INF201 - Fundamentos de Sistemas Operacionais - 2º Período Redes de Computadores INF201 - Fundamentos de Sistemas Operacionais - 2º Período PARTE II: PROCESSOS E THREADS SUMÁRIO 7. SINCRONIZAÇÃO E COMUNICAÇÃO ENTRE PROCESSOS: 7.1 Introdução; 7.2 Aplicações Concorrentes;

Leia mais

Consistência e Replicação

Consistência e Replicação Consistência e Replicação - Razões para a replicação - Replicação para obter escalabilidade - Modelos de consistência centrados nos dados 1 Razões para a replicação Fiabilidade - Enquanto pelo menos um

Leia mais

Sistemas Distribuídos. Ricardo Ribeiro dos Santos

Sistemas Distribuídos. Ricardo Ribeiro dos Santos Sistemas Distribuídos Ricardo Ribeiro dos Santos ricrs@ec.ucdb.br Curso de Engenharia de Computação UCDB Setembro/2003 Tópicos Sincronização em Sistemas Distribuídos Exclusão Mútua Transações Distribuídas

Leia mais

Arquivos Sequenciais. Estruturas de Dados II Vanessa Braganholo

Arquivos Sequenciais. Estruturas de Dados II Vanessa Braganholo Arquivos Sequenciais Estruturas de Dados II Vanessa Braganholo Arquivos Sequenciais } Pq arquivos sequenciais? Relembrando } Relembrando: uma tabela ou arquivo é um conjunto de registros que possuem a

Leia mais

Os números inteiros. Álgebra (Curso de CC) Ano lectivo 2005/ / 51

Os números inteiros. Álgebra (Curso de CC) Ano lectivo 2005/ / 51 Os números inteiros Abordaremos algumas propriedades dos números inteiros, sendo de destacar o Algoritmo da Divisão e o Teorema Fundamental da Aritmética. Falaremos de algumas aplicações como sejam a detecção

Leia mais