会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利库 / 截止时间 / 一种在服务链环境下保障数据流截止时间的调度方法

一种在服务链环境下保障数据流截止时间的调度方法

申请号 CN201710447404.9 申请日 2017-06-16 公开(公告)号 CN107332786B 公开(公告)日 2019-08-13
申请人 大连理工大学; 发明人 李克秋; 张建辉; 齐恒; 喻海生; 金英伟;
摘要 本发明提供了一种在服务链环境下保障数据流截止时间的调度方法,属于计算机应用技术领域。所述的调度方法包括DRFQ速率分配、确定数据流调度顺序以及传输路径选择三部分;DRFQ速率分配是试图为所有通过单个网络功能设备的数据流提供公平的服务。确定数据流调度顺序的目的是使用现有的网络资源支持更多的数据流有效传输。传输路径选择负责为数据流挑选合适的传输路径。无需设计新的队列调度方法,使用现有的网络功能设备上的队列调度方法,配合适当的传输控制以及传输路径选择,可在服务链环境下有效保障数据流对于截止时间的要求。
权利要求

1.一种在服务链环境下保障数据流截止时间的调度方法,其特征在于,所述的调度方法分为DRFQ速率分配、确定数据流调度顺序以及路径选择算法三部分;

(1)DRFQ速率分配:

在多资源环境下,进入网络功能设备的数据流的数据包依次在多种硬件资源上被处理,首先在CPU上被处理,然后被放入内存,最后再推送到网卡;经过不同网络功能处理时,数据包在不同硬件资源上所需要的处理时长不相同;

DRFQ使用时间戳来标记每个数据包在不同资源上的开始和结束时间;DRFQ在进行时间戳标记时,假设该设备上只有一个数据流fi,即DRFQ对于不同数据流进行彼此独立的时间戳标记,以此来测量每个数据流单独通过该设备时得到的服务时长;数据包所得到的时间戳都是虚拟的开始时间和结束时间,因为实际上通过该设备的数据流并非只有fi;假设该设备中共有n种硬件资源,fi的第k个数据包 在第 个资源上的开始时间和结束时间分别被标记为:其中, 表示数据包 在该资源上的处理时长,而 表示为:

表示 的实际到达时刻; 表示数据包 到达时第 个资源上正在被处理的数据包的集合;如果该集合不为空,则将当前正在被处理的数据包中具有最大开始时间戳的数据包的时间戳赋给 如果 在该资源上的结束时间大于 那么否则

在多资源环境下,每个数据包在多个硬件资源上有多个开始时间,DRFQ使用一个数据包最大的开始时间戳做为该数据包用于调度时的时间戳,以测量该数据流所得到的服务时长;在多个数据流当中,DRFQ挑选具有最小时间戳的数据包执行调度,通过这种方式来平衡不同数据流所得到的服务时长,得到调度的数据包都具有较小的时间戳标记;当fi以较高速率到达网络功能设备时,该设备的处理能力不足以快速完成对该数据流的处理,那么fi的数据包会积压在队列中;对于一个积压的数据流fi, 到达时 还没有开始它在硬件资源上的处理,即 拥有较大的时间戳标记;假设在所有资源上 而数据包 在各个资源上的开始时间简化为:

其中,将 在各个资源上的开始时间都设为0;数据包 最终用于调度的时间戳表示为:

其中, 表示 在各个资源上消耗最多的处理时长;

现假设有两条积压的数据流fi和fj,它们各自数据包所得到的时间戳之间的间隔分别是 和 假设在时刻t,两个来自它们的数据包拥有相同的时间戳标记S;一段时间后,又有两个数据包得到相同的时间戳标记S',S'表示为:在之后的调度周期中,fi共有 个数据包被处理;所有数据包在到达队列时就确定了其时间戳,而数据包之间的时间戳间隔又是固定的,故数据流fi和fj的数据包将按照固定次序依次调度,并且该调度周期将循环,直至某个数据流完成它的传输;如果fi的每个数据包大小为s(pi),那么在每个调度周期中,它所得到的传输速率为:数据流fj的传输速率也被确定;

