[英]A leader election algorithm for an oriented hypercube
我遇到了必須為定向超立方體設計領導者選舉算法的問題。 這應該通過使用具有等於超立方體尺寸D的回合數的錦標賽來完成。 在每個階段d中,在1 <= d <D的情況下,相鄰d維超立方體的兩個候選領導者應競爭成為(d + 1)維超立方體的單個候選領導者,這是它們各自超立方體的並集。
自研究分布式系統以來已經有很長時間了,但是我希望這可以有所幫助:)
問題是: 超立方體拓撲網絡中的領導者選舉 。 在此拓撲中,每個節點都具有完全D個鄰居(其中D是超立方體的維)。 由於超立方體是定向的 ,因此節點知道其哪個鏈接對應於每個維度。 另外,我假設所有節點都帶有一些唯一的ID,這是此類問題的典型表現。
如果我很了解您的解決方案准則,該算法似乎很簡單:一個節點的狀態完全為D。 在每個狀態1 <= d <= D中,它都沿d軸與其鄰居通信。 這種通信包括向其發送它知道的最佳候選者的ID(當d = 1時,這只是其自身的ID),並將其與對等方接收的ID進行比較。 現在,該節點知道它所屬的d階子多維數據集(由軸1,2 ...,d定義)的最佳id。 這樣,在步驟D,所有節點都知道全局最佳,並且算法以共識的方式完成。
例如,假定以下拓撲(D = 2)和id值:
(1) (2)
1-----2
| |
| |
4-----3
(4) (3)
括號中的id表示到目前為止每個節點已知的最佳id。
第一次迭代(d = 1)沿水平軸工作,並如下終止:
(2) (2)
1-----2
| |
| |
4-----3
(4) (4)
第二次(也是最后一次)迭代(d = 2)沿垂直軸工作,並終止如下:
(4) (4)
1-----2
| |
| |
4-----3
(4) (4)
已根據需要選擇了節點號4(最高ID)。
郵件計數復雜度
對於超立方體中的每個邊緣,我們都有2條消息(每個方向一條)。 由於維D的超立方體中邊數的公式為E = D * 2 ^(D-1),因此我們有M = D * 2 ^ D條消息。 為了計算復雜度作為N(節點數)的函數,請回想N = 2 ^ D,所以M = N * logN。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.