Логические часы Лампорта

Материал из Викиконспекты
Версия от 14:01, 26 июня 2010; Andrey Danilchenko (обсуждение | вклад) (Новая страница: «'''Логическими часами Лампорта''' называется целочисленная функция из множества событий (п…»)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Логическими часами Лампорта называется целочисленная функция из множества событий (прием/посылка сообщений).

  • Каждый поток имеет целочисленную переменную, проинициализированную 0.
  • Перед посылкой, поток инкрементит ее.
  • При посылке сообщения к сообщению отправляющий поток добавляет значение своей переменной, а при приеме сообщения поток присваивает своей переменной максимум из полученного значения и значения собственной переменной и инкрементит ее.

Значением вышеупомянутой целочисленной функции на событии является значение переменной, принадлежащей тому же потоку, что и событие. Стоит заметить, что логическое время события не уникально (уникально только в рамках своего потока).

Оказывается, что если в распределенной системе ввести частичный порядок предшествования на событиях, то имеет место следующее утверждение: Если a предшествует b, то логическое время часов Лампорта события a меньше логического времени события b. (обратное, вообще говоря, не верно)