通信人家园

 找回密码
 注册

只需一步,快速开始

短信验证,便捷登录

搜索

军衔等级:

  新兵

注册:2010-1-4
跳转到指定楼层
1#
发表于 2012-4-17 13:01:04 |只看该作者 |正序浏览
原则:
1、在ulgrant允许的基础上尽可能多的传数。
2、兼顾LC,避免可着一个逻辑信道传,而低优先级信道永远无法传,所以使用了令牌桶算法。

BJ初始化为0,并且每个TTI加上PBRBJ不能超过桶的size.
Step1:所有BJ>0LC,按照优先级递减组包。BJ不能大于桶大小,否则传的数据最大就是桶大小PBR*BSDBucket Size Duration)。
     PBR无穷大的时候,必须把这个LC的数据传完才会考虑比它优先级底的逻辑信道。
Step2BJ减去步骤1里面的数据包的大小。
Step3:如果前两步执行完还有ulgrant的话,不管BJ,把剩下的数据按照LC优先级组包。

上面的话看起来很晦涩,换一种方式来理解。
用小学进出水管的办法理解令牌桶。

假设有一个容积为V的水桶,有一个进水管和一个出水管。
进水管常开,Vin=流速A*时间T,但是Vin必须小于等于V,再多水就会溢出了,进不到桶里。(这个进水管就是令牌桶原理里的令牌)

出水管偶尔才会打开。每一次流出的水不一定,而且Vout偶尔还会比V大(这个很难理解,我们姑且认为它用了魔法从别处借的水,信用卡式魔法桶,但是借的迟早要还的)。
那么桶里有多少水呢?(桶内的令牌数)Vnow=Vin-Vout
这是小学学的。

Vnow是可能为负数的。
为负数的可能性有以下几点:
1、首先Vin永远小于VVout却可能大于V Vout大于V的时候肯定是负数。
2、假设t很小的时候,这时Vin也非常小,极限情况t=0Vin=0。这时有Vout肯定是负数。
3、最正常的情况,VoutVin都在桶大小之内,但是Vout大于Vin的情况。这时也是负数。

刚才说了借债要还,所以出水管多倒出去的水是要还的,需要进水管很长时间补充才能偿还。
这段时间我们规定出水管不能再打开了。这就跟信用卡一样,你可以透支,但你透了一定程度的时候,就不能再透了。

我们再假设有好几个桶(比如10个逻辑信道),每一个桶都有进水管和出水管。优先级高的逻辑信道优先传输,但是一次传的太多了,信用卡欠账了,Vnow小于0了,这时它就不传输了。上行资源就留给其他低优先级的桶去调度,当高优先的桶把欠账还了,进水管的水补充好了,桶里有水了,就可以恢复传输了。

这样做的好处:
1、  兼顾各个优先级,避免低优先饥饿,总也分不到资源。
起到一定的流控作用。虽然偶尔会有流量的波动,但这种方法可以保证长期流速在A值。


进水管

容积V

出水管










举报本楼

您需要登录后才可以回帖 登录 | 注册 |

手机版|C114 ( 沪ICP备12002291号-1 )|联系我们 |网站地图  

GMT+8, 2024-11-17 16:02 , Processed in 0.221654 second(s), 15 queries , Gzip On.

Copyright © 1999-2023 C114 All Rights Reserved

Discuz Licensed

回顶部