【问题标题】:Deadlock in Ricart–Agrawala algorithm when logical timestamps are same逻辑时间戳相同时 Ricart–Agrawala 算法的死锁
【发布时间】:2015-04-28 08:11:51
【问题描述】:

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

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

在这种情况下,Node-5 和 Node-2 将永远不会相互响应,因为它们正在等待对方的响应。所以出现了僵局。在算法中如何避免这种情况。

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

【问题讨论】:

    标签: synchronization mutex clock distributed-computing mutual-exclusion


    【解决方案1】:

    如果时间戳相等,则 ID 较低的进程获胜。您可以在幻灯片上找到更多详细信息:

    【讨论】:

      猜你喜欢
      • 2011-03-12
      • 2023-03-27
      • 2014-09-22
      • 1970-01-01
      • 2012-05-10
      • 2017-08-22
      • 1970-01-01
      • 2015-04-02
      • 1970-01-01
      相关资源
      最近更新 更多