sam*_*sam 2 synchronization clock distributed-computing distributed-system
我有一个问题是要求绘制一个矢量时钟时间线图来说明在事件关系之前发生的部分顺序.
这是矢量时钟:
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)
Run Code Online (Sandbox Code Playgroud)
我不确定如何确定每个事件属于哪个进程.我使用的所有示例都使用矢量时钟,其值从0开始,例如V(a)=(1,0,0),因此我假设事件a是第一个发生的事件或者它与其他进程并发但我不知道该怎么做这个特别的问题.
有人可以帮忙吗?
谢谢
您正在寻找的是下图:
p1 ------- f(3,2,2)----------- b(4,2,2)--------------- ---------------------
p2 --------------------------------- d(4,3,2)--------一个(4,4,2)--------------
p3 -------- c(2,2,3)--------------------------------- ---------- e(4,4,4)---
b - > d和a - > e之间也存在进程间通信
这是为什么?
您可以看到具有共同点的进程位于同一行,然后您可以在流程行中对它们进行逻辑排序,因为该流程的行没有任何变化.如果你为它们中的每一个执行此操作,那么将很容易绘制整个交互.
希望这是你正在寻找的,虽然我认为这是一个相当古老的问题.:d