RR

輪詢調度

Round-Robin,輪詢調度,通信中通道調度的一種策略,該調度策略使用戶輪流使用共享資源,不會考慮瞬時通道條件。

簡介


從相同數量無線資源(相同調度時間段)被分配給每條通信鏈路的角度講,輪詢調度可以被視為公平調度。然而,從提供相同服務質量給所有通信鏈路的角度而言,輪詢調度是不公平的,此時,必須為帶有較差通道條件的通信鏈路分配更多無線資源(更多時間)。此外,由於輪詢調度在調度過程中不考慮瞬時通道條件,因此它將導致較低的整體系統性能,但與最大載干比調度相比,在各通信鏈路間具有更為均衡的服務質量。
隊列調度演演算法的公平性、分組排隊時延等性能是影響路由設備QoS特性的中央因素。隊列調度演演算法可用循環調度(RR,Round Robin)等演演算法。
傳統的輪詢演演算法對不同的分組業務流隊列進行同樣的無差別的循環調度服務,這樣的調度方式對於等長業務流隊列是公平的,但是網際網路的業務流是由不定長分組流構成的,因此不同的隊列就可能具有不同的分組長度,結果分組長度大的業務流隊列將可能會比分組長度小的業務流隊列接收更多的服務,是隊列之間產生不公平的現象;而且,這種演演算法也無法事先對業務需要的時延保證。

分類


為了改進RR演演算法的時延特性和其在變長分組環境下的不公平性,人們又提出了一些改進演演算法,如加權輪詢(WRR,Weight RR),差額輪詢(DRR,Defict RR),緊急輪詢(URR,Urgency-based RR)。這些演演算法都力圖在盡量保持RR演演算法實現簡單性的同時,從不同的方面改進RR演演算法的時延特性和其在可變長分組環境下的不公平性。

WRR

WRR也是周而復始地輪詢分組業務流隊列,但不同的是WRR演演算法為每個業務流隊列分配一個權值,當輪詢到某個業務流隊列時,將根據它所具有權值的大小決定其可轉發分組的個數,而不是只轉發一個。由於WRR是基於輪詢的,因此它只是在大於一個輪詢周期的時間上才能顯示是公平的,同時,當隊列的分組大小不等時,它也不能公平地分配帶寬。

DRR

DRR演演算法通過為各業務流分配服務權值來解決RR調度在變長分組環境中的不公平性。DRR演演算法規定,每個調度循環中的的業務流隊列i可接收的服務量定額為Q。在首輪循環中,若業務流隊列i的隊首分組的長度大於Q,就不能在本輪得到服務,其服務量定額Q被累加到分組下一輪;若隊首分組長度小於Q,則該分組可接收服務,本輪未用完的服務質量定額也將累加到下一輪;在以後的調度循環中一次類推。由此可見,即使分組長度不同各業務不會流隊列獲得的服務量也不會超過其定額,從而隔離了各業務流之間的相互影響。DRR演演算法提高了變長分組環境中演演算法的公平性,又沒有增加RR演演算法原有的複雜度。但DRR演演算法在時延特性上有明顯的缺點,即在每個調度循環中,隊列的服務順序是靜態指定的,不能根據業務的屬性進行動態調整,因此難以有效地支持實時業務。

URR

URR演演算法是為改善RR演演算法時延特性而提出的另一種演演算法。URR個緊急性指數演演算法為每個隊列分配U;在每個調度循環前,演演算法首先計算各隊列的U值,然後按照U的大小順序為各隊列提供服務。儘管URR演演算法改善了時延特性,但其原有的公平性問題仍然存在。