一种用于数据中心网络的数据包调度方法

文档序号:7818353阅读:166来源:国知局
一种用于数据中心网络的数据包调度方法
【专利摘要】本发明公开了一种用于数据中心网络的数据包调度方法,包括数据包入队过程和数据包出队过程。数据中心网络的服务系统的数据包队列由一个轻尾队列和一个重尾队列构成。数据包到达服务系统,触发数据包入队过程;系统有数据包等待发送,触发数据包出队过程。在所述数据包入队过程,系统根据数据包所属数据流的到达特性确定数据包应进入的队列,进一步根据该队列的入队规则将数据包放入队列。在所述数据包出队过程,系统根据队列调度策略选择其中一个队列,然后根据该队列的数据包调度策略选择队列内的一个数据包出队。这种方法能够对网络数据流提供延迟保障和提高网络的有效吞吐量,为用户提供具有服务质量保障的服务。
【专利说明】-种用于数据中心网络的数据包调度方法

【技术领域】
[0001] 本发明涉及基于分组包的通信网络的服务质量【技术领域】,具体指一种用于数据中 心网络的数据包调度方法。

【背景技术】
[0002] 随着云计算、大数据、社交网络等在线数据密集型应用的兴起和发展,数据中心网 络的流量愈加复杂化、海量化。数据中心网络的中间节点,例如,汇聚层节点和核心层节点, 既汇聚了可用指数分布来描述到达特性的轻尾流(Light-Tailed Flow),又包括高波动性 的不可用指数分布来描述到达特性的重尾流(Heavy-Tailed Flow)。数据流在这些节点的 延迟已经成为一个十分重要的问题。
[0003] 现有技术大多通过改进现有的互联网传输协议(TCP)来对数据中心网络提供服务 质量。Alizadeh等人提出了按拥塞比例限流的方法DCTCP,Wilson等人提出了基于先进先 服务的贪婪带宽分配方法D 3,Vamanan等人提出了用γ修正函数来控制数据流的拥塞窗口 的D2TCP方法。尽管DCTCP、D 3和D2TCP等TCP改进方案一定程度上改善了数据中心网络 的数据流的延迟性能,但是,这些方案实质上是带宽公平共享方案,即,将带宽平均分配 给数据流。数据中心网络的数据流具有复杂、细粒度的延迟要求:不仅轻尾流和重尾流之间 存在差异的延迟要求,同类到达特性的数据流之间、数据流内部不同类型的数据包(例如, 一个多媒体数据流包含了视频、语音、文本数据包)也具有不同的延迟要求,甚至具有相同 端到端延迟要求的数据包,由于经历不同的传输路径,它们在网络节点也具有不同的延迟 要求。这些不同的延迟要求体现为复杂的、差异化的带宽要求。公平共享方式或其变体按数 据流的平均到达速率或峰值速率分配网络链路带宽资源,其本质上不能提供延迟保障。也 有方案采用加权公平调度、优先级或基于延迟的调度等方法来对数据流提供区分服务。然 而,这些方法从设计之初就或者没有考虑重尾流对轻尾流的伤害问题、或者没有考虑数据 流内部数据包的复杂性,因此容易对高优先级的数据流提供超额服务,导致对低优先级的 数据流提供的服务不足,使得网络有效利用率较低。
[0004] 本发明的目的是提供一种适用于互联网尤其是数据中心网络的数据包调度方法, 以对互联网业务提供差异化的服务质量保障,并优化通信系统的带宽资源有效利用率。


【发明内容】

