LTE-TDD資源調度(2)-PBR、BSD和令牌桶設計



轉載, 原文鏈接(http://blog.csdn.net/m_052148

1.什麼是令牌桶策略

利用QoSQuality of Service,業務質量)策略,能將用戶的數據流量限制在特定的帶寬。在LTE裏,要衡量流量是否超過了額定的帶寬,並不是採用單純的數字加減法來決定。比如額定帶寬爲100kB,而某個時刻用戶發送的流量爲110kB,那麼LTE並不是靠110kB減去100kB等於10kB,來認爲用戶超過流量10kB。判斷流量是否超過了額定的帶寬,需要使用令牌桶(Token Bucket算法來計算。

所謂令牌桶算法,就是在令牌桶中放置一定數量的令牌,一個令牌允許發送1Byte數據。當發送完1Byte數據後,需要從桶中移除一個令牌。當桶裏沒有剩餘令牌的時候,繼續發送任何大小的數據,都會被認爲超過了額定帶寬。只有當桶中有剩餘令牌時,才能繼續發送數據。就好像一個池塘裏的水一樣,既可以流出也可以流入,令牌桶中的令牌不僅僅可以被移除,同樣也可以往裏添加。爲了保證可以隨時發送數據,需要不停地往桶裏加令牌。因此,往令牌桶裏添加令牌的速度,也就決定了發送數據的速度。比如設置用戶的帶寬爲1000Bps,只要保證每秒鐘往桶裏添加1000個令牌即可。

令牌桶的策略在調度邏輯信道數據的時候會用到。

2.邏輯信道的資源授權

單個邏輯信道的調度或者說授權資源,需要考慮令牌桶的算法。協議36321中的Fig4.5.3.2-1列出了下行所有邏輯信道與傳輸信道之間的映射關係圖,與令牌桶設計相關的是DCCHDTCH邏輯信道。其中,SRB1(Signalling Radio BearerSRB2DCCHDedicated Control Channel)中傳輸,DRBData Radio Bearer)在DTCHDedicated TrafficChannel)中傳輸。因爲CCCH只走SRB0承載,且僅在隨機接入過程中使用,所以並不涉及令牌桶算法。


協議36321中的Fig4.5.3.1-1列出了上行所有邏輯信道與傳輸信道之間的映射關係圖,與下行相類似,DCCHDTCH邏輯信道均需要令牌桶的設計。

LTE-TDD資源調度(1)-QCI、GBR和Non-GBR》裏已有描述,協議設定的時候,UE側只需要邏輯信道優先級PriorityPBRPrioritised Bit Rate)和BSDBucket Size Duration)這幾個參數,它們均在信元LogicalChannelConfig中獲取,具體路徑如下圖所示。其中,邏輯信道優先級Priority決定了多個邏輯信道複用時,資源分配的先後順序,PBR表示每秒鍾向桶內注入的字節個數(1個字節表示1個令牌),BSD表示桶的深度,以ms爲單位。比如,PBR=kBps8,BSD=ms100,則每1ms添加的令牌個數=8k/1000=8Bytes,令牌桶的最大容量=8Bytes*100=800Bytes。

3.eNB側令牌桶設計

無論是GBR還是Non-GBR,對於UE來說,邏輯信道的令牌遞增速度都是(PBR*TTI),最大容量不能超過(PBR*BSD)。而在eNB側,對於GBRNon-GBR類承載,除了需要像UE側那樣根據PBRBSD進行令牌桶的設計外,還需要考慮GBRMBRAMBRQoS參數,進行額外的令牌限制。因爲eNB側的設計思想包含了UE側的設計,本文就以eNB側的需求來描述令牌桶的設計。

對於GBR類承載,需要設計的令牌桶有GBR令牌桶、MBR令牌桶;而對於Non-GBR類承載,需要設計的令牌桶是PBR令牌桶和AMBR令牌桶。下面以GBR類承載的2個令牌桶(GBR桶和MBR桶)爲例說明實現的原理,其他的令牌桶原理類似實現。

eNB側在調度GBR類承載的時候,需要考慮2個步驟:

第一步,使用GBR桶,滿足所有GBR類邏輯信道的調度需求。此時按照優先級高低順序(Priority參數值越小表示優先級越高),依次處理,但每個邏輯信道不能超過GBR桶容量限制。

