【问题标题】:LCR vs Floodmax in distributed computing (Leader Election)分布式计算中的 LCR vs Floodmax(Leader Election)
【发布时间】:2013-01-03 17:58:36
【问题描述】:

我试图了解 LCR 和 Floodmax 在同步网络环境中的实际区别。

我了解 Floodmax 的时间复杂度为 O(N),其工作原理如下:

  • 每个进程都保持它迄今为止看到的最大 UID(最初是它的 拥有)。
  • 在每一轮中,每个进程都会将此最大值发送给每个 即将离任的邻居。
  • 在直径回合之后,如果最大值是进程的 UID,那么它 选举自己为领导者,否则为非领导者。

另一方面,LCR:

  • 每个进程都围绕环发送其 UID。当一个进程收到一个 UID,它会将这个与自己的进行比较。
  • 如果传入的 UID 更大,则将这个 UID 传递给下一个 过程。
  • 如果传入的 UID 较小,则将其丢弃。
  • 如果相等,则进程将自己声明为领导者。

它的时间复杂度也是 O(N)。因此,从本质上讲,这两种算法都在令牌环网络中传递 UID。两者之间有什么真正的区别或优势吗?

【问题讨论】:

    标签: algorithm networking distributed


    【解决方案1】:

    顾名思义,FloodMax 算法用消息“淹没”网络。与 LCR 不同,即使网络拓扑不是环形,FloodMax 也能正常工作。 FloodMax 算法的先决条件是必须知道网络直径(对于 LCR,情况并非如此)并且具有直径轮次的时间复杂度。另一方面,LCR 不需要知道网络直径:因此它需要额外的通信开销,因为领导者需要在选举自己后通知所有其他进程终止。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-26
      • 1970-01-01
      • 2014-05-20
      • 2011-12-01
      • 2011-01-11
      • 2011-06-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多