[0005] 本发明的目的是解决如何保障数据中心网络的服务质量这个关键问题,因此提供 一种用于数据中心网络的数据包调度方法,减少数据包的网络延迟,控制数据流的延迟尾 分布,优化网络有效吞吐量,使其适用于数据密集型网络。
[0006] 为了达到上述目的,本发明公开的一种用于数据中心网络的数据包调度方法,包 括数据包入队过程和数据包出队过程。进入数据中心网络的服务系统的数据流按业务流特 性分为轻尾流和重尾流;服务系统的队列由一个轻尾队列和一个重尾队列构成。数据包到 达系统,触发数据包入队过程。系统有数据包等待发送,触发数据包出队过程。在所述数据 包入队过程,轻尾流按轻尾队列入队方法进入轻尾队列,重尾流按重尾队列入队方法进入 重尾队列;在所述数据包出队过程,系统根据队列调度策略选择其中一个队列,然后根据所 选择队列的数据包调度策略选择一个数据包进行调度。
[0007] 本发明通过如下技术方案实现: 一种用于数据中心网络的数据包调度方法,包括数据包入队过程和数据包出队过程。 数据包到达服务系统,触发数据包入队过程;服务系统有数据包等待发送,触发数据包出队 过程。
[0008] 所述数据包入队过程包括如下入队步骤: 入队步骤1 :新数据包到达系统; 入队步骤2 :从数据包的包头读取数据流信息,判断数据包所属数据流是否为轻尾特 性:是,则执行入队步骤3 ;否,则跳往入队步骤4 ; 入队步骤3 :确定新数据包在轻尾队列的插入位置,所述插入位置需要同时满足以下 条件:a)新数据包与当前轻尾队列内的数据包按数据包的最迟离开时刻升序排列,b)插入 新数据包后的轻尾队列的服务要求没有超过系统的服务能力:是,则将数据包插入所述插 入位置,本数据包入队过程结束;否,则丢弃该数据包,本数据包入队过程结束; 入队步骤4 :将新数据包插入重尾队列,所述插入位置由以下规则同时确定:a)重尾队 列内属于同一数据流的数据包按先进先出顺序排列,b)重尾队列内的数据流之间按重尾程 度升序排列;本数据包入队过程结束。
[0009] 所述数据包出队过程包括如下出队步骤: 出队步骤1 :开始数据包出队过程; 出队步骤2 :判断轻尾队列和重尾队列是否都有数据包等待发送:是,则执行出队步骤 3;否,则跳往出队步骤7; 出队步骤3 :判断当前时刻轻尾队列队头数据包的调度指示变量的值是否大于调度指 示阈值:是,则选择轻尾队列作为服务队列,执行出队步骤4 ;否,则选择重尾队列作为服务 队列,跳往出队步骤5; 出队步骤4 :选择轻尾队列队头数据包出队,本数据包出队过程结束; 出队步骤5 :判断重尾队列队头数据包的实际延迟是否已经超过该数据包的可容忍的 延迟:是,则丢弃该数据包,返回出队步骤2 ;否,则执行出队步骤6 ; 出队步骤6 :选择重尾队列队头数据包出队,本数据包出队过程结束; 出队步骤7 :判断轻尾队列是否有数据包等待发送:是,则返回出队步骤4 ;否,则跳往 出队步骤8 ; 出队步骤8 :判断重尾队列是否有数据包等待发送:是,则返回出队步骤5 ;否,则本数 据包出队过程结束。
[0010] 本发明提供的用于数据中心网络的数据包调度方法,所述服务系统由一个轻尾队 列和一个重尾队列构成,轻尾流进入轻尾队列,重尾流进入重尾队列。所述轻尾队列是实现 延迟保障的主要队列,所述重尾队列是延迟尾分布控制和有效吞吐量优化的主要队列。 [0011] 本发明提供的用于数据中心网络的数据包调度方法,包括数据包入队过程和数据 包出队过程。数据包到达服务系统,触发数据包入队过程;服务系统有数据包等待发送,触 发数据包出队过程。所述数据包入队过程和所述数据包出队过程可以同时进行,两者共同 作用构成了数据中心网络的服务系统的数据包调度方法。
[0012] 本发明提供的数据包调度方法,所述数据包入队过程中的判断数据流是否为轻尾 特性的方法具体为:首先,根据新数据包的业务类型从所述服务系统获取所述数据流的到 达特性;然后,判断所述到达特性是否为指数分布:是,则所述数据流是轻尾特性,否,则所 述数据流不是轻尾特性。
[0013] 本发明提供的数据包调度方法,对于首次到达系统的业务类型,所述服务系统将 周期性地统计到达系统的该业务类型的首个数据流的单位时间到达业务量,并将该数据流 的单位时间到达业务量分布作为到达特性存储在所述服务系统中。
[0014] 本发明提供的数据包调度方法,所述插入新数据包后的轻尾队列的服务要求 没有超过系统的服务能力的判断方法为:设新数据包的包长为L f,可容忍的最大延迟是 df,轻尾队列当前时刻有N(N > 0)个数据包等待发送,数据包i的包长为Q (0〈i彡N), 其可容忍的最迟离开时刻为ei(0〈i < N),系统的服务能力为C,当前时刻为t,按数 据包的最迟离开时刻升序排列后新数据包在数据包m(0<m<N)后面。如果满足

