Различия между часами Lamport (скалярные логические часы в вашем термине), векторные часы и матричные часы лежат в том, что они представляют разные уровни знание.
Для векторных часов $ vt_i [1 \ ldots n] $ в сайте $ i $, запись $ vt_i [k] $ представляет собой знание сайта $ S_i $ о сайте $ S_k $. Знание имеет вид «$ i $ знает $ k $, что $ \ ldots $".
Для матричных часов $ mt_i [1 \ ldots n, 1 \ ldots n] $ в сайте $ S_i $ запись $ mt_i [k, l] $ представляет собой знание, которое сайт $ S_i $ имеет о знании по $ S_k $ о сайте $ S_l $. Знание здесь формы «$ i $ знает, что $ k $ знает $ l $, что $ \ ldots $".
Интуитивно мы можем делать больше вещей с большим количеством знаний.
Следующее описание в основном цитаты из [1]:
Векторные часы и матричные часы широко используются в асинхронных распределенных передачи сообщений системы.
Некоторые примеры областей, использующих векторные часы, представляют собой контрольную точку, причинную память, поддерживая согласованность реплицированных файлов, глобальный моментальный снимок, глобальное приближение времени, обнаружение прекращения, ограниченное многопользовательское построение общих переменных, взаимное исключение и отладку (обнаружение предикатов).
Некоторые примеры областей, использующих матричные часы, разрабатывают отказоустойчивые протоколы и распределенные протоколы базы данных, включая протоколы для отбрасывания устаревшей информации в распределенных базах данных и протоколы для решения реплицированных журналов и проблем с реплицированными словарями.
Для матрицы часов, мы замечаем, что $ min_k (mt_i [к, г]) \ аличные $ означает, что сайт $ S_i $ знает, что любой другой сайт $ к $ знает свой прогресс до своего местного времени $ т $.
Это свойство позволяет сайту больше не отправлять информацию с местным временем $ \ le t $ или отбрасывать устаревшую информацию.
[1] Concurrent Knowledge and Logical Clock Abstractions Ajay D. Kshemkalyani 2000
не могли бы вы узнать, что другие узлы знают, в конечном счете, за счет использования векторных часов? (или это займет намного больше времени, и количество сообщений будет намного дольше?) –
да, вам нужно поговорить с каждым узлом p2p, чтобы получить там векторные часы и узнать, что они знают. матрица синхронизирует информацию с каждого узла, с которым вы общаетесь – peter