(2)确定数据流调度顺序:

数据流通常拥有不同的数据量、生成时间以及截止时间,分别表示为s(fi)、ai和di;如果一个数据流刚好在它的截止时间完成传输,那它所需要的最小传输速率为:优先调度速率需求最高的数据流;

(3)路径选择算法:为每个新到达的数据流选择适当的传输路径;在此过程中有两个因素被考虑:保障数据流的截止时间要求以及提高网络吞吐量;新数据流的加入会占用一部分网络功能设备内的资源,必然影响先前数据流的传输;因此,设计提高网络吞吐量的机制以使网络容纳更多的数据流;

截止时间保障机制,用于保障先前数据流不会因为新数据流得到调度而错过它们的截止时间;假设fi是下一个应该被调度的数据流,并且在它的源端和目的端之间共有x条路径,而每条路径上部署m个多功能网络设备;基于对功能网络设备上数据流信息的分析,包括数据包的大小以及所执行的网络功能类型,依据DRFQ所实现的速率分配特性,得到fi在第 个设备上所能得到的速率为 进而得到fi在第x条路径上所能得到的最大速率为:同样地,fi在所有路径上所得到的最大传输速率都可得到;根据DRFQ速率分配的特性,fi的调度会影响与它经过相同网络功能设备的先前数据流的传输速率;因此,并非所有路径都能成为fi的可行传输路径;fi的可行传输路径指的是,当fi在这条路径上进行传输时,经过相同网络功能设备的先前得到调度的数据流并不会错过它们的截止时间;

当把fi传输到某个网络功能设备上时,根据网络功能设备上当前的负载,依据DRFQ的速率分配特性,计算调度fi之后所有数据流得到的传输速率;如果有任意一个数据流fj的速率降低到低于它所需的最低速率rj,那么该设备所在的这条路径不能成为fi的可行传输路径;

该截止时间保障机制适用于这条路径上的所有网络功能设备;只有当fi在一条路径中所有的网络功能设备上都不会使先前数据流错过它们的截止时间时,这条路径被标识为它的可行传输路径;通过截止时间保障机制,先前得到调度的数据流安全地在它们的截止时间之前完成数据传输;而在fi的多条可行传输路径中,选择一条路径作为它最终的传输路径;

提高网络吞吐量机制,用于在数据流fi的多条可行传输路径当中选择一条作为它最终的传输路径,同时最大化网络吞吐量;使用如下公式计量网络吞吐量:其中,表示网络中所有数据流的集合,包括刚得到调度的数据流fi;rj表示假设调度数据流fi后数据流fj的速率更新后的值;对应fi不同的可行传输路径; 有不同的取值,取值越大,表示fi加入后网络的吞吐量越高;为了使网络容纳更多的数据流,选择 获得最大值的可行传输路径作为新数据流fi最终的传输路径。

说明书全文

一种在服务链环境下保障数据流截止时间的调度方法

技术领域

[0001] 本发明涉及一种在服务链环境下保障数据流截止时间的调度方法,属于计算机应用技术领域。

背景技术

