一种端网协同流量调度方法、装置、系统及存储介质

文档序号:31031362发布日期:2022-08-06 02:05阅读:137来源:国知局
一种端网协同流量调度方法、装置、系统及存储介质

1.本发明涉及流量调度技术领域,尤其涉及的是一种端网协同流量调度方法、装置、系统及存储介质。


背景技术:

2.数据中心的高速发展推动了计算模式的变革。得益于虚拟化技术,数据中心将计算、存储和内存资源在网络内分散,在逻辑上池化,从而使得计算能力能够在网络内自如的分配和调度。这种计算模式的变革极大的提高了资源利用率,降低了计算成本,然而同时对数据中心网络传输能力提出极高要求。各资源间需要利用高速网络通信,存储设备的进步导致网络需要提供更低的时延。为了维持良好的应用级性能,网络需要提供低达3-5微秒的时延和高达40-100gbps的带宽。另一方面,数据中心流量具有高突发性的特点,流量在时间维度上分布不均。因此为了维持网络低尾时延,网络利用率往往维持在较低的水平,导致运营成本上升。
3.学术界和工业界对网络流量调度进行了大量的研究。根据网络流量调度涉及的方面可分为网络侧方案和端侧方案。
4.(1)传统端到端拥塞控制算法的一般逻辑是在发送端感知网络状态,调整发送速率。这些算法被动的感知丢包和时延等隐式拥塞信息,存在感知不准确的问题。端侧无法直接获知可用带宽大小,需要不断试探,导致不能快速收敛到可用带宽,导致速率收敛慢,进一步导致带宽利用率低。
5.(2)传统网络侧调度的一般逻辑是,在一定业务状态下,通过调度(如节点级的优先级调度和路径级的流量工程/负载均衡)避免网络过载,从而提升网络传输性能。然而网络给端侧的信息仍然是隐式的,无法精确指导端侧的业务发送速率,仍然只能间接影响。这导致传统流量调度方案不能实现快速收敛。
6.因此网络侧应与端侧协调,充分利用网络对负载的感知能力,更精确的指导端侧注入网络中的流量速率。学术界先后提出了ecn、int等机制,这些机制显式地为端侧提供网络状态信息。然而,这种方式下,网络侧只是作为状态信息的提供者,决策仍发生在端侧。每个端到端会话独立决策,缺乏其他会话的信息作为依据,缺乏全网的状态信息(只有会话路径信息)。这些现实都挑战了现有流量调度机制的性能。
7.因此,现有技术还有待改进。


技术实现要素:

