第九章%第十章

骑猪上树的少年發表於2024-05-20

第九章:遺忘路由演算法(Oblivious)

Oblivious Routing 指在選取 packet 的路由路徑時,不考慮網路當前狀態的路由方法,這種方法實現簡單且易於分析。

Oblivious Routing 路由方法需要在 區域性性(locality)、均衡負載(load balance) 方面做取捨。

1、Valiant’s Randomized Routing Algorithm

一個 packet 希望從 s 傳送至 d,首先會傳送給一個隨機選擇的中間節點 x,之後再由 x 發向 d。在這兩階段中,可以採用任意的路由演算法。通常經驗來講,使用在 uniform traffic 條件下能有效均衡負載的路由演算法工作效果更好。

由於中間節點的隨機選擇,每一階段的資料傳輸均為 uniform random pattern。從總體上看,Valiant的演算法將任何流量模式的負載減少到隨機流量負載的一半。

Valiant’s Algorithm on T orus T opologies

據包透過隨機選擇的中間節點x = 31路由。在第一階段,資料包使用維序路由從s = 00到x = 31,經過4個跳,如黑體線所示。然後,在第二階段,資料包從x = 31路由到d = 12需要額外的3跳。隨機路由需要7跳才能到達目的地,而最小路由演算法只需3跳即可到達目的地,犧牲了區域性性。

Valiant’s Algorithm on Indirect Networks

2、Minimal Oblivious Routing

Minimal oblivious routing 嚴格控制選擇的路由路徑為最短路徑。這種方法在層次化的拓撲結構中表現良好,能在兼顧 locality 的同時使負載均衡。

Minimal Oblivious Routing on a Folded Clos (Fat Tree)

從 s 向 d 傳送資料包,會選擇一個距離二者最近的共同祖先節點 x 作為中間節點,先由 s 傳送至 x,再從 x 傳送至 d。

上圖展示了從1傳送至6,可以有兩條路徑選擇,經過0XXXA 或 經過0XXXB,二者都是距離最短的路徑。

Minimal Oblivious Routing on a T orus

在 Torus 拓撲中的 Minimal Oblivious Routing,限制路由路徑的中間節點位於最小象限之內(由 s 和 d 組成的長方形),並確定在每一維度上的移動方向是朝目標移動距離最短的方向。

下面展示了從 00 到 21 的多條路由路徑。可以透過隨機選擇多條路徑中的一條來均衡負載。

Torus 拓撲中採取 minimal oblivious 路由,在保留 locality 的方面表現較好,在 random traffic 中也能有效均衡負載。然而在某些最壞情況的 traffic 中,均衡負載的表現很差,如 tornado traffic。
(因為由於必須使用距離最短路徑的緣故,只能使用象限內的節點作為中間節點。一旦某個較小象限內的資料傳輸較密集,就會造成嚴重的擁擠)

第十章:自適應路由

1、自適應路由基礎

自適應路由演算法使用有關網路狀態的資訊(如佇列佔用情況),在空閒路徑中選擇傳遞資料包的路徑。由於路由依賴於網路狀態,自適應路由演算法與流量控制機制緊密耦合

一個出色的適應性路由演算法,理論上講會比 oblivious routing 更出色,因為他使用了網路的狀態作為決策資訊之一。然而在現實中,適應性路由在最壞情況下,效能非常糟糕。很大程度上這是因為,在路由的決策節點上只能獲取區域性的擁塞狀況,在將包導向區域性最優的路徑時,經常會導致全域性的負載不均衡

由節點3向節點7傳送資料,既可以選擇實箭頭路線,也可以選擇虛箭頭路線,但此時節點5和6之間正在傳輸資料。

  • 3透過自身區域性節點狀態進行路由選擇,由於不知道5-6之間正在傳輸,因此會對兩條路徑隨機選擇
  • 3直接向7傳送資料,包在5處阻塞,5向4傳送backpressure,4不再向5傳送資料包。
  • 等4處佇列也滿了之後,4向3傳送backpressure,此時3感知到前方阻塞,換另一條路徑進行路由。

Stiff Flow Control (較小的佇列容量)更適用於 Adaptive Routing。 這可以使 backpressure 訊號更快地從堵塞處傳遞給決策節點。

在 Torus 等更復雜拓撲中採用適應性路由,通常在每一跳根據區域性資訊作一次路由選擇。這也會帶來非全域性最優的問題。

在下面的 Torus 由 00 向 23 發資料。在 01 處,由於 01 到 02 輕度擁塞,所以選擇了向 11 轉發。這導致了之後所走的路徑都是重度擁塞。

2、最小路徑自適應路由

最小自適應路由演算法在從源s到目的d的最小(最短)路由中進行選擇,在每一跳上使用有關網路狀態的資訊做出路由決策。

3、完全自適應路由

全適應路由,不再嚴格要求路由路徑為最短路徑。為了避免一些擁塞路段,包可以暫時向遠離目的節點的方向作轉發。我們稱做出這種選擇的行為 Misrouting

活鎖

由繞路而導致

  • 限制 Misrouting 的次數,達到次數上限後採用 Minimal Adaptive 方法。
  • 限制 Misrouting 的頻率,每執行若干次 Minimal Routing 才能選擇一次 Misrouting。

4、負載均衡自適應路由

先進行象限選擇,在象限內使用無回溯的自適應路由

5、基於搜尋的路由

相關文章