[0002] 数据中心做为各种网络应用与服务的基础设施,其内部除了部署有大量的网络互连设备之外,还部署了几乎同等数量级的多功能中间盒设备。与路由器、交换机等传统网络设备相比,这些设备可以执行多种复杂的网络功能,例如防火墙、入侵检测以及网络地址转换等。通常的中间盒设备需要专用的硬件支持以及维护,开销巨大。凭借网络功能虚拟化技术的优势,可以将各种网络功能实例部署在通用的物理设备上,因此也将网络功能虚拟化设备称为以软件形式实现的多功能中间盒设备。这些设备的广泛使用可以有效优化数据中心的网络环境,增强网络安全以及实现网络负载均衡。伴随着这些显著的优势,此类设备的使用也引起更加复杂的数据流量调度问题。
[0003] 与传统网络设备相比,这些设备上通常配置了多种硬件资源,例如CPU、内存以及网卡等。数据包进入这些设备后通常需要依次通过这些硬件资源。另外,当数据流经过不同的网络功能处理时,它们对于不同硬件资源的消耗程度是不同的。有些功能需要更多的CPU处理时间,而有些功能需要更多的网卡传输时间。更加复杂的是,通常单独一个网络功能不足以完成一个数据流所需要的所有处理。为了满足用户需求,数据流需要按照一定的顺序在多个网络功能设备上经过多个网络功能的处理,即服务链处理。在如此复杂的环境下,如何为数据流提供可靠的服务质量保障成为一个难点。
[0004] 为了在这些网络功能设备上满足数据流对于服务质量的要求,很多多资源环境下的队列调度方法被提出。基于多资源环境下的公平性定义,这些调度方法试图在多资源环境下为通过这些设备的数据流提供公平的服务。然而,这些调度方法无法在服务链环境下为数据流提供有效的服务质量保障,原因如下:
[0005] 一方面,作为队列调度方法,它们只能在每个单独的设备上为通过的数据流提供公平的服务。而在服务链环境下,一个数据流通常需要经过多个网络功能设备,并在不同的设备上按照一定顺序经过不同的网络功能处理。基于公平性的队列调度方法虽然在不同设备上试图为数据流提供公平的服务,但不同设备上的数据流量负载通常也是不同的,从而导致同一个数据流在不同设备上所得到的服务具有很大的差异。因此,基于公平性的队列调度方法无法在数据流完整的传输路径上为它提供稳定的传输保障。
[0006] 另一方面,数据中心网络为了实现网络容错,在数据流的源端和目的端之间通常保留多条等价传输路径。如果数据流当前的传输路径变得不可用或者拥塞时,可以将该数据流重路由到另一条可用或者负载较低的路径上,从而有效缩短数据流的传输时间。队列调度方法只能确定单个网络功能设备上的负载,而并不能确定整条传输路径上其他设备上负载的轻重。因此,如果只依靠队列调度方法,而不进行有效的路由选择,那么网络极易出现数据流量负载的不均衡。伴随着网络拥塞的出现,数据流的正常传输也会受到影响。因此,如果只依靠队列调度方法而不考虑数据流的路径选择问题,并不能有效利用各种网络资源来为数据流提供更好的服务。
[0007] 综上所述,由于多资源环境下现有队列调度方法只考虑在单个设备上为数据流提供公平服务,使得它们在实际应用中具有一定的局限性,并且无法在服务链环境下为数据流提供有效的服务质量保障。

发明内容