第二步,在完成第一步的GBR需求後,如果還有剩餘的資源,使用MBR桶。按照優先級高低順序,依次滿足所有邏輯信道數據傳輸的需求,但每個邏輯信道不能超過MBR桶容量限制。

對於GBR令牌桶來說,桶的單位遞增容量是GBR,深度是BSD,最大容量是(GBR*BSD)。每個TTI時間內,令牌桶內增加的令牌個數固定是GBR個。每發出1Byte的數據,表示使用了1個令牌,就需要從剩餘令牌個數裏減去。調度數據前若檢測到該桶的令牌個數降爲0,則不能在該邏輯信道中發送數據。爲了監視某個令牌桶內還有多少個剩餘的令牌,需要給令牌桶綁定了一個變量Bj_g,來表示當前該桶內還有多少個可用的令牌個數。Bj_g初始值爲0,後續每個TTI內遞增GBR,但不能超過(GBR*BSD)。

對於MBR令牌桶來說,桶的單位遞增容量是MBR,深度是BSD,最大容量是(MBR*BSD)。每個TTI時間內,令牌桶內增加的令牌個數固定是MBR個。同樣的,需要給該令牌桶綁定一個變量Bj_m,來表示當前該桶內還有多少個可用的令牌個數。Bj_m初始值爲0,後續每個TTI內遞增MBR,但不能超過(MBR*BSD)。

GBR桶和MBR桶的使用,可以參考下面幾張過程示意圖。

圖1:添加和刪除令牌的一般流程,剩餘令牌個數Bj在【0,BSD*GBR】之間動態變化

圖2:一段時間內無下行數據調度,令牌桶滿,Bj達到最大值(BSD*GBR)


圖3:短時間內調度大量下行數據,剩餘令牌數急劇減少,直到某次調度完後,Bj<0


圖4:Bj<0後,不能再次調度下行數據,直到向桶內注入足夠多的令牌,滿足Bj>0的條件


4.邏輯信道的複用策略

單個邏輯信道的調度或者說授權資源,需要考慮令牌桶的算法,當有多個邏輯信道在一起需要同時授權時,則需要考慮信道間的優先級和複用策略。下面舉例說明這種策略。

前置條件

(1)某個TTI週期,UE1的A、B、C三個邏輯信道有數據需要發送,信道優先級分別是高、中、低,承載類型分別是Non-GBR、GBR、Non-GBR。

(2)分配資源前,每個令牌桶的Bj>0(因此每個邏輯信道都有機會發送數據)。 所有Non-GBR類的PBR桶最大容量之和不超過AMBR最大容量。

(3)A信道待傳數據量大於PBR桶最大容量,但小於AMBR桶最大容量。B信道待傳數據量大於GBR桶最大容量,也超過MBR桶最大容量。C信道待傳數據量小於PBR桶最大容量。

策略步驟

(1)按照優先級高低順序,首先根據A信道的實際待傳數據量需求,預分配RB資源個數,但不能超過PBR桶最大容量限制;然後給B信道分配RB資源,受GBR桶最大容量限制;最後滿足C信道的實際數據傳輸需求。

(2)剩餘的RB資源,繼續按照優先級順序分配。首先判斷A信道是否還有數據待傳,如果有則給A信道分配,但不能超過AMBR桶最大容量限制;其次判斷B信道是否還有數據待傳,如果有則給B信道分配,不能超過MBR限制;最後考慮給C信道分配,不能超過AMBR桶限制(根據前置條件,此處實際不會再給C分配RB資源)。需要注意的是,A、C信道共用1個AMBR桶,在考慮C信道的AMBR桶最大容量限制時,需要考慮A信道已使用的AMBR桶令牌數

(3)如果此時還有空閒的RB資源,不能再給UE1分配。


上面描述的是一種策略,還有一種策略是:

(1)給高優先級的UE1分配資源,滿足PBR/GBR的需求。

(2)如果還有資源,給低優先級的UE2分配資源,滿足PBR/GBR的需求。

(3)如果還有資源,給高優先級的UE1分配資源,滿足AMBR/MBR的需求。

(4)如果還有資源,給低優先級的UE2分配資源,滿足AMBR/MBR的需求。

具體採用哪種策略,由eNB的實現決定。

5.參考文獻

(1)3GPP TS 36.321 V9.6.0 (2012-03) Medium Access Control (MAC) protocol specification

(2)3GPP TS 36.331 V9.18.0 (2014-06) Radio Resource Control (RRC)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章