Часы Лэмпорта — алгоритм определения порядка событий в распределённой системе (логические часы), разработанный Лэсли Лэмпортом в 1978 году, является прообразом векторных часов.
Так как синхронизировать все узлы полностью невозможно, на множестве событий вводится отношение частичного порядка. Часы Лэмпорта присваивают каждому событию единственное число, монотонно увеличивая счётчик каждого процесса согласно следующим правилам:
- счётчик увеличивается перед каждым внутренним событием процесса;
- при отправке сообщения значение счётчика прикрепляется к сообщению;
- при получении сообщения значение счётчика процесса-получателя выставляется в максимум текущего и полученного значения и увеличивается на 1.
ЛитератураПравить
- Leslie Lamport. Time, clocks, and the ordering of events in a distributed system (англ.) // Communications of the ACM : journal. — 1978. — Vol. 21, no. 7. — P. 558—565. — doi:10.1145/359545.359563.
- Косяков М. С. Введение в распределенные вычисления. –. — СПб.: НИУ ИТМО, 2014. — С. 68—75. — 155 с.
- Chapter 3: Logical Time // Ajay Kshemkalyani and Mukesh Singhal, Distributed Computing: Principles, Algorithms, and Systems, Cambridge University Press, 2008 (Scalar Time)
Для улучшения этой статьи желательно:
|