当逻辑时间戳相同时,Ricart-Agrawala算法中的死锁

问题描述 投票:0回答:1

我正在尝试在分布式系统上实现Ricart-Agrawala算法以实现互斥。根据我的理解,它使用逻辑时间戳http://blog.8thlight.com/rylan-dirksen/2013/10/04/synchronization-in-a-distributed-system.html来排序事件。

但是假设分布式系统中有10个节点。节点2和节点-5的逻辑计数器值等于3.现在,如果它们都尝试向对方发送请求以进入关键部分,则将接收具有相同逻辑时间戳值3的请求消息。现在节点 - 2具有自己的请求和来自Node-5的具有相同时间戳的请求。这也与Node-5相同。

在这种情况下,Node-5和Node-2都不会相互响应,因为它们正在等待彼此的响应。所以有一个僵局。如何在算法中避免这种情况。

如果我的理解不正确,请纠正我。

synchronization mutex clock distributed-computing mutual-exclusion
1个回答
2
投票

在时间戳相等的情况下,具有较低ID的进程获胜。您可以在幻灯片中找到更多详情:

© www.soinside.com 2019 - 2024. All rights reserved.