Рисование векторной временной шкалы часов

У меня есть вопрос, который заключается в том, чтобы нарисовать диаграмму временной шкалы векторных часов, чтобы проиллюстрировать частичный порядок, произошедший до отношения к событиям.

Вот векторные часы:

V(a) = (4,4,2)
V(b) = (4,2,2)
V(c) = (2,2,3)
V(d) = (4,3,2)
V(e) = (4,4,4)
V(f) = (3,2,2)

Я не уверен, как определить, какому процессу принадлежит каждое событие. Все примеры, которые у меня есть, используют векторные часы, значения которых начинаются с 0, например. V (a) = (1,0,0), поэтому я бы предположил, что событие a является первым событием или что оно происходит одновременно с другими процессами, но я не уверен, как ответить на этот конкретный вопрос.

Кто-нибудь может помочь?

Спасибо


person sam    schedule 12.12.2012    source источник


Ответы (2)


То, что вы ищете, это следующая диаграмма:

p1 ------- f(3,2,2) ----------- b(4,2,2) ------------------------------------

p2 --------------------------------- d(4,3,2) -------- a(4,4,2)--------------

p3 -------- c(2,2,3) ------------------------------------------- e(4,4,4) ---

где также существует межпроцессное взаимодействие между b -> d и a -> e

Почему это?

Вы видите, что процессы, которые имеют что-то общее, находятся в одной строке, и затем вы можете логически расположить их в строке процесса, учитывая, что в строке этого процесса ничего не изменилось. Если вы сделаете это для каждого из них, то будет легко набросать все взаимодействие.

Надеюсь, это то, что вы искали, хотя я вижу, что это довольно старый вопрос. :D

person inquire    schedule 03.05.2013
comment
Хороший ответ! Но я думаю, что на самом деле есть только два события. Один из них p2 читает данные из p1, поэтому f(3,2,2) -> b(4,2,2) и f(3,2,2) -> d(4,3,2); другой p3 читает данные из p2, d(4,3,2)->a(4,4,2) и d(4,3,2)->e(4,4,4) - person Jin Chen; 28.05.2013

Предполагая, что исходный алгоритм векторных часов, как описан Fidge, такой набор показаний векторных часов невозможен.

Во-первых, заметим, что существует цепочка линейно упорядоченных событий: f ‹ b ‹ d ‹ a ‹ e. Каждый элемент в этой цепочке отличается от следующего только одной тактовой составляющей и только на 1. Это означает, что все эти события происходят в одном и том же процессе, потому что в противном случае пара событий из цепочки должна быть связана путем сообщений (потому что они упорядочены и, следовательно, причинно связаны), но каждая отправка и получение сообщения изменяют 2 компоненты векторных часов (один раз для отправки и один раз для получения).

Следовательно, все события из цепочки происходят на одном и том же процессе, но тогда тактовая составляющая, соответствующая этому процессу, должна монотонно возрастать по цепочке. Противоречие.

person nikita    schedule 30.01.2013