当前位置: 代码迷 >> PB >> LTE-TDD资源调度(二)-PBR、BSD和令牌桶设计
  详细解决方案

LTE-TDD资源调度(二)-PBR、BSD和令牌桶设计

热度:582   发布时间:2016-04-29 05:10:00.0
LTE-TDD资源调度(2)-PBR、BSD和令牌桶设计

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侧令牌桶设计

由于RRC消息不会携带QCI参数,因此无论是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分配。


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)


  相关解决方案