Você está na página 1de 4

UNIVERSIDADE FEDERAL DE ITAJUBÁ – UNIFEI

Discussão sobre o artigo: Time, Clocks and the Ordering of Events in a Distributed
System Leslie Lamport

Luis Eduardo Cambraia Lopes


2020000478

1. Qual a definição para Sistemas Distribuídos apresentada no artigo?

Um sistema distribuído consiste em uma coleção de distintos processos que são


espacialmente separados, e que se comunicam uns com os outros trocando mensagens.

2. Por que, para um Sistema Distribuído, algumas vezes é impossível afirmar a ordem
de ocorrência entre dois eventos?

Em um sistema distribuído, às vezes é impossível dizer que um dos dois eventos ocorreu
primeiro. A relação "aconteceu antes" é, portanto, apenas uma ordenação parcial dos
eventos no sistema. Descobrimos que os problemas muitas vezes surgem porque as
pessoas não estão totalmente cientes deste fato e suas implicações.

3. Por que o autor afirma que, em relação aos sistemas distribuídos, nosso conceito
de ordenação temporal de eventos deve ser cuidadosamente reexaminado?

Porque em um sistema de reservas aéreas, especificamos que um pedido de reserva deve


ser concedido se for feito antes do voo ser preenchido.

4. O autor afirma que muitos problemas surgem porque as pessoas não estão
totalmente conscientes que a relação “happened before” é somente uma ordenação
parcial de eventos em um sistema. Comente esta afirmação.

Em sistemas distribuídos, o conceito de "happened before" precisa ser descrito com base
em eventos, pois mesmo com base em conceitos físicos, os relógios não são 100%
precisos e problemas surgirão. Ao contrário das pessoas que ordenam o tempo usando o
conceito de "happened before" com base em conceitos físicos.

5. A relação “Happened Before” não necessita de relógios físicos. Por quê?

Porque os relógios físicos não são perfeitamente precisos e não manter preciso
tempo físico.

6. Em quais condições dois eventos podem ser considerados “concorrentes”?


7. Como é possível identificar em um diagrama de espaço tempo que um evento a
qualquer é causalmente dependente de um outro evento b?

Uma maneira de visualizar a definição é dizer que a—> b significa que é possível que o
evento afete causalmente o evento b.

8. Por que um relógio pode ser visto como uma função?

Porque definimos um relógio Ci para cada processo Pi como uma função que atribui um
número Ci(a) a qualquer evento nesse processo.

9. Explique a Condição de Relógio.

O relógio do processo Pi é representado por um registrador Ci, de modo que Ci(a) é o valor
contido por Ci durante o evento a. O valor de Ci mudará entre os eventos, portanto, alterar
Ci não constitui, por si só, um evento.

10. Como pode dois eventos que são concorrentes a um mesmo evento serem, ainda
assim, dependentes entre si

Considere os processos P e Q, e os eventos a, b e c, sendo a e b pertencentes a P e c


pertencente a Q. Não existe troca de mensagens entre os processos.
Sendo assim, a e b serão dependentes entre si e c será concorrente aos dois eventos.

11. A Condição de Relógio deve satisfazer duas condições. Explique o sentido destas
condições.

Condição 1: Se a e b são eventos no processo P e a vem antes de b, então C(a) < C(b).

Essa condição cria o sentido de haver uma linha de marcação (tick line) entre
quaisquer dois eventos em uma linha de processo.

Condição 2: Se a é o envio de uma mensagem pelo processo Pi, e b é o recebimento dessa


mensagem pelo processo Pj, então C(a) < C(b).

Significa que cada linha de mensagem deve cruzar uma linha de marcação.

12. Quais são as regras de implementação que um algoritmo deve seguir para
garantir que as condições C1 e C2 sejam satisfeitas.

C1:
Cada processo P incrementa Ci entre quaisquer dois eventos sucessivos.

C2:
a) Se o evento a é o envio de uma mensagem m pelo processo Pi, então a
mensagem m contém um timestamp Tm = Ci(a).
b) Ao receber uma mensagem m, o processo Pj, define Cj, maior ou igual ao seu
valor presente e maior que Tm.

13. Por que, na figura 2 do artigo, todas as mensagens devem cruzar a “tick line”?
Explique a função desta linha.

Por causa da segunda condição da Condição do Relógio, pois se a mensagem vai de a


para b e C(a) < C(b), e a tick lines são criadas entre quaisquer 2 eventos na linha de
processo (condição 1), então a mensagem terá que cruzar a tick line.
Podemos considerar as tick lines como as linhas de coordenadas de tempo de algum
sistema de coordenadas cartesianas no espaço-tempo.

14. Explique as regras IR1 e IR2.

A IR1 serve para garantir que dois eventos não terão a mesma representação de tempo.
Já a IR2 garante que o evento de uma mensagem não chegue a outro processo com um
valor de tempo menor de quando saiu.

15. O que é o “timestamp”?

Um timestamp basicamente representa um instante único, um ponto específico na linha do


tempo, e seu valor corresponde a uma determinada quantidade de tempo decorrida a partir
de um instante inicial.

16. Explique a relação ⇒.

A relação ⇒ é uma forma de completar a ordenação parcial "happened before" para uma
ordenação total.

17. Por que as regras (i) e (ii) da relação ⇒define uma ordenação total.

Pois esta abordagem pode ser generalizada para implementar qualquer sincronização
desejada para tal sistema multi processo distribuído.

18. Por que a ordenação total dos eventos é útil em um Sistema Distribuído?

Ser capaz de ordenar totalmente os eventos pode ser muito útil na implementação de um
sistema distribuído. Na verdade, o razão para implementar um sistema correto de lógica
relógios é obter tal ordenação total.
Com a ordenação, encontrar uma solução torna-se uma tarefa simples. Envolve apenas
certificar-se de que cada processo aprende sobre as operações de todos os outros
processos.

19- Explique a “Forte Condição de Relógio”.

Condição de Relógio Forte: Para quaisquer eventos a, b em ζ:


se a --> b então C(a} < C(b).
Isso é mais forte do que a condição de relógio comum porque --> é uma relação mais forte
do que --->. Não é em geral satisfeito por nossos relógios lógicos.

Você também pode gostar