Векторные часы — алгоритм получения частичного упорядочения событий в распределённой системе и обнаружения нарушений причинно-следственных связей (логические часы).

Таким же образом, как и во временных метках Лэмпорта, внутренние сообщения, передаваемые в системе, содержат состояние логических часов процесса. Векторные часы в системе процессов — массив или вектор из логических часов, одни часы на процесс. Локальный экземпляр вектора с наименьшими возможными значениями часов для каждого процесса строится следующим образом: изначально все значения часов равны 0; в случае внутреннего события счётчик текущего процесса увеличивается на 1; перед отправкой сообщения внутренний счётчик, соответствующий текущему процессу, увеличивается на 1, и вектор целиком прикрепляется к сообщению; при получении сообщения счётчик текущего процесса увеличивается на 1, далее значения в текущем векторе выставляются в максимум от текущего и полученного.

Векторные часы были разработаны независимо Фиджем и Маттерном в 1988 году .

Логические векторные часы — функция из упорядоченного множества событий в вектор целых чисел.

Примечания

Литература

Chapter 3: Logical Time // Ajay Kshemkalyani and Mukesh Singhal, Distributed Computing: Principles, Algorithms, and Systems, Cambridge University Press, 2008 (Vector Time)

Категория:Распределённые вычисления