О распределенных логических часах, алгоритм Лампорта - PullRequest
0 голосов
/ 16 октября 2011

Привет всем, я хотел бы спросить о логических часах в распределенной системе.Алгоритмы Лампорта определяют, что когда события a в процессе Pi отправляют сообщение, а в процессе Pj события b получают это сообщение, то можно определить, что события a произошли до b.Предположим, что до того, как процесс Pj получил сообщение в событиях b, события c произошли в Pj (таким образом, c произошло до b) и отправили сообщение процессу Pi, а затем процесс Pi получил сообщение в событиях d после события a, тогда у нас есть событие c, как и раньше, произошло раньше, чем d.

Мой вопрос: как определить связь между событием a (первое событие произошло в Process Pi) и событием c (первое событие произошло в Process Pj)?Как разрешить процессу Pi и Pj согласовать порядок событий a и c?

Алгоритм Лампорта: http://en.wikipedia.org/wiki/Lamport_timestamps

1 Ответ

3 голосов
/ 08 ноября 2011

Ответ прост. Основываясь на алгоритме Лампорта, вы не можете определить какие-либо отношения между событиями a и c. Все, что мы знаем:

a -> b и c -> d и a -> d и c -> b

но вы не можете сделать вывод, что a -> c или c -> a это все.

...