数据中心网络中的应用层调度方法
【专利摘要】本发明提供一种数据中心网络中的应用层调度方法,包括:客户端获取网络和应用信息;根据网络和应用信息采用最优化模型获得并行服务器数和TCP流速率;根据所述并行服务器数对服务器进行分组,获得分组调度策略;根据分组调度策略向服务器发送数据请求,并同时发送对应的TCP流速率,以使服务器根据数据请求和TCP流速率调整发送速率进行数据传递;客户端获取数据。本发明提供一种数据中心网络中的应用层调度方法,通过综合考虑网络和应用的多种参数,采用最优化模型确定并发服务器的数量和TCP流的传输速率,保证最大程度地利用核心链路资源,还避免TCP数据包的丢失以及TCP超时的产生,从而有效地解决了TCP Incast问题。
【专利说明】
数据中心网络中的应用层调度方法
技术领域
[0001] 本发明设及数据中屯、网络技术领域,尤其设及一种数据中屯、网络中的应用层调度 方法。
【背景技术】
[0002] 随着云计算技术的高速发展和大规模应用,作为其基础设施的数据中屯、网络如今 扮演着越来越重要的角色。
[000引然而,数据中屯、网络中存在着很多的性能问题。影响网络吞吐量的TCP Incast问 题便是其中之一。TCP Incast问题指的是在many-to-one的通信模式下,多个服务器同时通 过同一个瓶颈链路向客户端传递数据。当并发服务器数量不断增加时,客户端应用层观察 到的网络吞吐量甚至会低于链路容量一至两个数量级。TCP超时是造成吞吐量崩溃的主要 原因。
[0004] 针对TCP Incast问题,现有的应用层解决方法都是通过限制并发服务器数量来避 免消除TCP超时进而缓解或消除TCP Incast现象。但如何确定并发服务器的数量是应用层 调度需要解决的核屯、问题。在TCP Incast问题中,较多的并发服务器会导致多个TCP流共同 竞争有限的核屯、链路资源。运样过量的TCP流会让核屯、链路交换机的缓存溢出,使得大量的 数据包会被丢弃。某些TCP流由于丢包较多便会经历TCP超时重传。通过限制并发服务器数 量的方法,可W有效的控制核屯、链路上的数据量,并能大大减小TCP流超时的可能性。
[0005] 然而现有的解决方法在确定最大并发服务器数量时,采用的模型都较为单一,并 且它们往往都假设网络和应用参数满足某些特定的要求(比如数据包较小、交换机缓存大 于链路容量等)。所W运类方法无法应用于不同的网络和应用中,局限性较大。
[0006] 其次,已有的应用层方法仅仅考虑了限制并发服务器数量,而没有考虑限制服务 器传输速率。如果一个服务器需要传递大量数据,即使网络中没有竞争,它也会由于TCP发 送速率较快而产生数据包的丢失。而数据包一旦丢失,TCP便存在着进入到超时重传的可能 性。所W仅仅限制并发服务器数量并不能完全的避免TCP超时。此外,由于已有的方法没有 对服务器传输速率进行限制,所W它们在确定并发服务器数量的时候都采用较为保守的算 法。可W看出,运些方法对于网络吞吐量的提升都较为有限,同时也不能完全避免TCP超时。
【发明内容】
[0007] 本发明提供一种数据中屯、网络中的应用层调度方法,用于解决现有技术中不能确 定并非服务器数量和TCP流速率而无法有效解决TCP Incast问题的问题。
[000引第一方面,本发明提供一种数据中屯、网络中的应用层调度方法,包括:
[0009] 客户端获取网络和应用信息;
[0010] 根据网络和应用信息采用最优化模型获得并行服务器数和TCP流速率;
[0011] 根据所述并行服务器数对服务器进行分组,获得分组调度策略;
[0012] 根据分组调度策略向服务器发送数据请求,并同时发送对应的TCP流速率,W使服 务器根据数据请求和TCP流速率调整发送速率进行数据传递;
[0013] 客户端获取数据。
[0014] 优选地,所述网络和应用信息包括链路带宽、链路的基本往返传播时延、服务器的 总数、每个服务器每次需要传递的数据量、一个数据包的大小、一个数据包中数据部分的大 小和调度时延。
[0015] 优选地,根据网络和应用信息采用最优化模型获得并行服务器数和TCP流速率,包 括:
[0016] 当交换机缓存值大于链路容量值时,根据网络和应用信息采用公式:
[0017]
获得并行服务器数和客户 端通告的TCP接收窗口大小;
[0018] 当交换机缓存值小于链路容量值时,根据网络和应用信息采用公式:
[0019]
巧得并行服务器数、客户端通告的 TCP接收窗口大小和客户端通告的TCP初始窗口大小;
[0020] 其中,G为客户端观察到的应用层吞吐量;Sdata数据包中数据部分的大小;Ssru为每 个服务器每次需要传递的数据量;N为服务器总数;K为并发服务器的分组数;0为调度时延, 大小等于D;化为第k个分组中所有服务器传递数据需要的RTT数量;D为链路的基本往返传 播时延;Winit为客户端通告的TCP初始窗口大小;Mk为在第k化=1,2,……,K)组中并发服务 器的数量;扣为一个数据包的大小;C为链路带宽;M为并发服务器数;Wmax为客户端通告的 TCP接收窗口大小;
[0021 ]所述TCP流速率包括客户端通告的TCP接收窗口大小和客户端通告的TCP初始窗口 大小。
[0022] 优选地,根据分组调度策略向服务器发送数据请求,并同时发送对应的TCP流速 率,W使服务器根据数据请求和TCP流速率调整发送速率进行数据传递,包括:
[0023] 当客户端向服务器请求一数据包时,客户端向第k组服务器中所有服务器发送数 据请求,并同时发送对应的TCP流速率,W使第k组的所有服务器根据数据请求和TCP流速率 调整发送速率进行数据传递;
[0024] 当第k组的所有服务器完成数据传递后,客户端向第k+1组服务器中所有服务器发 送数据请求,并同时发送对应的TCP流速率,W使第k+1组的所有服务器根据数据请求和TCP 流速率调整发送速率进行数据传递;
[0025]其中,k = l,2,……,K。
[0026]优选地,
[0027] 当交换机缓存值大于链路容量值时,客户端向第k组中所有服务器发送数据请求, 并同时通告的TCP接收窗口大小;
[0028] 当交换机缓存值小于链路容量值时,客户端向第k组中所有服务器发送数据请求, 并同时通告TCP接收窗口大小和TCP初始窗口大小。
[0029] 优选地,根据所述并行服务器数对服务器进行分组,包括:
[0030] 根据服务器总数N和并行服务器数M采用公式:
[0031]
获得并发服务器的分组数K、在第k(k=l, 2,……,K)组中并发服务器的数量Mk和第n(n=l,2,. . .,N)个服务器所在的分组序号Kn。
[0032] 第二方面,本发明提供一种数据中屯、网络中的应用层调度方法,包括:
[0033] 服务器接收客户端发送的数据请求和TCP流速率;所述数据请求为客户端获取网 络和应用信息后,根据网络和应用信息采用最优化模型获得并行服务器数,并根据所述并 行服务器数对服务器进行分组,获得分组调度策略后,根据分组调度策略向服务器发送的 请求;所述TCP流速率为客户端获取网络和应用信息后,根据网络和应用信息采用最优化模 型获得;
[0034] 服务器根据数据请求和TCP流速率调整发送速率进行数据传递。
[0035] 优选地,所述网络和应用信息包括链路带宽、链路的基本往返传播时延、服务器的 总数、每个服务器每次需要传递的数据量、一个数据包的大小、一个数据包中数据部分的大 小和调度时延。
[0038] 当交换机缓存值小于链路容量值时,所述最优化模型为:
[0036] /击4化祉化A胞壬巧右化+工担皮口々旦化口4 甚/击/型为.
[0037]
[0039]
[0040] 其中,G为客户端观察到的应用层吞吐量;Sdata数据包中数据部分的大小;Ssru为每 个服务器每次需要传递的数据量;N为服务器总数;K为并发服务器的分组数;0为调度时延, 大小等于D;化为第k个分组中所有服务器传递数据需要的RTT数量;D为链路的基本往返传 播时延;Winit为客户端通告的TCP初始窗口大小;Mk为在第k化=1,2,……,K)组中并发服务 器的数量;扣为一个数据包的大小;C为链路带宽;M为并发服务器数;Wmax为客户端通告的 TCP接收窗口大小。
[0041] 由上述技术方案可知,本发明提供一种数据中屯、网络中的应用层调度方法,通过 综合考虑网络和应用的多种参数,采用最优化模型确定并发服务器的数量和TCP流的传输 速率,保证最大程度地利用核屯、链路资源,还避免TCP数据包的丢失W及TCP超时的产生,从 而有效地解决了TCP Incast问题。
【附图说明】
[0042] 图1为本发明实施例1提供的数据中屯、网络中的应用层调度方法的流程示意图;
[0043] 图2为本发明提供的TCP Incast网络场景示意图;
[0044] 图3为本发明提供的分组调度策略示意图;
[0045] 图4为当B大于抓P且SRU大小固定时,B取不同值各个方法取得的吞吐量的示意图;
[0046] 图5为当B大于抓P且数据块大小固定时,B取不同值各个方法取得的吞吐量示意 图;
[0047] 图6为当B小于抓P且SRU大小固定时,B取不同值各个方法取得的吞吐量示意图;
[0048] 图7为当B小于抓P且数据块大小固定时,B取不同值各个方法取得的吞吐量示意 图。
【具体实施方式】
[0049] 下面结合附图和实施例,对本发明的【具体实施方式】作进一步详细描述。W下实施 例用于说明本发明,但不用来限制本发明的范围。
[0050] 图1示出了本发明实施例1提供一种数据中屯、网络中的应用层调度方法,包括:
[0051] S11、客户端获取网络和应用信息。在本步骤中,需要说明的是,所述网络和应用信 息包括链路带宽C、链路的基本往返传播时延D、服务器的总数N、每个服务器每次需要传递 的数据量Ssrln -个数据包的大小Sf、一个数据包中数据部分的大小Sdata和调度时延0。在实 际操作中,数据中屯、网络中的管理员或专用服务器可统计上述信息并把运些信息告知给客 户端。
[0052] S12、根据网络和应用信息采用最优化模型获得并行服务器数和TCP流速率。需要 说明的是,本发明的目标是在最大化吞吐量的同时不造成数据包的丢失。因此,一方面需要 网络中的数据包足够多来获取大的吞吐量,另一方面也需要让交换机缓存队列中的数据包 不超过缓存的大小。在many-to-one的通信模式下,当服务器开始同时传递数据时,大量的 突发流量会迅速的涌入网络并进入到核屯、链路交换机的缓存队列中,运个时候需要保证突 发流量小于交换机缓存大小。在之后的数据传输时,由于顺序到达的ACK包平滑掉了各个 TCP流的发送速率,网络的突发流量就可W忽略。运个时候只需要保证网络中的数据包数量 接近或超过链路容量抓P(带宽时延乘积)且小于网络容量,就可W避免数据包的丢失且获 得较高的网络吞吐量。因此,存在两种处理情况:
[0053] 1)当交换机缓存大小B大于链路容量抓P的时候,只需要保证网络中的数据包数量 足够多并且不超过B的限制。运样在数据传输的任何时候都不会有丢包并且核屯、链路一直 得到充分的利用。为了实现运个目标,客户端只需要通告接收窗口大小Wmax给服务器即可。
[0054] 2)当交换机缓存大小B小于链路容量BDP的时候,在数据传输的开始,需要保证网 络中的数据量是小于B的。然后需要让网络中的数据量增长到小于等于BDP来尽量多的利用 带宽资源。为了实现运个目标,客户端将会发送Winit和Wmax的值来限制服务器的起始发送 速率和最大发送速率。
[0055] 针对上述的描述,本步骤在对服务器分组过程中需要从运两种情况进行考虑,从 而会产生处于上述两种情况下的最优化模型。
[0056] 第一种情况:当缓存B大于链路容量抓即寸
[0057] 在数据中屯、网络many-to-one的通信模式下,单个TCP流每次的最大数据发送量不 会超过SSRU的大小,本发明通过限制接收窗口大小Wmax来进一步限制TCP流的最大发送窗 口。为了让Wmax有实际意义,Wmax需要满足:
[005引 1< Wmax 含 Ssru (1)
[0059] 当缓存B大于BDP的时候,网络中的数据包需要大于或者等于链路容量来充分利用 带宽资源,同时核屯、链路上的交换机缓存中堆积的数据包数量需要小于缓存大小来避免丢 包。所W本模型中需要满足W下两个关系式:
[0060] MXWmax >CXD/Sf (2) 幽](m-l)XWmax 非(3)
[0062] 在稳定情况下,客户端应用层观测到的吞吐量表示如下:
(4)
[0063]
[0064] 上式中的分子表示一个完整数据包的大小,分母表示K个分组完成相应数据传递 需要的时间之和。Tk是由两部分组成。第一部分是调度时延开销0。第二部分是第K组中所有 服务器数据传输时延开销。运个时延等于平均RTT大小与平均RTT的数量乘积。由于在一轮 RTT中网络平均有MkXWmax个数据包,并且链路上可W容纳大约CXD/Sf个数据包,所W核屯、 链路交换机缓存的队列长度大约为MkXWmax-CXD/Sf个数据包。运样可W得到平均的排队时 延为:
。平均RTT的大小等于平均排队时延与链路上的往返时延之和, 所W可W得到如下公式:
[0065]
( 5 )
[0066] 第k组服务器传递数据时所需的RlT数量由下式确定:
[0067]
{ 6 )
[006引 巧据化),(R),前W得宅IlTk的夫巧击,
[0069]
( 7 )
[0070] -个数据包的总大小等于每个服务器一次需要传递的数据量Ssru与服务器的数量 的乘积。当W字节为单位时,表达式如下:
[0071] S = SdataxSsruXN (8)
[0072] 根据上面的推导,当缓存B大于链路容量抓P的时候的最优化模型如下:
[0073]
( 9 )
[0074] 对于上述公式中设及到的各个参数如下所示:
[00对 G为客户端观察到的应用层吞吐量;Sdata数据包中数据部分的大小;Ssru为每个服 务器每次需要传递的数据量;N为服务器总数;K为并发服务器的分组数;0为调度时延,大小 等于D;化为第k个分组中所有服务器传递数据需要的RTT数量;D为链路的基本往返传播时 延;Winit为客户端通告的TCP初始窗口大小;Mk为在第k化=1,2,……,K)组中并发服务器的 数量;Sf为一个数据包的大小;C为链路带宽;M为并发服务器数;Wmax为客户端通告的TCP接 收窗口大小。
[0076] 通过公式(9)可W获得该情况下的并行服务器数和为客户端通告的TCP接收窗口 大小Wmax。其中,Wmax是TCP流速率的一种。
[0077] 第二种情况:当缓存B小于链路容量抓即寸
[0078] 在每个服务器开始进行数据的传输时,为了避免核屯、链路交换机缓存溢出,需要 使用(3)式所给出的限制条件。在之后的数据传输时,为了充分利用带宽且不造成数据包丢 失,需要让网络中的数据包数量小于等于链路容量BDP。也就是MX Wmax含CXD/Sf。
[0079] 鉴于W上的考虑,本模型利用Winit来限制服务器的起始传输速率,利用Wmax来限制 服务器的最女佑输巧率。具体表达式如下:
[0080]
(10)
[0081 ]
( 11 )
[0082]显然,为了让运两个值有意义,它们还需要满足如下不等式:
[008;3] 1 <Winit,Wmax<SsRU,M<N(12)
[0084] 本情形中的各个服务器在完成一个Ssru的数据传递时的TCP窗口变化规律如下所 述。当Wmax < Winit时,所有服务器在完成一次数据传递时的TCP发送窗口 一直是Wmax。当 乎,所有服务器在完成一次的TCP窗口会从Winit增长到一
UlU 个不超过Wmax的值。^
时,所有服务器的TCP窗口会从Winit 增长到Wmax并一直稳定在Wmax。
[0085] 和上一部分一样,客户端应用层观测到的吞吐量表达式如下:
(B)
[0086]
[0087]由于一组服务器在数据传递的第一个RlT时会带来大约WinitXMk个数据包的突发 流量,并且会让队列长度增长到WinitX (Mk-1)。在其余RlT中,由于网络中没有突发流量且数 据包完全分布在链路中,运个时候核屯、链路交换机的队列几乎一直为空。所W除去第一个 RTT,网络中是没有排队时延的,并且平均RTT就等于基本RTT,也就是D。基于运个原因,可W 得到化的表达式:
[008引
(14)
[0089] 根据上面提到的TCP窗口变化规律,可W得到化的表达式:
[0094]对于上述公式中设及到的各个参数如下所示:[00对 G为客户端观察到的应用层吞吐量;Sdata数据包中数据部分的大小;Ssru为每个服 (15 )
[0090]
[0091] (16)
[0092] I最优化模型:
[oow] 07) 务器每次需要传递的数据量;N为服务器总数;K为并发服务器的分组数;O为调度时延,大小 等于D;化为第k个分组中所有服务器传递数据需要的RTT数量;D为链路的基本往返传播时 延;Winit为客户端通告的TCP初始窗口大小;Mk为在第k化=1,2,……,K)组中并发服务器的 数量;Sf为一个数据包的大小;C为链路带宽;M为并发服务器数;Wmax为客户端通告的TCP接 收窗口大小。
[0096] 通过公式(17)可W获得该情况下的并行服务器数、客户端通告的TCP接收窗口大 小Wmax和客户端通告的TCP初始窗口大小Winit。其中,Wmax和Winit均是TCP流速率的一种。
[0097] S13、根据所述并行服务器数对服务器进行分组,获得分组调度策略。在本步骤中, 需要说明的是,在对服务器进行分组时,首先要介绍一下TCP Incast的网络场景,如图2所 示,在图中,客户端(Client)向若干个服务器节点请求多个数据包(Data block)。对于每个 数据包,它们都被均匀地存放在N个服务器(Servers)上,所W每个服务器上都有运个数据 包的一部分数据,运部分数据被称为一个SRlKSever Request化it)。客户端向N个服务器 发出某个数据包的请求后,各个服务器会传递与运个数据包对应的SRU给客户端。当客户端 接受完一个数据包的所有SRU时,它便向所有服务器请求下一个数据包。但W如图2中所示 的网络场景进行数据传递,会使一个数据包同时向很多服务器一起传递数据,会造成数据 缓存较大。故需要对多个服务器进行分组,传递数据时W-组一组的服务器进行依次数据 传递,减缓硬件压力。
[0098] 根据步骤S12获得的数据,根据所述并行服务器数对服务器进行分组,包括:
[0099] 根据服务器总数N和并行服务器数M采用公式:
[0100]
[0101] 获得并发服务器的分组数K、在第k化=1,2,……,K)组中并发服务器的数量Mk和 第n(n = l,2,. . .,N)个服务器所在的分组序号Kn。
[0102] S14、根据分组调度策略向服务器发送数据请求,并同时发送对应的TCP流速率,W 使服务器根据数据请求和TCP流速率调整发送速率进行数据传递。在本步骤中,需要说明的 是,如图3所示,所述分组调度策略具体为:
[0103] 当客户端向服务器请求一数据包时,客户端向第k组服务器中所有服务器发送数 据请求,并同时发送对应的TCP流速率,W使第k组的所有服务器根据数据请求和TCP流速率 调整发送速率进行数据传递;
[0104] 当第k组的所有服务器完成数据传递后,客户端向第k+1组服务器中所有服务器发 送数据请求,并同时发送对应的TCP流速率,W使第k+1组的所有服务器根据数据请求和TCP 流速率调整发送速率进行数据传递;其中,k=l,2,……,K。
[0105] 当客户端收集了所有服务器传递的数据,运便表明当前的数据包传递完成。客户 端便会重复运个操作来请求下一个数据包的所有数据。运个调度策略直到客户端不再请求 任何数据时停止。
[0106] 另外,客户端向服务器发送数据请求时:
[0107] 当交换机(Switch)缓存值大于链路容量值时,客户端向第k组中所有服务器发送 数据请求,并同时通告的TCP接收窗口大小;
[0108] 当交换机缓存值小于链路容量值时,客户端向第k组中所有服务器发送数据请求, 并同时通告TCP接收窗口大小和TCP初始窗口大小。
[0109] S15、客户端获取数据。
[0110] 本发明提供一种数据中屯、网络中的应用层调度方法,通过综合考虑网络和应用的 多种参数,采用最优化模型确定并发服务器的数量和TCP流的传输速率,保证最大程度地利 用核屯、链路资源,还避免TCP数据包的丢失W及TCP超时的产生,从而有效地解决了TCP Incast 问题。
[0111] 本发明实施例2提供一种数据中屯、网络中的应用层调度方法,包括:
[0112] 服务器接收客户端发送的数据请求和TCP流速率;所述数据请求为客户端获取网 络和应用信息后,根据网络和应用信息采用最优化模型获得并行服务器数,并根据所述并 行服务器数对服务器进行分组,获得分组调度策略后,根据分组调度策略向服务器发送的 请求;所述TCP流速率为客户端获取网络和应用信息后,根据网络和应用信息采用最优化模 型获得;
[0113] 服务器根据数据请求和TCP流速率调整发送速率进行数据传递。
[0114] 本发明实施例2所述方法是从服务器角度出发,对本发明所述方法进行阐述,其阐 述的基本原理W及具体描述在本发明实施例1所述方法的
【发明内容】
中均有体现,在此不再 寶述。
[0115] 为了更好的解释说明本发明所述方法所带来的有益效果,下面W具体实施数据进 行解释说明:
[0116] 在NS2仿真平台中对方法进行了验证。仿真拓扑如图1所示。在仿真中,交换机采用 Drop-化il的队列管理机制。调度时延0设为lOOus。各个服务器的TCP协议版本是化wReno。 数据包的大小Sf为1040字节,数据包中的数据大小Sdata为1000字节。对于每组参数,做了 10 次仿真,在去掉最大值和最小值后再对剩余值取平均。
[0117] 将本发明所述方法与其他=类应用层的调度方法进行了对比。根据运=类方法的 核屯、思想,把它们依次命名为SSL(慢启动限制),化(缓存大小限制),SF(串行数据传递)。同 时把RTOmin修改为Ims的传送层方法也被进行了对比分析。
[0118] 首先对比分析了交换机缓存B大于链路容量抓P的情况。在运部分的实验中,设置 链路带宽为IGbps,往返传播时延D为lOOus。把服务器节点的数量从4按照指数增长的方式 变化到512。分别考虑了 SRU大小固定和数据块大小固定运两种情况。
[0119] 如图4所示为当B大于抓P且S抓大小固定时,B取不同值各个方法取得的吞吐量的 示意图。如图5所示为当B大于BDP且数据块大小固定时,B取不同值各个方法取得的吞吐量 示意图。从W上图4和图5可W发现无论是固定SRU大小,还是固定数据块的大小,也无论交 换机缓存是大还是小,OSDT方法几乎都能完全利用带宽,并且性能都优于其他方法。
[0120] 其次对比分析了交换机缓存B小于链路容量抓P的情况。在运部分的实验中,设置 链路带宽为10加 PS,往返传播时延D为lOOus。把服务器节点的数量从4按照指数增长的方式 变化到512。同样也分别考虑了 SRU大小固定和数据块大小固定运两种情况。
[0121] 如图6所示为当B小于抓P且S抓大小固定时,B取不同值各个方法取得的吞吐量示 意图。如图7所示为当B小于BDP且数据块大小固定时,B取不同值各个方法取得的吞吐量示 意图。从图6和图7可W发现无论是固定SRU大小,还是固定数据块的大小,也无论交换机缓 存是大还是小,OSDT方法几乎都能够较为充分地利用带宽,并且性能也优于其他方法。
[0122] 此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例 中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的 范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任 意之一都可WW任意的组合方式来使用。
[0123] 应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领 域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中, 不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词"包含"不排除存在未 列在权利要求中的元件或步骤。位于元件之前的单词"一"或"一个"不排除存在多个运样的 元件。本发明可W借助于包括有若干不同元件的硬件W及借助于适当编程的计算机来实 现。在列举了若干装置的单元权利要求中,运些装置中的若干个可W是通过同一个硬件项 来具体体现。单词第一、第二、W及第=等的使用不表示任何顺序。可将运些单词解释为名 称。
[0124] 本领域普通技术人员可W理解:W上各实施例仅用W说明本发明的技术方案,而 非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员 应当理解:其依然可W对前述各实施例所记载的技术方案进行修改,或者对其中部分或者 全部技术特征进行等同替换;而运些修改或者替换,并不使相应技术方案的本质脱离本发 明权利要求所限定的范围。
【主权项】
1. 一种数据中屯、网络中的应用层调度方法,其特征在于,包括: 客户端获取网络和应用信息; 根据网络和应用信息采用最优化模型获得并行服务器数和TCP流速率; 根据所述并行服务器数对服务器进行分组,获得分组调度策略; 根据分组调度策略向服务器发送数据请求,并同时发送对应的TCP流速率,W使服务器 根据数据请求和TCP流速率调整发送速率进行数据传递; 客户端获取数据。2. 根据权利要求1所述的方法,其特征在于,所述网络和应用信息包括链路带宽、链路 的基本往返传播时延、服务器的总数、每个服务器每次需要传递的数据量、一个数据包的大 小、一个数据包中数据部分的大小和调度时延。3. 根据权利要求1所述的方法,其特征在于,根据网络和应用信息采用最优化模型获得 并行服务器数和TCP流速率,包括: 当交换机缓存值大于链路容量值时,根据网络和应用信息采用公式:告的TCP接收窗口大小;当交换机缓存值小于链路容量值时,根据网络和应用信息采用公式: ) 获得并行服务器数和客户端通获得并行服务器数、客户端通告 的TCP接收窗口大小和客户端通告的TCP初始窗口大小; 其中,G为客户端观察到的应用层吞吐量;Sdata数据包中数据部分的大小;SSRU为每个服 务器每次需要传递的数据量;N为服务器总数;K为并发服务器的分组数;0为调度时延,大小 等于D;化为第k个分组中所有服务器传递数据需要的RTT数量;D为链路的基本往返传播时 延;Winit为客户端通告的TCP初始窗口大小;Mk为在第k化二1,2,……,Κ)组中并发服务器的 数量;Sf为一个数据包的大小;C为链路带宽;Μ为并发服务器数;Wmax为客户端通告的TCP接 收窗口大小; 所述TCP流速率包括客户端通告的TCP接收窗口大小和客户端通告的TCP初始窗口大 小。4. 根据权利要求1所述的方法,其特征在于,根据分组调度策略向服务器发送数据请 求,并同时发送对应的TCP流速率,w使服务器根据数据请求和TCP流速率调整发送速率进 行数据传递,包括: 当客户端向服务器请求一数据包时,客户端向第k组服务器中所有服务器发送数据请 求,并同时发送对应的TCP流速率,W使第k组的所有服务器根据数据请求和TCP流速率调整 发送速率进行数据传递; 当第k组的所有服务器完成数据传递后,客户端向第k+1组服务器中所有服务器发送数 据请求,并同时发送对应的TCP流速率,W使第k+1组的所有服务器根据数据请求和TCP流速 率调整发送速率进行数据传递; 其中,k=l,2,……,Κ。5. 根据权利要求4所述的方法,其特征在于, 当交换机缓存值大于链路容量值时,客户端向第k组中所有服务器发送数据请求,并同 时通告的TCP接收窗口大小; 当交换机缓存值小于链路容量值时,客户端向第k组中所有服务器发送数据请求,并同 时通告TCP接收窗口大小和TCP初始窗口大小。6. 根据权利要求3所述的方法,其特征在于,根据所述并行服务器数对服务器进行分 组,包括: 根据服务器总数N和并行服务器数Μ采用公式: 获得并发服务器的分组数Κ、在第k化二1,2,……, 、 、一 一- _ K)组中并发服务器的数量Mk和第n(n=l,2,. . .,N)个服务器所在的分组序号Κη。7. -种数据中屯、网络中的应用层调度方法,其特征在于,包括: 服务器接收客户端发送的数据请求和TCP流速率;所述数据请求为客户端获取网络和 应用信息后,根据网络和应用信息采用最优化模型获得并行服务器数,并根据所述并行服 务器数对服务器进行分组,获得分组调度策略后,根据分组调度策略向服务器发送的请求; 所述TCP流速率为客户端获取网络和应用信息后,根据网络和应用信息采用最优化模型获 得; 服务器根据数据请求和TCP流速率调整发送速率进行数据传递。8. 根据权利要7所述的方法,其特征在于,所述网络和应用信息包括链路带宽、链路的 基本往返传播时延、服务器的总数、每个服务器每次需要传递的数据量、一个数据包的大 小、一个数据包中数据部分的大小和调度时延。9. 根据权利要求7所述的方法,其特征在于, 当交换机缓存值大于链路容量值时,所述最优化模型为:当交换机缓存值小于链路容量值时,所述最优化模型为:其中,G为客户端观察到的应用层吞吐量;Sdata数据包中数据部分的大小;SsRu为每个服 务器每次需要传递的数据量;N为服务器总数;K为并发服务器的分组数;0为调度时延,大小 等于D;化为第k个分组中所有服务器传递数据需要的RTT数量;D为链路的基本往返传播时 延;Winit为客户端通告的TCP初始窗口大小;Mk为在第k化二1,2,……,Κ)组中并发服务器的 数量;Sf为一个数据包的大小;C为链路带宽;Μ为并发服务器数;Wmax为客户端通告的TCP接 收窗口大小。
【文档编号】H04L12/813GK105847175SQ201610252477
【公开日】2016年8月10日
【申请日】2016年4月21日
【发明人】张舒黎, 张棪, 孙继燕, 曹玖玥, 陈鑫
【申请人】中国科学院信息工程研究所