Векторные часы
Материал из Википедии — свободной энциклопедии
Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии, проверенной 4 июня 2011;
проверки требуют 2 правки.
Векторные часы — алгоритм получения частичного упорядочения событий в распределённой системе и обнаружения нарушений причинно-следственных связей. Так же, как и во временных метках Лампорта, внутренние сообщения, передаваемые в системе, содержат состояние логических часов процесса. Векторные часы в системе
процессов — массив или вектор из
логических часов, одни часы на процесс. Локальный экземпляр вектора с наименьшими возможными значениями часов для каждого процесса строится следующим образом:
- Изначально все значения часов равны 0.
- В случае внутреннего события счётчик текущего процесса увеличивается на 1.
- Перед отправкой сообщения внутренний счётчик, соответствующий текущему процессу, увеличивается на 1, и вектор целиком прикрепляется к сообщению.
- При получении сообщения счётчик текущего процесса увеличивается на 1, далее значения в текущем векторе выставляются в максимум от текущего и полученного.
Векторные часы были разработаны независимо Фиджем и Маттерном в 1988 г.[1]
Логические векторные часы — функция из упорядоченного множества событий в вектор целых чисел.
Литература [править]
- ↑ Colin J. Fidge (February 1988). "Timestamps in Message-Passing Systems That Preserve the Partial Ordering". K. Raymond (Ed.) Proc. of the 11th Australian Computer Science Conference (ACSC'88): 56–66. Проверено 2009-02-13.

