佇列調度

介紹佇列調度的產生背景和佇列調度算法。

基本介紹

  • 中文名:佇列調度
產生背景,佇列調度算法,

產生背景

在網路上傳送業務時,佇列調度實現網路中的中繼節點和路由器如何從一個或多個數據包佇列中選擇一個待轉發的佇列。

佇列調度算法

常用的佇列調度算法有以下3種:SP(Strict Priority,嚴格優先權)、RR(Round Robin,循環調度)和WRR(Weighted Round Robin,加權循環調度算法)。
  • SP
原理:對不同的佇列設定不同的優先權,優先權高的佇列絕對優先於優先權低的佇列,只要優先權高的佇列中有數據包存在,優先調度優先權高的佇列。
如下圖所示,假設佇列優先權從高到底的排序為:佇列0>佇列1>佇列2>佇列3。
佇列調度1佇列調度1
各佇列的數據包存儲情況如上圖所示,現在開始進行佇列的調度。
佇列調度2佇列調度2
1).因為佇列0有數據包存在,優先調度佇列0,直至佇列0的數據包調空為止。然後調度佇列1。
佇列調度
2). 佇列0和佇列1的數據包均空的情況下,調度佇列2 。
佇列調度
3). 佇列0、佇列1、佇列2的數據包均空的情況下,調度佇列3 。
佇列調度
採用SP調度算法時,只要高優先權佇列中有數據包,低優先權佇列便得不到調度。但實際情況經常是高優先權的業務可能會一直存在,那么佇列永遠不會為空,結果低優先權的佇列永遠得不到調度,例子中佇列3的得不到調度的情況尤其惡劣。
優點:配置簡單,絕對保證高優先權套用的頻寬。
缺點:不能保證高優先權外的服務得到合理頻寬,甚至會餓死,從而不能公平地保證各種套用的服務質量。
  • RR
原理:依次調度各佇列的數據包,重複一個又一個周期。這是一個絕對公平的調度算法。
在所有佇列的數據包都可以調度的情況下,RR算法的調度過程如下圖所示。
佇列調度
優點:絕對公平。
缺點:分不清輕重緩急,高優先權的數據包得不到優先調度。
  • WRR
原理:設定一個權重表,通過對權重表的分配可以較多的調度優先權高的佇列。
假設我們配置的權重表如下表所示,從表中我們可以看出配置佇列0:佇列1:佇列2:佇列3的權重為6:4:3:2 。
佇列調度
根據權重表的配置,我們先查看最左邊第一個配置的佇列,此時佇列為2,那么如果佇列2非空,我們就優先調度佇列2,佇列2空的情況下,指針下移至權重表下一個配置。佇列2調度完成後,指針指向佇列0,那么優先調度佇列0,然後指針繼續下移。指針下移至權重表最後一個配置後,指針移至權重表第一個配置,新一個調度周期開始。
假設佇列0-佇列3所有佇列非空,那么一個WRR調度周期的輸出佇列情況如下圖所示。
佇列調度

相關詞條

熱門詞條

聯絡我們