【权利要求】
1. 一种用于数据中心网络的服务系统的数据包调度方法,包括数据包入队过程和数据 包出队过程,其特征在于: 数据包到达服务系统,触发数据包入队过程;服务系统有数据包等待发送,触发数据包 出队过程; 进入服务系统的数据流按业务流特性分为轻尾流和重尾流两类;服务系统的队列由一 个轻尾队列和一个重尾队列构成; 所述数据包入队过程具体包括如下入队步骤: 入队步骤1:新数据包到达系统; 入队步骤2:从数据包的包头读取数据流信息,判断数据包所属数据流是否为轻尾特 性:是,则执行入队步骤3 ;否,则跳往入队步骤4 ; 入队步骤3:确定新数据包在轻尾队列的插入位置,所述插入位置需要同时满足以下 条件:a)新数据包与当前轻尾队列内的数据包按数据包的最迟离开时刻升序排列,b)插入 新数据包后的轻尾队列的服务要求没有超过系统的服务能力:是,则将数据包插入所述插 入位置,本数据包入队过程结束;否,则丢弃该数据包,本数据包入队过程结束; 入队步骤4:将新数据包插入重尾队列,所述插入位置由以下规则同时确定:a)重尾 队列内属于同一数据流的数据包按先进先出顺序排列,b)重尾队列内的数据流按重尾程度 升序排列;本数据包入队过程结束; 所述数据包出队过程具体包括如下出队步骤: 出队步骤1 :开始数据包出队过程; 出队步骤2:判断轻尾队列和重尾队列是否都有数据包等待发送:是,则执行出队步 骤3 ;否,则跳往出队步骤7 ; 出队步骤3:判断当前时刻轻尾队列队头数据包的调度指示变量的值是否大于调度指 示阈值:是,则选择轻尾队列作为服务队列,执行出队步骤4 ;否,则选择重尾队列作为服务 队列,跳往出队步骤5 ; 出队步骤4:选择轻尾队列队头数据包出队,本数据包出队过程结束; 出队步骤5:判断重尾队列队头数据包的实际延迟是否已经超过该数据包的可容忍的 延迟:是,则丢弃该数据包,返回出队步骤2 ;否,则执行出队步骤6 ; 出队步骤6:选择重尾队列队头数据包出队,本数据包出队过程结束; 出队步骤7:判断轻尾队列是否有数据包等待发送:是,则返回出队步骤4 ;否,则执行 出队步骤8 ; 出队步骤8:判断重尾队列是否有数据包等待发送:是,则返回出队步骤5 ;否,则本数 据包出队过程结束。
2. 根据权利要求1所述的数据包调度方法,其特征在于所述数据包入队过程的入队步 骤2的数据流信息包括业务类型、数据流标识、数据流可容忍的最大延迟。
3. 根据权利要求1所述的数据包调度方法,其特征在于所述数据包入队过程的入队步 骤2的判断数据包所属数据流是否为轻尾特性的方法具体为:首先,根据新数据包的业务 类型从所述服务系统获取所述数据流的到达特性;然后,判断所述到达特性是否为指数分 布:是,则所述数据流是轻尾特性,否,则所述数据流不是轻尾特性。
4. 根据权利要求1或3所述的数据包调度方法,其特征在于对于首次到达系统的业 务类型,所述服务系统将周期性地统计到达系统的所述业务类型的首个数据流的单位时间 到达业务量,并将该数据流的单位时间到达业务量分布作为到达特性存储在所述服务系统 中。
5. 根据权利要求1所述的数据包调度方法,其特征在于所述数据包入队过程的入队 步骤3的插入新数据包后的轻尾队列的服务要求没有超过系统的服务能力的判断方法为: 设新数据包的包长为L f,可容忍的最大延迟是df,轻尾队列当前时刻有N(N > 0)个数据包 等待发送,数据包i的包长为Q (0〈i < N),其可容忍的最迟离开时刻为ei (0〈i < N),系 统的服务能力为C,当前时刻为t,按数据包的最迟离开时刻升序排列后新数据包在数据包 m(0 < m < N)后面;如果满足
,则轻尾队列的服务质量 要求没有超过系统的服务能力。
6. 根据权利要求1所述的数据包调度方法,其特征在于所述数据包入队过程的入队步 骤4的规则a)的属于同一数据流的数据包指数据包具有相同的流标识和服务质量要求。
7. 根据权利要求1所述的数据包调度方法,其特征在于所述数据包入队过程的入队步 骤4的规则b)的重尾程度由以下条件确定:数据流的单位时间到达业务量波动性越大,则 该数据流重尾程度越强。
8. 根据权利要求1所述的数据包调度方法,其特征在于所述数据包出队过程的出队步 骤3的调度指示变量的值是轻尾队列队头数据包在所述系统的当前时刻可停留的时间与 所述数据包可容忍的最大延迟的比值。
9. 根据权利要求1所述的数据包调度方法,其特征在于所述数据包出队过程的出队步 骤3的调度指示阈值由如下条件同时确定:a)轻尾队列数据包在系统的实际延迟不大于数 据包可容忍的最大延迟,b)重尾队列的有效吞吐量,S卩,满足延迟要求的吞吐量,是一个优 化值。
【文档编号】H04L12/863GK104301254SQ201410597868
【公开日】2015年1月21日 申请日期:2014年10月31日 优先权日:2014年9月30日
【发明者】郭棉, 彭志平, 李继凯, 柯文德 申请人:广东石油化工学院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1