大家好,我想问一下分布式系统中的逻辑时钟。Lamport 算法定义当事件 a 在进程 Pi 中发送消息,并且在进程 Pj 中事件 b 接收到该消息,则可以定义事件 a 在 b 之前发生。假设进程 Pj 在事件 b 收到消息之前,事件 c 发生在 Pj 上(因此 c 在 b 之前发生)并发送消息进程 Pi,然后进程 Pi 在事件 a 之后在事件 d 收到消息,那么我们就有事件 c , 以及 a, 发生在 d 之前。
我的问题是,如何定义事件 a(第一个事件发生在 Process Pi 上)和事件 c(第一个事件发生在 Process Pj 上)之间的关系?如何让进程 Pi 和 Pj 都同意事件 a 和 c 的顺序?