[0008] 为了解决上述问题,本发明提出了一种在服务链环境下保障数据流截止时间的调度方法。为了与之前多资源环境下的队列调度方法兼容,该方法采用DRFQ作为网络功能设备上的默认队列调度方法。DRFQ队列调度方法被设计在多资源环境下为数据流提供公平服务。由于其优秀的性能,后续有很多调度方法对它进行了改进。本发明中所提出的方法基于DRFQ所实现的速率分配特性,根据对网络功能设备上通信负载的分析,为数据流选择适当的传输路径,从而获得较高的数据流传输速率。在充分利用网络资源的同时,也可以实现更好的负载均衡。在提高网络吞吐量的前提下,使用截止时间保障机制来保证数据流可以在它们各自的截止时间到来之前完成数据传输。
[0009] 本发明的技术方案:
[0010] 一种在服务链环境下保障数据流截止时间的调度方法,功能实现上由DRFQ速率分配,确定数据流调度顺序以及传输路径选择三部分组成。
[0011] 其中,DRFQ速率分配的特性源于它试图为所有通过单个网络功能设备的数据流提供公平的服务。它并不会明确地为每条数据流分配确定的速率,只能根据当前负载状况进行动态的速率分配。为了与之前多源环境下的队列调度方法兼容,本发明使用DRFQ作为设备上的队列调度方法。它使用时间戳标记技术记录每个数据流在网络功能设备中不同资源上的服务时间,进而测得不同数据流在它们各自主要资源上的服务时长,并最终为所有数据流提供相同的服务时长。在这一背景下,不同数据流在该设备上得到不同但却稳定的传输速率。虽然DRFQ的设计初衷是为数据流提供公平服务,而不是速率分配,但它潜在地实现了网络功能设备上数据流之间的速率分配。借助这一特性,路径选择算法可以为数据流选择合适的传输路径,从而提高数据流传输速率,降低完成时间。
[0012] 确定数据流调度顺序,目的是使用现有的网络资源支持更多的数据流有效传输。在网络资源有限的情况下,如果想要保障所有数据流的有效传输,即在它们各自的截止时间之前完成传输,往往会使大部分数据流错过它们各自的截止时间。使用有限的网络资源,按照一定顺序调度数据流才可以保障大部分数据流的利益。数据流拥有不同的大小以及截止时间要求,因此我们可以计算得出不同数据流所需要的最低传输速率,以使它们在各自的截止时间之前完成传输。为了最大化网络吞吐量,使网络容纳更多的数据流量,类似于装箱算法,本发明中优先调度速率要求最高的数据流,以此类推。
[0013] 传输路径选择,负责为数据流挑选合适的传输路径。在数据流的源端和目的端之间通常存在多条传输路径。不同的路径上往往部署着不同的网络功能设备,包括网络功能以及流量负载情况。基于对不同设备上负载情况以及相应数据流量信息的分析,使用DRFQ的速率分配特性可以得到任意数据流在每个网络功能设备上所能获得的传输速率,进而推测出该数据流在所有可能路径上可以得到的传输速率。在为数据流选择最终的传输路径时,需要考虑到截止时间保证以及网络吞吐量两个因素。新数据流的调度不应该影响之前数据流的顺利传输。因此,新数据流的加入而不会影响之前数据流完成的路径被选择为它的可行路径。而在多条可行路径当中,能够最大化网络吞吐量的路径被选择为该数据流的最终传输路径。
[0014] 本发明的有益效果:
[0015] 1.兼容之前网络功能设备上的队列调度方法。无需设计新的队列调度方法,使用现有的调度方法,配合适当的传输控制以及传输路径选择,可在服务链环境下有效保障数据流对于截止时间的要求。
[0016] 2.可获得较高的网络吞吐量。本发明优先调度速率要求最高的数据流,以此类推,以此使网络容纳尽可能多的数据流量。基于对网络功能设备上流量负载的分析,通过适当的路径选择,新数据流在被调度之后总会使网络吞吐量达到最大化。
[0017] 3.可有效保障数据流对于截止时间的要求。新数据流在被调度时,总会判断它的加入是否会影响之前数据流的顺利完成。如果是,那么新数据流并不会立刻得到调度,对它的调度会延迟到下一个调度周期。即已经得到调度的数据流都可以在它们的截止时间到达之前顺利地完成数据传输。如果新数据流的加入不会影响先前数据流的顺利完成,该数据流才会被调度,并被指定传输路径。

附图说明

[0018] 图1是多资源环境下数据包处理过程图。

具体实施方式

