SISTEMAS DISTRIBUÍDOS
|
|
|
- Izabel Camarinho Ramalho
- 8 Há anos
- Visualizações:
Transcrição
1 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
2 NOTA PRÉVIA A estrutura da apresentação é semelhante e utiliza algumas das figuras do livro de base do curso: G. Coulouris, J. Dollimore, T. Kindberg, G. Blair Distributed Systems - Concepts and Design, Addison-Wesley, 5th Edition, 2011 Material de suporte às aulas de Sistemas Distribuídos Copyright DI FCT/ UNL / 2
3 MOTIVAÇÃO Num sistema distribuído é impossível sincronizar os relógios de vários computadores a menos dum dado valor. Porquê? Assim, é impossível usar o valor do relógio em diferentes computadores para saber a ordem dos eventos. E.g.: erro: 0:05 Como ordenar os dois eventos? E de acordo com os relógios? 12:05 12:06 12:07 12:00 12:03 Material de suporte às aulas de Sistemas Distribuídos Copyright DI FCT/ UNL / 3
4 COMO SE DEFINE ACONTECEU ANTES? Num sistema distribuído, estamos em geral interessados em conhecer as relações de causalidade, i.e., saber quais os eventos que podem ter causado outros eventos. E.g. Rede social Permissões iniciais: amigos podem ver toda a informação. Para adicionar fotografia que não se pretenda que amigo X veja: 1. Remover X da lista de amigos;; 2. Adicionar fotografia. Relação de causalidade importante porque quem vir a fotografia deve ver também X removido da lista de amigos. Material de suporte às aulas de Sistemas Distribuídos Copyright DI FCT/ UNL / 4
5 COMO SE DEFINE ACONTECEU ANTES? Num sistema distribuído, estamos em geral interessados em conhecer as relações de causalidade, i.e., saber quais os eventos que podem ter causado outros eventos. A relação aconteceu antes capta esta propriedade: o evento e 1 aconteceu antes de e 2 se e 1 pode ter causado e 2. a1 a2 a3 a4 b1 b2 b3 c1 c2 c3 c4 c5 c6 c7 Material de suporte às aulas de Sistemas Distribuídos Copyright DI FCT/ UNL / 5
6 COMO SE DEFINE ACONTECEU ANTES? Num processo, a relação aconteceu antes pode-se definir pela ordem de execução dos eventos: a1 a2 a3 a4 b1 b2 b3 c1 c2 c3 c4 c5 c6 c7 a1 a2 a3 a4 b1 b2 b3 c1 c2 c3 c4 c5 c6 c7 Material de suporte às aulas de Sistemas Distribuídos Copyright DI FCT/ UNL / 6
7 COMO SE DEFINE ACONTECEU ANTES? (CONT.) Quando um processo envia uma mensagem a outro processo, o envio acontece necessariamente antes da recepção: a3 b2 b3 c7 a1 a2 a3 a4 b1 b2 b3 c1 c2 c3 c4 c5 c6 c7 Material de suporte às aulas de Sistemas Distribuídos Copyright DI FCT/ UNL / 7
8 COMO SE DEFINE ACONTECEU ANTES? (CONT.) A relação aconteceu antes é transitiva: x1 x2 e x2 x3 => x1 x3 Dois eventos e1, e2 dizem-se concorrentes (e1 e2) se e1 e2 e e2 e1. a1 b1, a1 c1, a1 c2,... a1 a2 a3 a4 b1 b2 b3 c1 c2 c3 c4 c5 c6 c7 Material de suporte às aulas de Sistemas Distribuídos Copyright DI FCT/ UNL / 8
9 DEFINIÇÃO: RELAÇÃO ACONTECEU ANTES (LAMPORT 1978) A relação aconteceu antes ou precede ( ) é definida por: e1 e2, se e1 e e2 ocorreram no mesmo processo e e1 ocorreu antes de e2 e1 e2, se e1 e e2 são, respectivamente, os eventos de enviar e receber a mensagem m e1 e2, se e3: e1 e3 e e3 e2 (relação transitiva) Dois eventos e1, e2 dizem-se concorrentes (e1 e2) se e1 e2 e e2 e1. Nota: objetivo é criar relação similar à causalidade física: Se o evento e 1 pode ser a causa do evento e 2, então e 1 aconteceu antes de e 2. Material de suporte às aulas de Sistemas Distribuídos Copyright DI FCT/ UNL / 9
10 OBJETIVO Desenvolver mecanismo que substitua relógios físico e permita: 1. Dados dois eventos, e 1 e e 2, e 1 e 2 C(e 1 ) < C(e 2 ) Material de suporte às aulas de Sistemas Distribuídos Copyright DI FCT/ UNL / 10
11 RELÓGIOS LÓGICOS: PRIMEIRA TENTATIVA Em cada processo, podemos usar um contador, L i, para etiquetar os eventos [ T(e i )=L i ;; L i = L i + 1 ] Problema? Como se pode resolver? Material de suporte às aulas de Sistemas Distribuídos Copyright DI FCT/ UNL / 11
12 RELÓGIOS LÓGICOS: SEGUNDA TENTATIVA Em cada processo, podemos usar um contador, L i, para etiquetar os eventos [ T(e i )=L i ;; L i = L i + 1 ] Ao enviar uma mensagem, envia-se o valor do contador local Ao receber uma mensagem, antes de etiquetar a recepção, atualiza-se o relógio local para o máximo do valor recebido e do relógio local [ L i =max(l i,t(msg)) ] Material de suporte às aulas de Sistemas Distribuídos Copyright DI FCT/ UNL / 12
13 DEFINIÇÃO: RELÓGIOS LÓGICOS (LAMPORT 1978) Um relógio lógico (de Lamport) é um contador monotonicamente crescente, usado para atribuir uma estampilha temporal a um evento. Cada processo i, mantém um relógio lógico Li que atualiza da seguinte forma: Seja e um evento executado no processo i, faz-se: Li := Li + X (X > 0) T(e):=Li, com T(e) a estampilha temporal atribuída ao evento e. Se e=send(m), aplica-se a regra anterior e envia-se (m,t), com t=t(send(m)) Se e=receive(m,t), faz-se Li=max(Li,t) e, de seguida, aplica-se a regra base Material de suporte às aulas de Sistemas Distribuídos Copyright DI FCT/ UNL / 13
14 RELÓGIOS LÓGICOS: PROPRIEDADES 1. Dados dois eventos, e 1 e e 2, e 1 e 2 C(e 1 ) < C(e 2 ) 2. Dados dois eventos, e 1 e e 2, C(e 1 ) < C(e 2 ) e 1 e 2? Exemplo? Material de suporte às aulas de Sistemas Distribuídos Copyright DI FCT/ UNL / 14
15 RELÓGIOS LÓGICOS + ORDEM TOTAL Por vezes é importante estabelecer uma ordem total entre os eventos. Apenas os relógios lógicos não o permitem. Porquê? Material de suporte às aulas de Sistemas Distribuídos Copyright DI FCT/ UNL / 15
16 RELÓGIOS LÓGICOS + ORDEM TOTAL Podemos obter uma ordem adicionado ao relógio o identificador do processo, T(e i )=(L i,p i ) (l i,p i ) < (l j,p j ) l i < l j (l i = l j p i < p j ) (1,p 1 ) (2,p 1 ) (3,p 1 ) (4,p 1 ) (1,p 2 ) (4,p 2 ) (5,p 2 ) (1,p 3 )(2,p 3 )(3,p 3 ) (4,p 3 )(5,p 3 )(6,p 3 ) (7,p 3 ) Material de suporte às aulas de Sistemas Distribuídos Copyright DI FCT/ UNL / 16
17 OBJETIVO Desenvolver mecanismo que substitua relógios físico e permita: 1. Dados dois eventos, e 1 e e 2, e 1 e 2 C(e 1 ) < C(e 2 ) 2. Dados dois eventos, e 1 e e 2, C(e 1 ) < C(e 2 ) e 1 e 2 Material de suporte às aulas de Sistemas Distribuídos Copyright DI FCT/ UNL / 17
18 HISTÓRIA CAUSAL Se se quer saber o que aconteceu antes, porque não manter para cada evento o conjunto de eventos que ocorreram antes desse evento? {a 1 } {a 1,a 2 } {a 1,a 2,a 3 } a 4 } {b 1 } {c 1 } b 1, b 2 } b 1, b 2, b 3 } b 1, b 2, b 3, c 1,..., c 7 } Material de suporte às aulas de Sistemas Distribuídos Copyright DI FCT/ UNL / 18
19 HISTÓRIA CAUSAL A história causal dum evento, H(e), é um conjunto que inclui o próprio evento e os evento que aconteceram antes. Cada evento, e, é etiquetado com um identificador, E(e);; a história causal desse evento é a reunião desse evento com os eventos anteriores (uma mensagem propaga a história no momento da emissão). {a 1 } {a 1,a 2 } {a 1,a 2,a 3 } a 4 } {b 1 } {c 1 } b 1, b 2 } b 1, b 2, b 3 } b 1, b 2, b 3, c 1,..., c 7 } Material de suporte às aulas de Sistemas Distribuídos Copyright DI FCT/ UNL / 19
20 HISTÓRIA CAUSAL Como comparar duas histórias causais? H(e 1 ) < H(e 2 ) ó H(e 1 ) H(e 2 ) H(e 1 ) H(e 2 ) {a 1 } {a 1,a 2 } {a 1,a 2,a 3 } a 4 } {b 1 } {c 1 } b 1, b 2 } b 1, b 2, b 3 } b 1, b 2, b 3, c 1,..., c 7 } Material de suporte às aulas de Sistemas Distribuídos Copyright DI FCT/ UNL / 20
21 HISTÓRIA CAUSAL 1. Dados dois eventos, e 1 e e 2, e 1 e 2 C(e 1 ) < C(e 2 ) e 1 e 2 H(e 1 ) H(e 2 ) H(e 1 ) H(e 2 ) 2. Dados dois eventos, e 1 e e 2, C(e 1 ) < C(e 2 ) e 1 e 2 H(e 1 ) H(e 2 ) H(e 1 ) H(e 2 ) e 1 e 2 [ou mais simples: E(e 1 ) H(e 2 ) e 1 e 2 ] {a 1 } {a 1,a 2 } {a 1,a 2,a 3 } a 4 } {b 1 } {c 1 } b 1, b 2 } b 1, b 2, b 3 } b 1, b 2, b 3, c 1,..., c 7 } Material de suporte às aulas de Sistemas Distribuídos Copyright DI FCT/ UNL / 21
22 DEFINIÇÃO: HISTÓRIA CAUSAL Supondo que cada evento, e, é etiquetado com um identificador, E(e) A história causal, H(e), de um evento, e, é o conjunto (de identificadores) dos eventos que aconteceram antes de e. Num dado processo i: para o primeiro evento e i 0, H(e i 0) = {e i 0} para o evento e i n, H(e i n)=h(e i n-1) {e i n} (caso e não seja um receive) Se e=send(m), aplica-se a regra anterior e envia-se (m,t), com t=h(e) Se e i n=receive(m,t), H(e i n) = H(e i n-1) t {e i n} Material de suporte às aulas de Sistemas Distribuídos Copyright DI FCT/ UNL / 22
23 RELÓGIO VETORIAL Um relógio vetorial, V(e), não é mais do que uma forma eficiente de representar uma história causal, mantendo um vetor que em cada posição tem o contador do último evento dum processo (todos os eventos anteriores desse processo são necessariamente conhecidos). [a b c] [1 0 0] [2 0 0] [3 0 0] [4 0 0] {a 1 } {a 1,a 2 } {a 1,a 2,a 3 } a 4 } {b 1 } [0 1 0] [3 2 0] b 1, b 2 } b 1, b 2, b 3 } [3 3 0] {c 1 } [0 0 1] b 1, b 2, b 3, [3 3 7] c 1,..., c 7 } Material de suporte às aulas de Sistemas Distribuídos Copyright DI FCT/ UNL / 23
24 RELÓGIO VETORIAL Dados dois eventos, e 1 e e 2, e 1 e 2 C(e 1 ) < C(e 2 ) e 1 e 2 H(e 1 ) H(e 2 ) H(e 1 ) H(e 2 ) (com histórias causais) e 1 e 2 i, V(e 1 )[i] V(e 2 )[i] j: V(e 1 )[j] V(e 2 )[j] [1 0 0] [2 0 0] [3 0 0] [4 0 0] {a 1 } {a 1,a 2 } {a 1,a 2,a 3 } a 4 } {b 1 } [0 1 0] [3 2 0] b 1, b 2 } b 1, b 2, b 3 } [3 3 0] {c 1 } [0 0 1] b 1, b 2, b 3, [3 3 7] c 1,..., c 7 } Material de suporte às aulas de Sistemas Distribuídos Copyright DI FCT/ UNL / 24
25 RELÓGIO VETORIAL Dados dois eventos, e 1 e e 2, C(e 1 ) < C(e 2 ) e 1 e 2 H(e 1 ) H(e 2 ) H(e 1 ) H(e 2 ) e 1 e 2 (com histórias causais) i, V(e 1 )[i] V(e 2 )[i] j: V(e 1 )[j] V(e 2 )[j] e 1 e 2 [1 0 0] [2 0 0] [3 0 0] [4 0 0] {a 1 } {a 1,a 2 } {a 1,a 2,a 3 } a 4 } {b 1 } [0 1 0] [3 2 0] b 1, b 2 } b 1, b 2, b 3 } [3 3 0] {c 1 } [0 0 1] b 1, b 2, b 3, [3 3 7] c 1,..., c 7 } Material de suporte às aulas de Sistemas Distribuídos Copyright DI FCT/ UNL / 25
26 RELÓGIO VETORIAL Dados dois eventos, e 1 e e 2, (C(e 1 ) < C(e 2 )) (C(e 1 ) < C(e 2 )) e 1 e 2 (H(e 1 ) H(e 2 )) (H(e 2 ) H(e 1 )) e 1 e 2 (com histórias causais) i,j: V(e 1 )[i] < V(e 2 )[i] V(e 2 )[j] < V(e 1 )[j] e 1 e 2 [1 0 0] [2 0 0] [3 0 0] [4 0 0] {a 1 } {a 1,a 2 } {a 1,a 2,a 3 } a 4 } {b 1 } [0 1 0] [3 2 0] b 1, b 2 } b 1, b 2, b 3 } [3 3 0] {c 1 } [0 0 1] b 1, b 2, b 3, [3 3 7] c 1,..., c 7 } Material de suporte às aulas de Sistemas Distribuídos Copyright DI FCT/ UNL / 26
27 DEFINIÇÃO: RELÓGIO VETORIAL Um relógio vetorial num sistema com n processos é um vetor de n inteiros, V[1..n]. Cada processo i mantém um relógio vectorial V i que usa para atribuir uma estampilha temporal aos eventos locais e atualiza-a da seguinte forma: Inicialmente, V i [j]=0, i,j Antes de etiquetar um evento e no processo i, faz-se: Vi[i] := Vi[i]+1. C(e)=Vi Se e=send(m), aplica-se a regra anterior e envia-se (m,t), com t=c(send(m)) Se e=receive(m,t) no processo i, faz-se Vi[j]=max(Vi[j],t[j]), j e, de seguida, aplica-se a regra base Dados dois relógios vectoriais V1 e V2, tem-se: V1=V2, sse V1[i]=V2[i], i V1 V2, sse V1[i] V2[i], i V1<V2, sse V1 V2 V1 V2 Material de suporte às aulas de Sistemas Distribuídos Copyright DI FCT/ UNL / 27
28 HÁ EVENTOS E EVENTOS Problema inicial: Para adicionar fotografia que não se pretenda que amigo X veja, deve- se: 1. Remover X da lista de amigos 2. Adicionar fotografia removefriend(mario, PacMan) (Mario,{PacMan, Sonic}) addphoto( ) (Mario, {Sonic}) Material de suporte às aulas de Sistemas Distribuídos Copyright DI FCT/ UNL / 28
29 HÁ EVENTOS E EVENTOS Problema inicial: Para adicionar fotografia que não se pretenda que amigo X veja, deve- se: Como se garante que PacMan não vê foto? 1. Remover X da lista de amigos 2. Adicionar fotografia {a1,a2,c1} {a1,a2,c1,c2} (Mario,{PacMan, Sonic}) {a1,a2} {a1} {b1} A foto regista os eventos na lista de amigos que devem ser vistos. {a1,a2,b1,b2, c1,c2,c3} {a1,a2,b1,b2, c1,c2,c3,c4} (Mario, {Sonic}) {a1,a2,a3, c1,c2} {b1,b2} {a1,a2,b1,b2,b3, c1,c2,c3,c4} Material de suporte às aulas de Sistemas Distribuídos Copyright DI FCT/ UNL / 29
30 HÁ EVENTOS E EVENTOS Problema inicial: Para adicionar fotografia que não se pretenda que amigo X veja, deve- se: Problemas? 1. Remover X da lista de amigos 2. Adicionar fotografia {a1,a2,c1} {a1,a2,c1,c2} (Mario,{PacMan, Sonic}) {a1,a2} {a1} {b1} Eventos irrelevantes na história causal Clientes poluem a história causal {a1,a2,b1,b2, c1,c2,c3} {a1,a2,b1,b2, c1,c2,c3,c4} (Mario, {Sonic}) {a1,a2,a3, c1,c2} {b1,b2} {a1,a2,b1,b2,b3, c1,c2,c3,c4} Material de suporte às aulas de Sistemas Distribuídos Copyright DI FCT/ UNL / 30
31 HÁ EVENTOS E EVENTOS Num sistema não é necessário registar todos os eventos apenas os eventos importante que fazem o sistema alterar o seu estado {a1} (Mario,{PacMan, Sonic}) {a1} {a1} {b1} {a1} {a1,a2} {a1,a2,b1} {a1,a2,b1} (Mario, {Sonic}) {a1,a2} {b1} {a1,a2,b1,b2} Material de suporte às aulas de Sistemas Distribuídos Copyright DI FCT/ UNL / 31
32 VETOR VERSÃO Um vetor versão, VV(e), não é mais do que um relógio vetorial em que apenas se registam os eventos importantes para um sistema de gestão de dados (escritas) {a1} (Mario,{PacMan, Sonic}) [1 0] {a1} {a1} [0 1] {b1} {a1} {a1,a2} {a1,a2,b1} {a1,a2,b1} (Mario, {Sonic}) [2 0] {a1,a2} {b1} [2 2] {a1,a2,b1,b2} Material de suporte às aulas de Sistemas Distribuídos Copyright DI FCT/ UNL / 32
33 DEFINIÇÃO: VETOR VERSÃO Um vetor versão num sistema de gestão de dados com n servidores é um vetor de n inteiros, VV[1..n]. Cada servidor i mantém um vetor versão V i que usa para atribuir uma estampilha temporal aos eventos locais relevantes e atualiza-a da seguinte forma: Inicialmente, VV i [j]=0, i,j Os eventos não importantes não são etiquetados. Antes de etiquetar um evento importante e no processo i, faz-se: VVi[i] := VVi[i]+1. C(e)=VVi Para um evento e não importantes, tem-se C(e)=VVi. Os eventos de envio e recepção de mensagem são considerados não importantes. A recepção duma escrita no servidor tem associado um evento importante de criação de um novo estado. Se e=send(m), envia-se (m,t), com t=c(send(m)). Se e=receive(m,t) no processo i, faz-se VVi[j]=max(VVi[j],t[j]), j. Dados dois vetores versão VV1 e VV2, tem-se: VV1=VV2, sse VV1[i]=VV2[i], i VV1 VV2, sse VV1[i] VV2[i], i VV1<VV2, sse VV1 VV2 VV1 VV2 Material de suporte às aulas de Sistemas Distribuídos Copyright DI FCT/ UNL / 33
34 PARA SABER MAIS G. Coulouris, J. Dollimore and T. Kindberg, Distributed Systems Concepts and Design, Addison-Wesley, 5th Edition, 2011 Secção 14.2, 14.4 Material de suporte às aulas de Sistemas Distribuídos Copyright DI FCT/ UNL / 34
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
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
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
SISTEMAS DISTRIBUÍDOS
SISTEMAS DISTRIBUÍDOS Nuno Preguiça (nuno.preguica_at_fct.unl.pt) Sérgio Duarte (smd_at_fct.unl.pt) João Leitão (jc.leitao_at_fct.unl.pt) http://asc.di.fct.unl.pt/sd Material de suporte às aulas de Sistemas
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
SISTEMAS DISTRIBUÍDOS
SISTEMAS DISTRIBUÍDOS Nuno Preguiça (nuno.preguica_at_fct.unl.pt) Sérgio Duarte (smd_at_fct.unl.pt) João Leitão (jc.leitao_at_fct.unl.pt) http://asc.di.fct.unl.pt/sd Material de suporte às aulas de Sistemas
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
Sistemas Distribuídos
I Capítulo 3 Tempo físico e Relógios lógicos - 2011 - DI/FCT/UNL Tempo Em, o tempo é uma questão importante e levanta problemas interessantes... Precisa de ser medido com elevada precisão Precisa de ser
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
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
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
Introdução Sincronização Interna Sincronização Externa. Prof a Ana Cristina B. Kochem Vendramin DAINF / UTFPR
n n n Introdução Sincronização Interna Sincronização Externa Prof a Ana Cristina B. Kochem Vendramin DAINF / UTFPR Introdução Problema: ausência de um relógio global em SDs; Em um sistema com n computadores,
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
Sistemas Distribuídos Estados globais. Vinícius Fernandes Soares Mota
Sistemas Distribuídos Estados globais Vinícius Fernandes Soares Mota 1 2 Tópicos Tempo e relógio lógicos (revisão curta) Relógios vetoriais Estados Globais Snapshot distribuído 3 Antes... Por que a sincronização
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
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
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)
SISTEMAS DISTRIBUÍDOS
SISTEMAS DISTRIBUÍDOS Capítulo 1 Introdução Material de suporte às aulas de Sistemas Distribuídos de Nuno Preguiça e Sérgio Duarte Copyright DI FCT/ UNL / 1 NOTA PRÉVIA A apresentação utiliza algumas das
Sistemas Distribuídos. 13 Transações Distribuídas. Transações Distribuídas. Prof a Ana Cristina B. Kochem Vendramin DAINF / UTFPR
Sistemas Distribuídos 13 Transações Distribuídas n Transações Distribuídas Prof a Ana Cristina B. Kochem Vendramin DAINF / UTFPR Introdução Uma transação define uma sequência de operações. Objetivo: permitir
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
Sistemas Distribuídos. Ricardo Ribeiro dos Santos
Sistemas Distribuídos Ricardo Ribeiro dos Santos [email protected] Curso de Engenharia de Computação UCDB Julho/2003 Tópicos Objetivos Pré-requisitos Ementa/Conteúdo Programático Relacionamento com outras
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
Sistemas Distribuídos
Sistemas Distribuídos 12/13 Sistemas Distribuídos 1 O que é um sistema distribuído? Page 1 1 Sistema Distribuído Sistema de componentes software/hardware localizadas em computadores ligados em rede que
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
INE 5645 PROGRAMAÇÃO PARALELA E DISTRIBUÍDA
INE 5645 PROGRAMAÇÃO PARALELA E DISTRIBUÍDA Identificação: Disciplina: INE5645 - Programação Paralela e Distribuída Carga horária: 72 horas-aula Teóricas: 36 Práticas: 36 Período: 2º semestre de 2014 (em
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.,
Protocolo Request-Reply
n n n n Protocolo Request-Reply Modelo de Objeto Remoto Semânticas de Invocação Remota Arquitetura de Invocação Remota Prof a Ana Cristina B. Kochem Vendramin DAINF / UTFPR Introdução Características de
Exemplo de Aplicação Distribuída Serviço de Nomes Gerente de Segurança. Callbacks. Prof a Ana Cristina B. Kochem Vendramin DAINF / UTFPR
n n n n Exemplo de Aplicação Distribuída Serviço de Nomes Gerente de Segurança Callbacks Prof a Ana Cristina B. Kochem Vendramin DAINF / UTFPR Introdução Estende o modelo de objeto Java para fornecer suporte
Comunicação entre Processos
Comunicação entre Processos Prof. Leonardo Barreto Campos http://sites.google.com/sitew/leonardobcampos 1/29 Sumário Introdução Comunicação entre Processos: Soquetes Comunicação por datagrama UDP Comunicação
Sistemas de arquivos distribuídos. ECO036 - Sistemas Paralelos e Distribuídos
Sistemas de arquivos distribuídos ECO036 - Sistemas Paralelos e Distribuídos Sistemas de arquivos distribuídos - Daniel Nogueira 20938 - Felipe Castro Simões 21525 Sumário 1. Introdução 2. Sistemas de
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
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,
Replicação. Modelos de Consistência.
Replicação. Modelos de Consistência. December 1, 2009 Sumário Introdução Questões Centrais da Replicação Modelos de Consistência Replicação O que é? O uso de múltiplas cópias de dados ou serviços (e estado
SISTEMAS DISTRIBUÍDOS
SISTEMAS DISTRIBUÍDOS CUP Disk Memoey CUP Memoey Disk Network CUP Memoey Disk Prof. Carlos Eduardo de B. Paes Departamento de Ciência da Computação Pontifícia Universidade Católica de São Paulo Objetivos
Gramáticas ( [HMU00], Cap. 5.1)
Gramáticas ( [HMU00], Cap. 5.1) Vimos que a seguinte linguagem não é regular L = {0 n 1 n n 0} Contudo podemos fácilmente dar uma definição indutiva das suas palavras: 1. ɛ L 2. Se x L então 0x1 L L é
Sistemas Distribuídos
Sistemas Distribuídos Motivação Aplicações Motivam Possibilita Engenharia Motivação! Aplicações cada vez mais complexas! Qual a técnica mais comum para redução de complexidade? " Modularização Dividir
SISTEMAS DISTRIBUÍDOS
SISTEMAS DISTRIBUÍDOS Capítulo 10 Introdução aos sistemas de designação, de descoberta e de localização de serviços Material de suporte às aulas de Sistemas Distribuídos de Nuno Preguiça e Sérgio Duarte
Sincronização de Relógios e Relógios Lógicos. Histórico da comunicação. Tempo Global. Mecanismos de ordenação total
WTF : Computação mini-curso Distribuída LCMI/DAS/CTC/UFSC canismos de ordenação total Sincronização de Relógios e Relógios Lógicos Prof. Lau Cheuk Lung E-mail: [email protected] Departamento de Informática
Análise e desenho de algoritmos paralelos
ISUTIC 2017 Análise e desenho de algoritmos paralelos Docente: MSc. Angel Alberto Vazquez Sánchez Sumario Análise de algoritmos paralelos: Parâmetros absolutos e relativos para avaliar algoritmos paralelos.
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é [email protected] http://docente.ifsc.edu.br/mello 26 de
SISTEMAS DISTRIBUÍDOS
SISTEMAS DISTRIBUÍDOS Nuno Preguiça (nuno.preguica_at_di.fct.unl.pt) http://asc.di.fct.unl.pt/sd1 Material de suporte às aulas de Sistemas Distribuídos de Nuno Preguiça Copyright DI FCT/ UNL / 1 OBJECTIVOS
SISTEMAS DISTRIBUÍDOS
SISTEMAS DISTRIBUÍDOS Capítulo 8 Gestão de ficheiros distribuídos e introdução às técnicas de replicação Material de suporte às aulas de Sistemas Distribuídos de Nuno Preguiça Copyright DI FCT/ UNL / 1
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
Canais de Comunicação
Canais de Comunicação February 24, 2010 Sumário Comunicação via Mensagens Propriedades dum Canal de Comunicação Protocolos da Internet UDP TCP Aplicação Distribuída O que é? É uma aplicação que consiste
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
SO: SISTEMAS OPERACIONAIS Curso: Sistemas de Informação
SO: SISTEMAS OPERACIONAIS Curso: Sistemas de Informação - Definições - Ementa - Objetivos - Unidades de Ensino - Bibliografia - Processo de Avaliação Paulo César do Amaral Pereira SISTEMA COMPUTACIONAL
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
Alfabeto, Cadeias, Operações e Linguagens
Linguagens de Programação e Compiladores - Aula 3 1 Alfabeto, Cadeias, Operações e Linguagens 1.Conjuntos Para representar um determinado conjunto é necessário buscar uma notação para representá-lo e ter
Conceitos Básicos. Vocabulário Cadeias Linguagens Expressões Regulares Problema X Linguagem
Conceitos Básicos Vocabulário Cadeias Linguagens Expressões Regulares Problema X Linguagem Alfabeto ou Vocabulário: Conjunto finito não vazio de símbolos. Símbolo é um elemento qualquer de um alfabeto.
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
TimeNET. REPORTU Digital-Time. Manual de Utilizador do Software. Gestão de Assiduidade e Controlo de Acessos Página 1 de 35
Página 1 de 35 Manual de Utilizador do Software TimeNET Gestão de Assiduidade e Controlo de Acessos Página 2 de 35 CONSIDERAÇÕES INICIAIS: - O Software TimeNET foi desenvolvido com as mais recentes tecnologias
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
Exemplo de configuração da opção de DHCP 82 do controlador do Wireless LAN
Exemplo de configuração da opção de DHCP 82 do controlador do Wireless LAN Índice Introdução Pré-requisitos Requisitos Componentes Utilizados Convenções Opção de DHCP 82 Configurar Configurar o controlador
Modelos Fundamentais de um SD. Modelo de Interação ou Sincronismo
Modelos Fundamentais de um SD Modelo de Falhas Modelo de Interação ou Sincronismo Modelo de Segurança 1 Modelo de Avarias: Caracteriza o sistema em termos das falhas/avarias, i.e., dos desvios em relação
Linguagem (formal) de alfabeto Σ
Linguagem (formal) de alfabeto Σ Linguagem é qualquer subconjunto de Σ, i.e. qualquer conjunto de palavras de Σ Σ = {a, b} {aa, ab, ba, bb} ou {x x {a, b} e x = 2} {a, aa, ab, ba, aaa, aab, aba,...} ou
Sistemas Distribuídos
Sistemas Distribuídos Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José [email protected] 29 de julho de 2015 1/21 Apresentação da disciplina Objetivo da disciplina
Redes de Computadores e Aplicações. Aula 37 Roteamento IP Unicast Dinâmico RIP
Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do N Campus Currais Novos Redes de Computadores e Aplicações Aula 37 Roteamento IP Unicast Dinâmico RIP Prof. Diego Pereira
Sistema de Software Distribuído
Sistema de Software Distribuído É composto por uma sequência de instruções, que é interpretada e executada por um processador É composto por instruções concorrentes ou paralelas, que são interpretadas
Alfabeto e palavras. Alfabeto conjunto finito de símbolos (Σ).
Alfabeto e palavras Alfabeto conjunto finito de símbolos (Σ). {A,...,Z}, {α, β,... }, {a,b}, {0,1}, ASCII Palavra de Σ sequência finita de símbolos do alfabeto Σ Σ = {a, b} aabba a aaaaaaaa Comprimento
Apontamentos III. Espaços euclidianos. Álgebra Linear aulas teóricas. Lina Oliveira Departamento de Matemática, Instituto Superior Técnico
Apontamentos III Espaços euclidianos Álgebra Linear aulas teóricas 1 o semestre 2017/18 Lina Oliveira Departamento de Matemática, Instituto Superior Técnico Índice Índice i 1 Espaços euclidianos 1 1.1
Esta política de privacidade define como a empresa que utiliza e. protege qualquer informação que você fornece ao site quando você
Privacidade Esta política de privacidade define como a empresa que utiliza e protege qualquer informação que você fornece ao site quando você usar e acessar. Nossa empresa está empenhada em garantir que
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
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