8.本发明要解决的技术问题在于,针对现有技术缺陷,本发明提供一种端网协同流量调度方法、装置、系统及存储介质,以解决现有网络侧的流量调度机制无法实现端网协同动态调度的技术问题。
9.本发明解决技术问题所采用的技术方案如下:
10.第一方面,本发明提供一种端网协同流量调度方法,所述端网协同流量调度方法
包括:
11.通过路径上的交换机将网络侧的速率调整决策信息反馈至发送端;
12.根据流启动阶段的数据流计算所述网络侧的基础目标速率,并将所述网络侧的当前数据流传输速率调整至所述基础目标速率;
13.获取剩余带宽信息,并根据所述基础目标速率和所述剩余带宽信息占据剩余带宽;
14.接收所述发送端反馈的实时发送速率计算结果,根据所述实时发送速率计算结果向所述发送端嵌入对应的带宽,并基于利用率调整所述网络侧的传输速率。
15.在一种实现方式中,所述通过路径上的交换机将网络侧的速率调整决策信息反馈至发送端,包括:
16.通过所述路径上的交换机在1rtt内以每数据包的粒度将所述网络侧的速率调整决策信息反馈至所述发送端;
17.其中,所述交换机以分布式的方式设置在所述网络侧的各路径上。
18.在一种实现方式中,所述根据流启动阶段的数据流计算所述网络侧的基础目标速率,并将所述网络侧的当前数据流传输速率调整至所述基础目标速率,包括:
19.确定所述网络侧的竞争流信息和差异化调度目标;
20.根据所述竞争流信息和所述差异化调度目标,在所述流启动阶段以周期性和主动性的方式将所述当前数据流传输速率调整至所述基础目标速率。
21.在一种实现方式中,所述在流启动阶段以周期性和主动性的方式将所述当前数据流传输速率调整至所述基础目标速率,包括:
22.判断流启动时长是否超过检测周期;
23.若所述流启动时长超过所述检测周期,则通过所述发送端在所述数据包的头部设置带宽分配检测字段;
24.根据所述带宽分配检测字段执行带宽分配算法;
25.根据所述竞争流信息和所述差异化调度目标计算所述网络侧的基础目标速率;
26.将所述当前数据流传输速率调整至所述基础目标速率。
27.在一种实现方式中,所述根据带宽分配检测字段执行带宽分配算法,之前还包括:
28.判断距离上次分配时长是否超过检测周期;
29.若距离上次分配时长超过所述检测周期,则通过所述发送端在所述数据包的头部设置带宽分配检测字段。
30.在一种实现方式中,所述根据竞争流信息和所述差异化调度目标计算所述网络侧的基础目标速率,之后还包括:
31.将所述基础目标速率的计算结果与所述数据包中携带的带宽分配值进行对比;
32.根据对比结果选择较小值,并将选择的较小值嵌入所述数据包中;
33.将嵌入后的数据包发送至接收端,以通过所述接收端将带宽分配结果嵌入确认字符中。
34.在一种实现方式中,所述基于利用率调整所述网络侧的传输速率,包括:
35.根据网络利用率算法及参数在所述发送端中计算所述利用率;
36.根据所述利用率以乘性增和/或乘性减的方式更新所述流传输速率,以维持所述
网络侧的带宽分配目标。
37.在一种实现方式中,所述网络利用率算法的参数包括:控制周期、暂停发生倍数以及效率参数。
38.在一种实现方式中,所述根据利用率以乘性增和/或乘性减的方式更新所述流传输速率,包括:
39.在所述发送端的数据包中嵌入预设的头部信息,并将所述数据包中的字段类型设置为拥塞控制;
40.接收设置后的数据包,并根据所述数据包中的拥堵类型判断当前的队列长度;
41.根据判断结果及利用率算法更新所述数据包的利用率信息;
42.将更新后的数据包发生至所述接收端,并通过所述接收端的确认字符将拥塞信息反馈至所述发送端;
43.在所述发送端中以乘性增和/或乘性减的方式更新流传输速率信息;
44.根据所述发送端反馈的流传输速率信息更新所述流传输速率。
45.在一种实现方式中,所述端网协同流量调度方法还包括:
46.根据所述网络利用率算法更新所述数据包中的利用率信息,并计算及嵌入拥塞队列长度;
47.根据所述拥塞队列长度暂停发送倍数的排列时间;
48.根据暂停的排列时间重新在所述发送端中计算所述利用率。
49.第二方面,本发明提供一种端网协同流量调度装置,包括:处理器以及存储器,所述存储器存储有端网协同流量调度程序,所述端网协同流量调度程序被所述处理器执行时用于实现如第一方面所述的端网协同流量调度方法。
50.第三方面,本发明提供一种端网协同流量调度系统,包括:发送端、接收端以及如第二方面所述的端网协同流量调度装置;
51.所述发送端用于发送数据包;
52.所述发送端还用于接收所述端网协同流量调度装置发送的速率调整决策信息,基于所述速率调整决策信息计算及更新所述数据包的发送速率,将计算结果及更新的发送速率反馈至所述端网协同流量调度装置;
53.所述端网协同流量调度装置用于将网络侧的速率调整决策信息反馈至发送端;根据流启动阶段的数据流计算所述网络侧的基础目标速率,并将所述网络侧的当前数据流传输速率调整至所述基础目标速率;
54.所述端网协同流量调度装置还用于获取剩余带宽信息,并根据所述基础目标速率和所述剩余带宽信息占据剩余带宽;接收所述发送端反馈的实时发送速率计算结果,根据所述实时发送速率计算结果向所述发送端嵌入对应的带宽,并基于利用率调整所述网络侧的传输速率;
55.所述接收端用于接收所述数据包,将所述数据包中的反馈信息嵌入确认字符中,以及将所述确认字符反馈至所述发送端。
56.第四方面,本发明提供一种存储介质,所述存储介质为计算机可读存储介质,所述存储介质存储有端网协同流量调度程序,所述端网协同流量调度程序被处理器执行时用于实现如第一方面所述的端网协同流量调度方法。
57.本发明采用上述技术方案具有以下效果:
58.本发明在网络侧根据拥塞情况、竞争流信息和调度目标,动态计算流发送速率决策信息并显式的反馈到发送端,并且在发送端根据网络侧决策及时更新流传输速率;相较于传统端到端拥塞控制和传统网络调度,网络侧显式告知端侧速率决策信息,避免了端侧反复探测网络侧资源分配与拥塞情况,从而提高网络利用率和传输效率;相较于基于ecn、int等的流量调度方案,本发明将速率决策转移到网络侧,在计算流发送速率时能够直接考虑其他流的信息,从而更好的实现调度目标。
附图说明
59.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
60.图1是本发明的一种实现方式中端网协同流量调度方法的流程图。
61.图2是本发明的一种实现方式中端网协同流量调度系统(框架)示意图。
62.图3是本发明的一种实现方式中带宽分配模块算法的流程示意图。
63.图4是本发明的一种实现方式中基于利用率的拥塞控制模块算法的流程示意图。
64.图5是本发明的一种实现方式中端网协同流量调度装置的功能原理图。
65.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
66.为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
67.示例性方法
68.传统端到端拥塞控制算法的一般逻辑是在发送端感知网络状态,调整发送速率。这些算法被动的感知丢包和时延等隐式拥塞信息,存在感知不准确的问题。端侧无法直接获知可用带宽大小,需要不断试探,导致不能快速收敛到可用带宽,导致速率收敛慢,进一步导致带宽利用率低。
69.而传统网络侧调度的一般逻辑是,在一定业务状态下,通过调度(如节点级的优先级调度和路径级的流量工程/负载均衡)避免网络过载,从而提升网络传输性能。然而网络给端侧的信息仍然是隐式的,无法精确指导端侧的业务发送速率,仍然只能间接影响。这导致传统流量调度方案不能实现快速收敛。
70.基于ecn、int等机制的端网协调方式,网络侧只是作为状态信息的提供者,决策仍发生在端侧。每个端到端会话独立决策,缺乏其他会话的信息作为依据,缺乏全网的状态信息(只有会话路径信息)。这些现实都挑战了现有流量调度机制的性能。
71.针对上述技术问题,本实施例中提供了一种端网协同流量调度方法,在网络侧根据拥塞情况、竞争流信息和调度目标,动态计算流发送速率决策信息并显式的反馈到发送端,并且在发送端根据网络侧决策及时更新流传输速率;相较于传统端到端拥塞控制和传
统网络调度,网络侧显式告知端侧速率决策信息,避免了端侧反复探测网络侧资源分配与拥塞情况,从而提高网络利用率和传输效率;相较于基于ecn、int等的流量调度方案,本发明将速率决策转移到网络侧,在计算流发送速率时能够直接考虑其他流的信息,从而更好的实现调度目标。
72.如图1所示,本发明实施例提供一种端网协同流量调度方法,该端网协同流量调度方法包括以下步骤:
73.步骤s100,通过路径上的交换机将网络侧的速率调整决策信息反馈至发送端。
74.在本实施例中,针对当前数据中心网络带宽持续增长以及流量高度动态性给现有流量调度机制带来的挑战,本发明提出了一种面向数据中心的端网协同的流量调度机制。该流量调度机制包含了一套基于利用率的拥塞控制模块和带宽分配模块。
75.在本实施例的流量调度机制中,基于利用率的拥塞控制模块以分布式的方式在1rtt(round trip time,往返延时)内将网络侧的速率调整决策信息反馈到发送端;发送端以乘性增乘性减的方式对网络状态变化快速响应;带宽分配模块从流启动开始周期性的计算并更新基础目标速率,使流传输速率在1rtt内达到类似tcp的拥塞避免阶段,与拥塞控制模块配合,实现快速收敛到调度目标。
76.相较于传统端到端拥塞控制和传统网络调度以及基于ecn、int等的流量调度方案,本实施例中将速率决策转移到网络侧,在计算流发送速率时能够直接考虑其他流的信息,从而更好的实现调度目标。实现该机制需要解决以下三点挑战:
77.1、流量高度动态性和网络高速性:数据中心网络中,流量的突发性强,流量调度算法需要对高动态性的流量快速响应。而且数据中心网络的带宽高,在拥塞情况下队列会快速建立。因此流量调度算法需要对网络状态变化快速响应。对于集中式算法,尽管控制器能够获得全局视图,从理论上有可能直接计算最优带宽分配,但是在大规模网络中控制器将成为传输和计算的瓶颈,不能满足快速响应的要求,因此集中式算法不可行。
78.2、快速收敛到调度目标:数据中心网络中的大部分流是数个rtt内传输完成的小流,为了让这些小流能够尽可能快的完成,小流必须足够快速的获得其公平带宽份额。此外,大流的快速收敛对于维持网络利用率在合理区间很重要。然而分布式设计意味着决策所需的信息分散在各个交换机上,这使得在几个rtt内收敛到调度目标并不简单。
79.3、交换机计算存储资源限制:流量调度决策需要网络拥塞信息和流信息。网络侧的交换机具有拥塞感知优势,但是其存储资源十分有限,在交换机上维护完备的流状态会产生高额开销,甚至可能是不可行的。另外,由于交换机的计算资源受限,为了维持流量的线速度转发,速率决策算法必须足够高效。
80.本实施例通过以下三点解决了上述挑战:
81.1、设计了一种基于利用率的拥塞控制模块,该模块采用分布式设计,路径上的交换机在1rtt内以每数据包的粒度将网络侧的速率调整决策信息反馈到发送端,发送端以乘性增乘性减的方式对网络闲置或拥塞快速响应;
82.2、设计了一种带宽分配模块,该模块在流启动阶段为流计算基础目标速率,使得流传输速率在1rtt内达到类似tcp的拥塞避免阶段;配合基于利用率的拥塞控制模块,在基础目标速率的基础上以乘性增乘性减的方式快速占据剩余带宽和避免拥塞,从而快速收敛到调度目标;
83.3、将控制模块的算法拆分,涉及流传输速率和rtt等复杂的每流状态计算下放到端侧,网络侧反馈给端侧所需的中间结果。从而网络侧仅需维护当前流数量信息和执行少量的计算,降低了交换机的计算存储开销。
84.具体地,在本实施例的一种实现方式中,步骤s100包括以下步骤:
85.步骤s101,通过所述路径上的交换机在1rtt内以每数据包的粒度将所述网络侧的速率调整决策信息反馈至所述发送端。
86.在本实施例中,所述交换机以分布式的方式设置在所述网络侧的各路径上。
87.在本实施例中,方案框架如图2所示,主要包括带宽分配模块和基于利用率的拥塞控制模块。
88.在本实施例的框架中,网络侧与端侧相比能够直接感知竞争流信息,因此网络侧实现跨流的带宽分配具有更大的性能潜力。但是,由于网络节点分布式特点与流量调度的快速响应与快速收敛需求,集中式算法不使用,网络侧直接计算出最优每流带宽分配很困难。为了解决上述问题,本实施例将流量调度分为两个模块。
89.基于利用率的拥塞控制模块以乘性增乘性减的方式快速调整流传输速率,从而对网络状态变化快速做出响应,充分利用网络带宽同时避免拥塞;带宽分配模块从流启动开始周期性的为流分配基础目标速率,使得流快速达到类似tcp的拥塞避免阶段,同时与拥塞控制算法配合,实现流传输速率快速收敛到调度目标;此外,为了应对交换机计算存储资源的限制,涉及每流状态信息和复杂计算的部分下放到端侧执行,网络侧仅需维护当前流数量信息和执行少量的计算。
90.如图1所示,在本发明实施例的一种实现方式中,端网协同流量调度方法还包括以下步骤:
91.步骤s200,根据流启动阶段的数据流计算所述网络侧的基础目标速率,并将所述网络侧的当前数据流传输速率调整至所述基础目标速率。
92.在本实施例中,带宽分配模块采用主动式调度,解决传统调度算法隐式反馈导致收敛慢的问题;并且,带宽分配模块具有调度目标高扩展性,即网络管理员可以根据需要自由调整调度目标,所需的计算和存储资源低,能够部署到可编程交换机。
93.具体地,在本实施例的一种实现方式中,步骤s200包括以下步骤:
94.步骤s201,确定所述网络侧的竞争流信息和差异化调度目标;
95.步骤s202,根据所述竞争流信息和所述差异化调度目标,在所述流启动阶段以周期性和主动性的方式将所述当前数据流传输速率调整至所述基础目标速率。
96.如图3所示,在本实施例中,基于带宽分配模块提出了一种带宽分配模块算法,网络侧根据竞争流信息和差异化调度目标,从流启动开始周期性的主动式的为流分配基础目标速率,实现在1rtt内使流传输速率达到类似tcp的拥塞避免阶段,避免端侧反复探测,提高传输效率,加速收敛。
97.在本实施例的一种实现方式中,带宽分配模块分为端侧部分和网络侧部分。由于端侧对流启动和rtt信息的获取最为便捷,因此由端侧发起带宽分配检测,网络侧对发起检测的数据包计算带宽分配结果。
98.具体地,在本实施例的一种实现方式中,针对流启动阶段,步骤s202包括以下步骤:
99.步骤s202a,判断流启动时长是否超过检测周期;
100.步骤s202b,若所述流启动时长超过所述检测周期,则通过所述发送端在所述数据包的头部设置带宽分配检测字段;
101.步骤s202c,根据所述带宽分配检测字段执行带宽分配算法;
102.步骤s202d,根据所述竞争流信息和所述差异化调度目标计算所述网络侧的基础目标速率;
103.步骤s202e,将所述当前数据流传输速率调整至所述基础目标速率。
104.具体地,在本实施例的另一种实现方式中,针对非流启动阶段,步骤s202还包括以下步骤:
105.步骤s202f,判断距离上次分配时长是否超过检测周期;
106.步骤s202g,若距离上次分配时长超过所述检测周期,则通过所述发送端在所述数据包的头部设置带宽分配检测字段。
107.在非流启动阶段中,在步骤s202g之后,亦根据带宽分配检测字段执行带宽分配算法,以及根据竞争流信息和差异化调度目标计算网络侧的基础目标速率,从而将当前数据流传输速率调整至基础目标速率。
108.具体地,在带宽分配模块的工作过程中,当流启动或距离上次带宽分配超过检测周期th
time
时,发送端在业务数据包的头部设置带宽分配检测字段。交换机收到数据包后检测其头部字段,当发现带宽分配检测,交换机执行带宽分配函数(即带宽分配算法),根据竞争流信息和调度目标计算本地带宽分配速率。为了避免网络拥塞,交换机将计算结果和数据包携带的带宽分配相比较,嵌入较小值。接收端收到携带带宽分配的数据包后,将带宽分配结果嵌入到ack(即确认字符)中反馈给发送端。发送端根据带宽分配结果更新流传输速率。
109.在本实施例中,在带宽分配模块计算本地带宽分配速率的过程中,还包括以下步骤:
110.步骤s202h,将所述基础目标速率的计算结果与所述数据包中携带的带宽分配值进行对比;
111.步骤s202i,根据对比结果选择较小值,并将选择的较小值嵌入所述数据包中;
112.步骤s202j,将嵌入后的数据包发送至接收端,以通过所述接收端将带宽分配结果嵌入确认字符中。
113.在本实施例中,带宽分配模块中涉及的主要参数为检测周期th
time
。由于带宽分配模块的主要作用是使流到达类似tcp的拥塞避免阶段,此时的流传输速率接近但低于收敛结果。与基于利用率的拥塞控制模块配合下,流传输速率在几个rtt内快速收敛到调度目标速率。另一方面,由于网络中不断有流的产生和结束,竞争流不断变化,因此调度目标速率随之变化,此时需要重新执行带宽分配。因此检测周期th
time
应设置为此流的数个rtt。
114.如图1所示,在本发明实施例的一种实现方式中,端网协同流量调度方法还包括以下步骤:
115.步骤s300,获取剩余带宽信息,并根据所述基础目标速率和所述剩余带宽信息占据剩余带宽。
116.在本实施例中,在带宽分配模块执行带宽分配函数的过程中,会获取剩余带宽信
息,以根据基础目标速率和剩余带宽信息占据剩余带宽,对剩余带宽进行公平分配。
117.为了实现调度带宽目标的高扩展性,得益于p4交换机便于调整算法的特点,带宽分配函数可以根据调度目标需求进行设置。下面分别给出公平带宽分配函数和带宽分配函数的例子:
118.首先,进行公平带宽分配,对于交换机sj上的所有流,不考虑流在其他节点的瓶颈,则对任意的流fi,兼顾公平和带宽利用效率的速率分配为:
[0119][0120]
其中,sj·
port(fi)
·
b为对于端口的带宽,sj·
port(fi)
·
flow-num为对于端口的流数量。
[0121]
其次,对于差异化每流带宽分配函数:设有m类流,pi为i类流的相对带宽份额,1≤i≤m。带宽分配目标为:r1:r2:...:ri:...:rm=p1:p2:...:pi:...:pm,其中为任一类流的速率。则带宽分配计算公式为:
[0122][0123]
在本实施例中,通过进行公平带宽分配,对于网络侧中的差异化数据流执行每流带宽分配函数,可以根据调度目标需求进行带宽公平分配。
[0124]
如图1所示,在本发明实施例的一种实现方式中,端网协同流量调度方法还包括以下步骤:
[0125]
步骤s400,接收所述发送端反馈的实时发送速率计算结果,根据所述实时发送速率计算结果向所述发送端嵌入对应的带宽,并基于利用率调整所述网络侧的传输速率。
[0126]
在本实施例中,基于利用率的拥塞控制模块,提出了一种基于利用率的拥塞控制模块算法。数据中心网络的带宽高,流量动态性强。为了充分利用网络带宽同时避免拥塞,算法需要对网络的动态性快速且精确的响应。此外,拥塞控制算法需要与带宽分配模块配合,能够维持带宽分配目标。
[0127]
为了实现精确的拥塞控制,本模块采用利用率作为拥塞指标。利用率相较于丢包、rtt或ecn等指标可指示的拥塞情况范围更大,丢包只有在网络特别拥塞时才发生,对于数据中心网络环境不适用;ecn只能指示网络是否发生拥塞,不能表达拥塞程度;当网络利用率较低时rtt达到最小值,不能再反映网络的利用情况。
[0128]
具体地,在本实施例的一种实现方式中,步骤s400包括以下步骤:
[0129]
步骤s411,根据网络利用率算法及参数在所述发送端中计算所述利用率;
[0130]
步骤s412,根据所述利用率以乘性增和/或乘性减的方式更新所述流传输速率,以维持所述网络侧的带宽分配目标。
[0131]
在本实施例中,利用率指标在网络拥塞或闲置时都能很好的指示网络利用情况,而且能够指出利用的程度,基于利用率能够计算精确的适合的发送速率。利用率计算公式如下:
[0132][0133]
其中,t为拥塞控制控制周期,v
t
为端口聚合流量接收速率,η为效率参数,qlen
t
为队列长度,b为带宽。
[0134]
在本实施例中,当η
·b·
t-qlen
t
》0,一个周期t内端口能处理完队列存量,各发送端发送的流量应与下一周期剩余容量η
·b·
t-qlen
t
匹配;当η
·b·
t-qlen
t
≤0,下一周期t所有的容量用于队列存量传输也不能够消除队列,此时网络拥塞,各发送端在队列基本排尽前暂停发送。队列实际排尽后,各流恢复到既高效利用带宽又不违背带宽分配的发送速率。
[0135]
为了实现快速响应与维持调度目标,基于利用率的拥塞控制模块采用乘性增、乘性减的方式更新流传输速率。乘性增、乘性减的方式与精确的利用率信息配合,能够计算出精确的流传输速率,从而对网络状态的变化在1rtt内作出快速准确的响应。此外,乘性增、乘性减的速率更新能够维持流的相对速率不变,从而维持带宽分配目标。因此,拥塞控制模块采用利用率作为拥塞指标,采用乘性增、乘性减的方式更新流传输速率。
[0136]
在本实施例中,为了降低交换机的计算存储资源消耗,在拥塞控制模块中,网络侧将最终的流传输速率计算下放到发送端执行,网络侧反馈所需的利用率信息等。
[0137]
具体地,在本实施例的一种实现方式中,步骤s412包括以下步骤:
[0138]
步骤s412a,在所述发送端的数据包中嵌入预设的头部信息,并将所述数据包中的字段类型设置为拥塞控制;
[0139]
步骤s412b,接收设置后的数据包,并根据所述数据包中的拥堵类型判断当前的队列长度;
[0140]
步骤s412c,根据判断结果及利用率算法更新所述数据包的利用率信息;
[0141]
步骤s412d,将更新后的数据包发生至所述接收端,并通过所述接收端的确认字符将拥塞信息反馈至所述发送端;
[0142]
步骤s412e,在所述发送端中以乘性增和/或乘性减的方式更新流传输速率信息;
[0143]
步骤s412f,根据所述发送端反馈的流传输速率信息更新所述流传输速率。
[0144]
如图4所示,在本实施例中,基于利用率的拥塞控制算法,分为端侧和网络侧。
[0145]
首先,发送端在业务数据包嵌入专用的头部,并置数据包类型字段为拥塞控制。交换机收到拥塞控制类型的数据包后,交换机判断队列长度情况。若η
·b·
t-qlen
t
》0,交换机根据利用率公式计算并更新数据包中利用率信息;若η
·b·
t-qlen
t
≤0,交换机根据利用率公式计算并更新数据包中利用率信息,同时计算并嵌入队列排空时间t。
[0146]
其次,接收端收到数据包后将拥塞控制信息通过ack反馈到发送端。发送端收到拥塞信息反馈后,根据利用率乘性增乘性减的更新流传输速率,若队列排空时间t不为0,则暂停发送ξ倍的排尽队列时间。为了避免发送端对反馈利用率过反应,即当前发送速率反复除以新到的利用率,发送端根据获得反馈利用率对应的数据包序列号当时的发送速率进行调整。
[0147]
具体地,在本实施例的一种实现方式中,步骤s400还包括以下步骤:
[0148]
步骤s413,根据所述网络利用率算法更新所述数据包中的利用率信息,并计算及嵌入拥塞队列长度;
[0149]
步骤s414,根据所述拥塞队列长度暂停发送倍数的排列时间;
[0150]
步骤s415,根据暂停的排列时间重新在所述发送端中计算所述利用率。
[0151]
在本实施例中,基于利用率的拥塞控制模块中涉及的主要参数包括控制周期t、暂停发生倍数ξ和效率参数η。对于控制周期t,由于反馈利用率计算公式中分母是“η
·b·
t-qlen
t”,较大的t意味着容忍更大的队列。
[0152]
另一方面,网络中存在因随机碰撞而非拥塞导致的队列增长,这种非拥塞的队列长度以o(√流数)增长。因此,每个交换机可以设置t随着流数o(√n)的变化,从而提高网络利用率同时避免拥塞。对于暂停发生倍数ξ,由于拥塞信息反馈存在一定时延,如果聚合速率v
t
不变,则这段时间内队列会持续增长。为了应对更长的队列,发送端需要暂停更长的时间。效率参数η的作用是为新流预留一部分带宽,避免网络拥塞,设置为略小于1。
[0153]
本实施例通过上述技术方案达到以下技术效果:
[0154]
相较于传统端到端拥塞控制和传统网络调度以及基于ecn、int等的流量调度方案,本实施例提出了一种基于利用率的拥塞控制模块,该模块采用分布式设计,网络侧将速率决策信息在1rtt内反馈到发送端,发送端以乘性增乘性减的方式对网络状态做出快速精确的响应;并且,本实施例还设计了一种带宽分配模块,该模块从流启动开始周期性的计算基础目标速率,使流传输速率在1rtt内达到类似tcp的拥塞避免阶段。与拥塞控制模块配合,实现快速收敛到调度目标;将模块的算法拆分,涉及流传输速率等复杂的每流状态计算下放到端侧,网络侧反馈所需的中间结果。从而交换机仅需维护少量信息和执行少量的计算,降低了交换机的计算存储开销。
[0155]
示例性设备
[0156]
基于上述实施例,本发明还提供一种端网协同流量调度装置,其原理框图可以如图5所示。
[0157]
该端网协同流量调度装置包括:通过系统总线连接的处理器、存储器、接口、显示屏以及通讯模块;其中,该端网协同流量调度装置的处理器用于提供计算和控制能力;该端网协同流量调度装置的存储器包括存储介质以及内存储器;该存储介质存储有操作系统和计算机程序;该内存储器为存储介质中的操作系统和计算机程序的运行提供环境;该接口用于连接外部设备,例如,移动终端以及计算机等设备;该显示屏用于显示相应的端网协同流量调度信息;该通讯模块用于与云端服务器或移动终端进行通讯。
[0158]
该计算机程序被处理器执行时用以实现一种端网协同流量调度方法。
[0159]
本领域技术人员可以理解的是,图5中示出的原理框图,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的端网协同流量调度装置的限定,具体的端网协同流量调度装置可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0160]
在一个实施例中,提供了一种端网协同流量调度装置,其中,包括:处理器和存储器,存储器存储有端网协同流量调度程序,端网协同流量调度程序被处理器执行时用于实现如上的端网协同流量调度方法。
[0161]
示例性系统
[0162]
基于上述实施例,本发明还提供一种端网协同流量调度系统,如图2所示,包括:发送端、接收端以及如上所述的端网协同流量调度装置;
[0163]
所述发送端用于发送数据包;
[0164]
所述发送端还用于接收所述端网协同流量调度装置发送的速率调整决策信息,基于所述速率调整决策信息计算及更新所述数据包的发送速率,将计算结果及更新的发送速率反馈至所述端网协同流量调度装置;
[0165]
所述端网协同流量调度装置用于将网络侧的速率调整决策信息反馈至发送端;根据流启动阶段的数据流计算所述网络侧的基础目标速率,并将所述网络侧的当前数据流传输速率调整至所述基础目标速率;
[0166]
所述端网协同流量调度装置还用于获取剩余带宽信息,并根据所述基础目标速率和所述剩余带宽信息占据剩余带宽;接收所述发送端反馈的实时发送速率计算结果,根据所述实时发送速率计算结果向所述发送端嵌入对应的带宽,并基于利用率调整所述网络侧的传输速率;
[0167]
所述接收端用于接收所述数据包,将所述数据包中的反馈信息嵌入确认字符中,以及将所述确认字符反馈至所述发送端。
[0168]
在一个实施例中,提供了一种存储介质,其中,存储介质存储有端网协同流量调度程序,端网协同流量调度程序被处理器执行时用于实现如上的端网协同流量调度方法。
[0169]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一非易失性存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。
[0170]
综上,本发明提供了一种端网协同流量调度方法、装置、系统及存储介质,方法包括:将网络侧的速率调整决策信息反馈至发送端;根据流启动阶段的数据流计算网络侧的基础目标速率,并将网络侧的当前数据流传输速率调整至基础目标速率;获取剩余带宽信息,并根据基础目标速率和剩余带宽信息占据剩余带宽;接收发送端反馈的实时发送速率计算结果,根据实时发送速率计算结果向发送端嵌入对应的带宽,并基于利用率调整网络侧的传输速率。本发明通过显式告知端侧速率决策信息,避免了端侧反复探测网络侧资源分配与拥塞情况,从而提高了网络利用率和传输效率;并将速率决策转移到网络侧,在计算流发送速率时能够直接考虑其他流的信息,从而更好的实现调度目标。
[0171]
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1