[0019] 以下结合附图和技术方案,进一步说明本发明的具体实施方式。
[0020] 一种在服务链环境下保障数据流截止时间的调度方法,目的是在最大化网络吞吐量的同时,有效保障数据流对于截止时间的要求,逻辑上分为DRFQ速率分配,确定数据流调度顺序以及路径选择算法三部分。
[0021] DRFQ速率分配,源于它被设计用于在多资源环境下为数据流提供公平的服务。DRFQ并不会为所有数据流明确地指定传输速率,而只能根据当前的流量负载以及所执行的网络功能动态地实现速率分配。
[0022] 在多资源环境下,进入网络功能设备的数据包需要依次在多种硬件资源上被处理,例如CPU,内存以及网卡等。
[0023] 如图1所示,数据流1的数据包p1,p2,…首先需要在CPU上被处理,然后才会被推送到网卡。并且,经过不同网络功能处理时,数据包在不同硬件资源上所需要的处理时长并不相同。例如,数据流1的一个数据包在CPU上需要一个1个时间单位的处理时长,在网卡上需要2个时间单位的处理时长。而经过其他网络功能处理的数据流2的每个数据包q1,q2,…则需要在CPU上消耗2个时间单位,在网卡上需要1个时间单位。
[0024] 在多资源环境下,不同数据流通常会经过不同的网络功能处理。DRFQ队列调度算法被设计用于在这样的环境下为经过相同网络功能设备的数据流提供公平的服务。
[0025] DRFQ使用时间戳来标记每个数据包在不同资源上的开始和结束时间。以数据流fi为例。DRFQ在进行时间戳标记时,假设该设备上只有一个数据流fi。即DRFQ对于不同数据流进行彼此独立的时间戳标记,以此来测量每个数据流单独通过该设备时理应得到的服务时长。因此,数据包所得到的时间戳都是虚拟的开始时间和结束时间,因为实际上通过该设备的数据流并非只有fi。假设该设备中共有n种硬件资源。fi的第k个数据包 在第 个资源上的开始时间和结束时间分别被标记为:
[0026]
[0027]
[0028] 这里, 表示数据包 在该资源上的处理时长,而 表示为:
[0029]
[0030] 表示 的实际到达时刻。 表示数据包 到达时第 个资源上正在被处理的数据包的集合。如果该集合不为空,则将当前正在被处理的数据包中具有最大开始时间戳的数据包的时间戳赋给 如果 在该资源上的结束时间大于 那么否则
[0031] 因为在多资源环境下每个数据包在多个资源上有着多个开始时间,因此DRFQ使用一个数据包最大的开始时间戳做为该数据包用于调度时的时间戳,以测量该数据流所得到的服务时长。在多个数据流当中,DRFQ挑选具有最小时间戳的数据包执行调度,通过这种方式来平衡不同数据流所得到的服务时长。因此得到调度的数据包都具有较小的时间戳标记。当fi以较高速率到达网络功能设备时,该设备的处理能力不足以快速完成对该数据流的处理,那么fi的数据包就会积压在队列中。对于一个积压的数据流fi,通常 到达时还没有开始它在硬件资源上的处理,即 拥有较大的时间戳标记。假设在所有资源上而 数据包 在各个资源上的开始时间可以简化为:
[0032]
[0033] 这里将 在各个资源上的开始时间都设为0。数据包 最终用于调度的时间戳可以表示为:
[0034]
[0035] 这里, 表示 在各个资源上消耗最多的处理时长。
[0036] 现假设有两条积压的数据流fi和fj。它们各自数据包所得到的时间戳之间的间隔分别是 和 假设在时刻t两个来自它们的数据包拥有相同的时间戳标记S。一段时间后,又有两个数据包得到相同的时间戳标记S'。S'可表示为:
[0037]
[0038] 在之后的调度周期中,fi共有 个数据包被处理。因为所有数据包在到达队列时就确定了其时间戳,而数据包之间的时间戳间隔又是固定的,故数据流fi和fj的数据包将按照固定次序依次调度,并且该调度周期将循环,直至某个数据流完成它的传输。如果fi的每个数据包大小为s(pi),那么在每个调度周期中,它所得到的传输速率为:
[0039]
[0040] 相似地,数据流fj的传输速率也可以被确定。由此可见,虽然DRFQ是被设计用于在多资源环境下为数据流提供公平服务的队列调度方法,但实际上它也实现了数据流之间的速率分配。同理,该特性也适用于多条数据流积压的情况。DRFQ的这一特性将在路径选择算法中被使用,以保障数据流对于截至时间的要求,并提高网络整体的吞吐量。
[0041] 确定数据流调度顺序,是为了使用有限的网络资源支持最多的有效数据流量。在网络中,数据流对于网络服务质量有着不同的要求,例如截止时间。因此数据流应该被区别对待,以达到利益最大化。
[0042] 数据流通常拥有不同的数据量、生成时间以及截止时间,分别表示为s(fi),ai和di。如果一个数据流刚好在它的截止时间完成传输,那它所需要的最小传输速率为:
[0043]
[0044] 以更低的速率传输fi将会使它错过截止时间。明显的,拥有较高传输速率需求的数据流,往往也拥有较大的数据量以及较紧急的截止时间。为了提高网络吞吐量,使网络可以容纳更多的数据流量,本发明中优先调度速率需求最高的数据流,以此类推。这是因为如果优先调度速率需求较低的数据流,剩余的网络资源可能无法容纳任意一个速率需求较高的数据流,从而导致大量网络资源的浪费。而优先得到调度的数据流的传输会在路径选择算法当中被妥善保障。
[0045] 路径选择算法,为每个新到达的数据流选择适当的传输路径。在此过程中有两个因素需要被考虑:保障数据流的截止时间要求以及提高网络吞吐量。新数据流的加入会占用一部分网络功能设备内的资源,这必然会影响先前数据流的传输。因此需要一个截止时间保障机制来保护先前数据流的顺利传输。另外,本发明中也设计了提高网络吞吐量的机制以使网络可以容纳更多的数据流量。
[0046] 截止时间保障机制,用于保障先前数据流不会因为新数据流得到调度而错过它们的截止时间。假设fi是下一个应该被调度的数据流,并且在它的源端和目的端之间共有x条路径,而每条路径上部署了m个多功能网络设备。基于对网络功能设备上数据流信息的分析,包括数据包的大小以及所执行的网络功能类型,依据DRFQ所实现的速率分配特性,可以得到fi在第 个设备上所能得到的速率为 进而可以得到fi在第 条路径上所能得到的最大速率为:
[0047]
[0048] 同样地,fi在所有路径上所能得到的最大传输速率都可以得到。为了最大化网络吞吐量,通常应该选择fi可以获得最大传输速率的路径作为它的传输路径。但是根据DRFQ速率分配的特性,fi的调度会影响与它经过相同网络功能设备的先前数据流的传输速率。因此,并非所有路径都可以成为fi的可行传输路径。fi的可行传输路径指的是,当fi在这条路径上进行传输时,经过相同网络功能设备的先前得到调度的数据流并不会错过它们的截止时间。
[0049] 当尝试把fi传输到某个网络功能设备上时,可以根据设备上当前的负载,依据DRFQ的速率分配特性计算调度fi之后所有数据流可得的传输速率。如果有任意一个数据流fj的速率降低到低于它所需的最低速率rj,那么该设备所在的这条路径不能成为fi的可行传输路径。该机制适用于这条路径上的所有网络功能设备。只有当fi在一条路径中所有的设备上都不会使先前数据流错过它们的截止时间时,这条路径才会被标识为它的可行传输路径。通过这一机制,先前得到调度的数据流可以安全地在它们的截止时间之前完成数据传输。而在fi的多条可行传输路径中,需要选择一条路径作为它最终的传输路径。为此,需要用到另一个机制来提高网络吞吐量。
[0050] 提高网络吞吐量机制,用于在数据流fi的多条可行传输路径当中选择一条作为它最终的传输路径,同时最大化网络吞吐量。本发明中使用如下公式计量网络吞吐量:
[0051]
[0052] 这里,表示网络中所有数据流的集合,包括刚得到调度的数据流fi。rj表示假设调度数据流fi后数据流fj的速率更新后的值。对应fi不同的可行传输路径, 会有不同的取值。取值越大,表示fi加入后网络的吞吐量越高。为了使网络容纳更多的数据流量,本发明中选择 可以获得最大值的可行传输路径作为新数据流fi最终的传输路径。