簡體   English   中英

分布式計算中的LCR vs Floodmax(領導者選舉)

[英]LCR vs Floodmax in distributed computing (Leader Election)

我試圖了解同步網絡中LCR和Floodmax之間的實際區別。

我了解Floodmax的時間復雜度為O(N),並且本質上如下工作:

  • 每個進程都將保持到目前為止已看到的最大UID(最初是自己的UID)。
  • 在每個回合中,每個進程都會將此最大值發送給每個傳出鄰居。
  • 如果最大值是進程的UID,則在進行diam取整之后,它將選舉自己為領導者,否則為非領導者。

另一方面,LCR:

  • 每個進程在環周圍發送其UID。 進程收到UID時,會將其與其自身進行比較。
  • 如果傳入的UID較大,則它將此UID傳遞到下一個進程。
  • 如果傳入的UID較小,則將其丟棄。
  • 如果相等,則過程將自己聲明為領導者。

它的時間復雜度也為O(N)。 因此,從本質上講,兩種算法都在令牌環網絡中繞過UID。 兩者之間有什么真正的區別或優勢?

顧名思義,FloodMax算法會將消息“淹沒”網絡。 與LCR不同,即使網絡拓撲不是環形,FloodMax也可以使用。 FloodMax算法的先決條件是必須知道網絡直徑(使用LCR則不是這樣),並且網絡直徑具有時間復雜度。 另一方面,LCR不需要知道網絡直徑:因此,它需要額外的通信開銷,因為領導者一旦選舉出自己就需要通知所有其他進程終止。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM