基于发送缓存的VideoStream调度算法研究及其FPGA实现
2009-02-17
作者:翁英萍, 季中恒, 彭建华
摘 要: 研究了CDMA2000 1x EVDO系统一种支持VideoStream业务的调度算法及FPGA实现;通过大量研究和设计,得到一种能保证性能和速度,又适合硬件实现的调度算法。综合时选用Altera公司的StratixII 系列EP2S60F484C4芯片,并通过功能仿真验证了硬件实现的可行性和正确性。
关键词: 视频流; 调度; 现场可编程阵列
随着固网和移动网的融合,为适应新的业务应用需求,提高无线网络资源利用率,满足业务的QoS要求,对现有网络架构提出了实质性的改变,更是对网络性能提出的挑战。作为CDMA2000 1x EVDO 系统关键技术之一的多用户调度越来越引起学者的关注。本文在已有参考文献的基础上提出一种针对视频流业务的无线分组调度算法,并用FPGA予以实现,证明其可行性。
1 多用户调度原理
CDMA2000 1x EVDO系统的前向由导频信道、MAC信道、控制信道和业务信道采用时分复用(TDM)的方式组成[1]。业务信道用来传输业务数据,由系统中的所有用户共享使用;控制信道用于广播系统开销消息以及发送寻呼消息;而MAC信道通过码分的方式将用于过载控制的反向活动指示、反向功率控制和辅助实现虚拟软切换的DRCLock三个子信道复用在一起。在时间轴上,CDMA2000 1x EVDO将前向信道分为长1.67ms的时隙,每个时隙由2 048个码片构成,每个时隙又分为两个1/2时隙,其结构如图1所示。
CDMA2000 1x EVDO的前向始终以最大功率发射,当系统处于空闲状态时,前向仅发射导频和MAC信道,而当系统中的用户有数据需要传输时,业务信道以时隙为单位在不同用户之间通过调度分配使用。同一时刻,系统只向一个用户发射数据,避免了小区内的多用户干扰,而且采用了自适应调制编码以适应时变的信道,表1列出了Rlease 0系统前向采用的可变数据速率集。CDMA2000 1x EVDO在反向引入数据速率控制信道(DRC),移动台根据测量的载干比来向基站申请能够实现数据可靠接收的最大前向传输速率;基站中的调度程序根据终端申请的速率以及一段时间内时隙分配的情况来决定下一个时隙给哪一个移动台使用。一般当移动台处于深衰落状态时,调度程序就不给它分配传输时隙或少分配传输时隙,而更多地为申请高传输速率的移动台服务,从而实现系统数据吞吐量的提高,这个过程就是本文将要重点研究的多用户调度。多用户调度作为CDMA2000 1x EVDO关键技术之一直接影响到系统性能和业务及用户的QoS要求,因此对调度算法的研究势在必行。系统前向分组发送调度的示意见图2。
图2中,用户信息模块一般保存有用户的权限、业务的QoS需求等相关信息;信道状态信息模块从反向的逻辑信道中提取各用户上报的状态信息(如DRC);用户队列一般采用先进先出原则缓存发送到用户的数据分组,并将分组排队信息反馈到调度模块;分组模块综合利用业务的QoS需求、分组队列信息以及用户信道状态信息等来决定传输时隙的分配。
2 基于回播缓存的调度
参考文献[2]结合了视频流自身的业务特性, 在M-LWDF、EXP算法基础上,提出了PB-M-LWDF、PB-EXP算法。该算法考虑了接收端回播缓存(Play—Buffer)空间的大小:当缓存数据量小于某个门限值时,增加优先权,反之降低优先权。具体数学描述如下。
(1) M-LWDF算法调度准则[3]:
(2) EXP算法调度准则[4]:
(3)以上两种算法的Wi权重兼指用户i队列头部数据分组(HOL)的最大时延,而Karina Gribanova等学者不仅考虑了HOL时延,还加入了视频回播参数, 如下:
式(3)中l(t)为回播缓存数据量,Rd(t)为回播速率,于是可以得出在Wi(t)及Rd(t)相等的情况下,当缓存数据多时就会相应地降低优先权,反之增加优先权。最后得到PB-M-LWDF、PB-EXP调度准则。
参考文献[2]仿真验证了PB-M-LWDF、PB-EXP调度准则,与M-LWDF及EXP算法相比改善了丢包率。
3 基于发送缓存的调度算法
基于回播缓存,顾名思义,基站需要得到接收端的缓存信息,而CDMA2000 1x EVDO标准没有此项开销消息的配置,更改规范也是不合理的,因此该算法在实际应用中不可能实施,针对该缺点,本节提出一种基于发送缓存的调度算法。
一般地,基站发送缓存量与终端回播缓存量存在一定的关系[5]:当发送缓存较少时,接收端的回播缓存一般较多,而不需要立即发送;换个角度来说就是,如果发送缓存较大,就意味着接收缓存很少,需立即发送数据以避免出现回播缓存的饿死现象。但数据发送并不仅仅与缓存量有关,还与用户数据之前是否被调度的历史信息有关。例如,有两用户数据,其中一个用户被连续调度,而另一用户则被间断调度,但发送缓存量相等,这时该调度哪个分组数据就成了问题。
3.1 优先权函数
(1) 最能体现用户被调度状况的就是用户的平均吞吐量,其更新过程如下:
优先权与该值成反比。
很明显i用户t+1时隙的信道平均状态与t时隙是否分配给i用户无关,因此其更新较为简单,式中β是平滑因子。DRC(t)/表征信道当前状态与平均状态的比值,优先权与该值成正比。
同样i用户t+1时隙发送缓存的平均存储量也与t时隙是否分配给i用户无关,因此其更新也较为简单,式中bi(t)为i用户n时隙缓存量,λ是平滑因子。
(5)根据当前缓存量给出用户权重因子wi(t),更新如下:
3.2 算法流程
假设系统仅支持后台类及视频流业务,根据经典PF算法及(11)式给出的优先权函数,算法流程如下:
(1)给每个用户分别设立后台类及视频流业务两队列,对每个分组按业务及用户输入相应的队列,如图3所示。
(2) 将不同业务类型的用户根据不同的调度准则,对权值进行比较。
后台类业务调度准则,PF算法:
(3) 比较(12)、(13)式权值大小,将时隙分配给权值最高的用户。
(4) 根据式(6)、(7)、(8)、(9)、(10)更新各参数值,进行下一时隙的权值比较。
3.3 仿真验证
小区采用单扇区配置,多用户在小区内均匀分布,仿真时用户数量为8,信道模型为瑞利衰落,路损指数为4,用户移动速度为3km/h,基站发射功率为20W,小区半径为1km;分组发送规格及速率集以CDMA2000 1x EVDO Rlease 0 技术规范为准,见表1,传输速率与信噪比的对应关系见表2,分组大小为128bit,且在仿真过程中不考虑分组到达过程的影响,并假定用户的数据缓存足够大且用户数据队列中有足够多的分组以供下载。
调度器的调度周期为一个时隙,并假设用户的DRC在一个时隙内是不变的。时隙长是1.667ms。仿真时所用的用户权重因子wi(t)更新参数:bimax=32KB,bihigh=0.5,bilow=0.2;各参数更新的平滑因子α、β、λ固定为0.001,而μ为0.01。假设所有用户仅接受后台类及视频流业务服务,与EXP指数算法、参考文献[2]提出的PB算法的性能进行比较。
(1)将时隙分配概率作为仿真结果进行比较,如图4。
由仿真结果可以看出,在满足视频流业务QoS的前提下,系统为后台类业务提供了更高的吞吐率,而且比PB算法的资源利用率还有效。
(2)将系统吞吐量作为仿真结果进行比较,如图5。
由仿真结果可以看出,随着视频流业务的增多,系统吞吐量呈下降趋势,本文提出的基于发送缓存的调度算法与PB算法具有相似的系统吞吐量。
4 算法的硬件实现
仿真结果表明,本文的调度算法具有比PB算法更高的系统性能,由此本文根据该算法设计出一高速可行的调度器。在硬件设计中,根据扇区内的激活用户数来设计FPGA模块,给每个用户分配 PF权值计算和基于发送缓存的权值计算模块各一块,将计算结果送入顶层的权值比较器,由比较结果来控制最终的发送分组。图6给出了顶层设计模块图。
4.1 算法模块FPGA实现
本文的硬件实现方法是基于DSPbuilder的建模方式[6],在建模时也尽量采纳库里包含的计算模块。
(1) PF算法比较简单,其结构框图如图7。
PF算法的缺点是:DSPbuilder库里的除法器运算结果是商和余数,将该值送入权值比较器会出现比较错误,因此考虑将除数扩大1 024倍来近似消除余数的影响,而只将商送入权值比较器。
(2)基于发送缓存的算法,其结构框图如图8。
为降低运算流程的复杂度,设计缓存监视模块时,考虑队列缓存直接使用DSPbuilder库里的FIFO模块,再利用查表方式得到缓存利用率,从而提高运算速度,对于除法运算的设计技巧同样采用方式(1)。
4.2 调度器功能仿真
用QuartusII综合由DSPbuilder编译完成工程项目,并对该项目进行波形功能仿真。由于QuartusII库I/O资源有限,因此只对两个用户的业务分组调度进行波形仿真,结果如图9。
仿真结果与理论结果完全一致,图9中Input、Input2分别为用户1、用户2的DRC输入;Input1、 Input7分别为用户1、用户2的数据源,包含后台类及视频流两种数据业务,用第一比特的0、1区别,0表示视频流,1表示后台类业务;Output1、Output7分别为用户1、用户2的被调分组的输出。
本文针对视频流这一主流多媒体业务,提出一种基于发送缓存的调度算法,该算法克服了PF的固有缺点(基站侧要有终端回播缓存的反馈信息),在理论上也有比PF算法较好的系统性能,通过功能仿真也证明了设计的调度器的可行性。
参考文献
[1] 3GPP2 C.S0024 v4.0. CDMA2000 high rate packet data air interface specification[S]. March 2004.
[2] GRIBANOVA K, J?魧NTTI R. On scheduling video streaming data in the HDR system.IEEE 2004:2572-2576.
[3] ANDREWS M, KUMARAN K, RAMANAN K,et al. Providing quality of service over a shared wireless link[J]. IEEE Communications Magazine,2001:150-154.
[4] SHAKKOTTAI S, STOLYAR A. Scheduling algorithms for a mixture of real-time and non-real-time data in HDR
[J].Proc. Int. Teletrafic Congress, Sept. 2001:793-804.
[5] KOTO H, FUKUSHIMA M, NOMOTO S. et al.Scheduling algorithm for real-time application in mobile packet
networks[J]. IEEE Communications Society,2005.
[6] DSP Builder Reference Manual. http://www.altera.com.