dtechlog
7 лет назадАлгоритмы / Часы Лэмпорта
Часы Лэмпорта реализуют алгоритм определения последовательности событий в распределённых системах, алгоритм разработан Лэсли Лэмпортом в 1978 году и является прообразом алгоритма векторных часов.
Минимальные характеристики узлов распределённой системы для применения алгоритма:
- отсутствие синхронизации с другими узлами
- способность к приёму и передаче данных один-на-один
- поле счётчика с функциями чтения, записи, сравнения и инкремента
Алгоритм действий:
Первичная инициализация счётчика T:
Т = 0
Действие по внутреннему событию:
T = T + 1
Отправка события и значения счётчика другим узлам
Действие при получении события со значением счётчика TN с другого узла:
Если TN > T, то T = TN
T = T + 1