一种基于IEEE802.16e协议的下行调度系统
2009-06-29谢杰华栾英姿郭燕鹏
谢杰华 栾英姿 郭燕鹏
【摘要】文章介绍了IEEE802.16e中的下行调度机制,针对目前下行分组调度器中由数据映射带来的padding时隙造成的资源浪费问题,结合二级调度架构,设计了一个新型的下行分组调度器。仿真表明,该调度器能有效提升系统性能。
【关键词】IEEE802.16e 服务流 下行分组调度 padding QoS
1 引言
IEEE802.16e协议中,MAC层提供基于连接的数据传输服务,提出了服务流的概念——在一个连接上传输的、具有特定服务质量(QoS)的、由MAC层服务数据单元(MAC SDU)组成的单向数据流。每个激活的服务流都有一个与之关联的连接,实现数据传输。服务流机制为上下行链路提供QoS保证。
IEEE802.16e协议定义了五类服务流,分别是:UGS(Unsolicited Grant Service)、ERT-VR(Extended Real-time Variable Rate)、RT-VR(Real-time Variable Rate)、NRT-VR(Non-real-time Variable Rate)和BE(Best Effort Service)。同时协议还给出了这五类服务流的QoS参数,不同的服务流有不同的服务要求,所以QoS参数也不一样。
IEEE802.16e协议中,下行分组调度主要由BS端的MAC层来完成,它根据当前各下行业务流的状态和系统的总带宽来决定带宽分配,然后根据各服务流分配到的资源发送下行数据到终端。这里所指的服务流状态包括:队列长度、包时延和服务流的QoS参数集等。
2 现有下行调度器问题分析
一个下行分组调度器通常需要完成三个操作:下行分组调度、无线资源分配和数据映射。分组调度是要确定分组的发送顺序;而资源分配则是将无线资源分配给各用户各连接,反映各连接在当前帧中所能发送的数据量;数据映射主要完成burst区域的划分(在IEEE802.16e中,一个burst区域在帧结构中就是一个矩形区域),并将服务流数据填入其中,最后生成下行映射消息DL-MAP。这三个操作根据调度架构的不同,可以实现不同的组合。在很多情况下,下行分组调度和无线资源分配是同时进行的,即在调度算法中就已经实现了无线资源的分配。
关于下行调度算法,目前比较常见的有:RR(Round Robin),最大载干比MAX C/I,比例公平PF(Proportional Fairness),M-LWDF(Modified Largest Weighted Delay First),EXP(Exponential Rule)等。一般的下行调度器都只采用一种算法来对所有服务流进行调度,称为一级调度器;如果不同类型的服务流采用不同的调度算法,本文称其为二级调度器。一级调度器实现简单,但是由于不同类型的业务具有不同类型的QoS要求,如果单按某一个规则来给所有类型的业务确定优先级,就很难在保证公平性的同时保证各业务流的QoS要求,而这正是二级调度器的优点所在。二级调度器对不同类型的服务流采用不同的优先级规则,相同类型的服务流使用相同的优先级规则,而不同类业务流之间则通过总调度器来保证它们之间的公平性,从而实现所有业务流的公平性和QoS保证。根据调度算法的调研,二级调度器更受重视。
数据映射的处理对象是协议数据单元(PDU),也就是说之前被调度出队的SDU都是在完成PDU构建之后进入数据映射操作阶段的。数据映射将可以用同一种编码调制方式传输的PDU映射到同一个矩形burst中,是一个典型的非线性规划问题。这样会出现某个burst矩形区域能够传输的数据量和该区域中实际填入的数据量不匹配的情况。如果前者大于后者,就会出现协议中提到的padding问题,即对burst矩形区域中未填满的部分用已知的数据去填充(比如全0),浪费了部分资源。一旦数据映射算法设计不合适,由于padding带来的资源浪费将会十分严重,从
而大大降低系统资源利用率。而目前的下行调度算法却都很少考虑这个问题。本文将对此设计一个新的下行调度器,以充分降低padding所带来的资源浪费。
3 本文提出的下行分组调度器
为了解决上述问题,本文通过调整下行调度的操作顺序来缓解这一浪费情况。图1是本文所设计的下行分组调度器的结构,该调度器是如何实现padding时隙再利用的呢?接下来通过分析其工作流程便可得知。
如图1所示,高层发来的SDU经过分类器映射到相应的服务流上,每个服务流有一个SDU队列,服务流SDU队列按服务类型存储;调度出队的SDU构建PDU后进入对应的PDU队列,服务流的PDU队列基于用户存储。图1中虚线相连的部分是调度器的核心部分,主要有一个总调度器aggregate scheduler和四个类调度器UGS scheduler、RT-VR scheduler、NTR-VR scheduler和BE scheduler。这里把ERT-VR服务流和RT-VR服务流统一按RT-VR服务流来处理,所以只用到了4个类调度器。
图1中标注出了该调度器的4个操作流程,下面依次介绍这四步操作:
(1)总调度器aggregate scheduler根据总调度算法将系统资源分配给各个类调度器。
(2)各个类调度器根据自己的调度算法将总调度器分配的资源分配给该类服务的所有服务流。
(3)burst区域划分及资源调整。
burst区域划分:根据(2)的分配结果,进行burst区域划分,将能够使用同一种编码调制方式的连接映射到同一个burst矩形区域中。
资源调整:对burst中所承载的连接所分配到的时隙数进行适当的调整,以降低padding时隙数。设burst1是一个3×3=9(时隙)的矩形区域,用于承载连接1、2、3的数据。资源调整分以下三种情况:
(a)若(2)给这三个连接分配的时隙数依次为4、3、3,即共10个时隙。由于10>9,burst1无法完全满足它们的需求,此时需要根据资源调整算法进行调整。设调整后三个连接的资源依次为4、3、2,那么burst1中三个连接最终实际利用到的时隙数分别为4、3、2。
(b)若(2)给这三个连接分配的时隙数依次为4、3、2,即共9个时隙,那么burst1刚好能完全满足它们的需求,此时资源调整模块不做任何调整。即三个连接最后利用到的时隙数为4、3、2。
(c)若(2)给三个连接分配的时隙数依次为4、2、2,即共8个时隙。由于8<9,burst1能够完全满足这三个连接的需求,若不再做任何处理的话,会有1个时隙空余,根据协议要求这个时隙将被padding,从而被浪费。在这种情况下,资源调整模块会对这三个连接的资源进行调整。设调整后三个连接的时隙数依次为4、3、2,刚好9个时隙,即padding时隙被连接2利用上了。三个连接最终用到的时隙数分别为4、3、2。
通过资源调整,显然能够大大减少由于数据映射带来的padding时隙数,从而提高系统资源利用率。
(4)各SDU队列根据(3)分配到的资源,调用PDU构建模块,构建大小合适的PDU,映射到各连接所对应的burst区域中,从而组成一个逻辑下行子帧。
4 仿真
我们仿真了单个小区内多个用户的情况,所有用户均匀分布在BS的覆盖范围内,BS端根据用户的下行信道质量来选择用户下行数据传输所用的编码调制方式。仿真的详细参数设置如表1所示,仿真结果如图2所示。从图2可以看到,系统的平均吞吐量能够达到近14Mbps。
参考文献
[1]IEEE Std 802.16e-2005. DRAFT Standard for Local and metropolitan area networks, Part 16: Air Interface for Broadband Wireless Access Systems[S]. June 2008.
[2]Hua Wang, Lars Dittmann. Adaptive Radio Resource Allocation in Hierarchical QoS Scheduling for IEEE 802.16 systems[C]. IEEE GLOBECOM 2007: 4769-4774.★
【作者简介】
谢杰华:西安电子科技大学通信工程学院在读硕士研究生,研究方向为WiMAX接入系统,目前主要从事MAC层系统仿真工作。
栾英姿:西安电子科技大学通信工程学院硕士生导师,研究方向为多载波宽带无线通信中的关键技术。
郭燕鹏:西安电子科技大学通信工程学院在读硕士研究生,研究方向为3GPP长期演进技术(LTE),目前主要从事网络接入控制研究。
收稿日期:2009年1月5日