一种基于优先级的数据中心网络传输层数据流传输方法技术

技术编号:13490903 阅读:37 留言:0更新日期:2016-08-07 01:09
本发明专利技术公开一种基于优先级的数据中心网络传输层数据流传输方法,包括如下步骤:S1、将数据中心网络正在传输的数据流分类为小数据流和大数据流;S2、计算小数据流优先级数pri;S3、计算小数据流权重w;S4、计算当前网络拥塞程度α;S5、判断当前网络是否发生拥塞,如果是,执行步骤S6;如果否,执行步骤S7;S6、将步骤S2、S3、S4的结果代入伽马函数公式来减小数据流拥塞程度窗口大小;S7、将步骤S3的结果代入公式来增大数据流拥塞程度窗口大小;S8、按更新后的窗口发送数据流。本发明专利技术的基于优先级的数据中心网络传输层数据流传输方法能够在不要求应用层提示关于数据流大小等参数的前提下减小小数据流的传输延迟的同时,还能保持网络整体的高吞吐率。

【技术实现步骤摘要】

本专利技术属于计算机网络领域,特别是涉及基于优先级的数据中心网络传输层数据流传输方法
技术介绍
随着信息技术不断渗透到生产生活的各个领列入域,集中处理大规模数据的需求变得越来越明显,所以人们能提出了数据中心的概念。所谓数据中心,就是把若干台主机(有时甚至是数百万台主机)当作一个整体来进行数据存储和处理,对外表现为一台功能更为强大的主机来向用户提供服务。数据中心包括两个部分,即用于数据存储和处理的部分和用于数据通信的部分,其中用于数据存储和处理的部分就是数据中心中的各台主机,而用于数据通信的部分则由数据中心中的交换机和路由器构成。数据中心中用于数据通信的部分称为数据中心网络。数据中心网络作为数据中心的神经系统,承担着各台主机之间通信的重要任务,对数据中心的总体性能至关重要。而数据中心网络相比于普通的互联网有自己的特点,比如数据中心网络中一个主机更倾向于和自己的相邻主机进行通信,由于用户希望数据中心能够立即对用户请求做出响应,因此数据中心网络对实时流的传输延迟非常敏感等等。此外,数据中心的拥有者大多为商业公司,因此数据中心的拥有者往往对数据中心的吞吐率也有一定的要求。由于数据中心网络在实际生产生活中的重要作用,研究者们针对优化数据中心网络各方面的性能做了大量的工作,其中一个受到广泛认可的工作是发表于2010年SIGCOMM的DCTCP。DCTCP要求数据中心网络的交换机必须支持ECN(ExplicitCongestionNotification)机制。事先为网络中的每一台交换机都配置一个阈值K,当交换机的转发队列长度超过了阈值K,新到达的数据包就会被标记为CE(CongestionExperienced)。在DCTCP中,发送端会为每一个数据流维护一个估计量α用以度量当前网络的拥塞程度。而α的值就是上一个往返延时RTT(Round-TripTime)中发送的数据包中被网络中的交换机标记为CE的数据包所占的比例的平滑值。具体而言,α的值可计算为:α←(1-g)×α+g×F,其中,F是上一个RTT中被标记为CE的数据包所占的比例,而g是最新的样本值F所占的权重。每当接收端接收到了一个被标记为CE的数据包,接收端都会通过ACK包将这一信息及时反馈给发送端,因此发送端能够比较准确地了解网络中的拥塞情况。而当发送端了解到网络中发生了拥塞以后,它将会减小它自己的拥塞窗口如下:cwnd←cwnd×(1-α/2)。DCTCP通过量化当前网络的拥塞程度,当检测到拥塞的时候根据网络拥塞程度决定拥塞窗口减小量的大小,而不是像TCPNewReno一样一旦检测到拥塞就立即将拥塞窗口减小为原来的1/2,因此在提高网络的吞吐率和减小数据流的传输延迟方面取得了显著的效果。人们通过观察商用数据中心网络中数据流量的特点发现在商用数据中心网络中,80%以上的数据流的大小小于200KB,而数据中心中大部分的流量都来自于少数几个大数据流。同时小数据流往往来自与用户交互的应用,因而对传输延迟非常敏感,相比之下,大数据流往往来自数据中心内部的数据备份和索引计算等操作,因而对传输延迟要求不高,但是要求有较高的吞吐率。但是在实际的数据中心网络中,大数据流会占据交换机的缓冲区,导致小数据流经历了较高的排队延迟。而DCTCP在设计过程中没有考虑到大数据流和小数据流的传输特点,因此不利于减小小数据流的传输延迟。为了解决这一问题,2012年的SIGCOMM上发表的D2TCP提出采用伽马函数来调节数据流的拥塞窗口大小。D2TCP要求应用程序在启动一个数据流的时候向传输层指定这个流需要传输的数据量以及这个数据流需要在多长时间内传输完成。假设对于一个数据流,它当前剩余的数据量为B,拥塞窗口最大情况下为W,则可以计算出来它在传统的TCP(比如TCPNewReno)下传输完这个流所需要的时间为Tc。而由于应用程序指定的这个数据流的完成时间是已知的,所以也可以知道到这个数据流的截止时间(deadline)还剩余多少时间,把这段时间记为D。于是可以为这个流计算出一个变量d=Tc/D。如果当前为这个数据流分配的带宽可以在它的截止时间将这个流传输完成,则Tc<D,所以d<1;反之,如果当前为这个流分配的带宽不能在它的截止时间之前完成,则Tc>D,所以d>1。D2TCP依然采用了DCTCP中提出的估计量α,即把上一个RTT中被标记为CE的数据包所占的比例的平滑值作为当前网络的拥塞程度的估计量。当检测到拥塞的时候,发送端就会调节它的拥塞窗口如下:cwnd←cwnd×(1-αd/2)。令p=αd,则对于d<1、d=1和d>1的情况p的值的变化情况如图1所示。当α的值一定时,一个数据流以当前的带宽传输完成数据所需时间和它的剩余传输时间的比值越小,则说明它满足它的截止时间要求的压力越小,因此它的拥塞窗口的减小量就越大,从而可以将更多的带宽留出来分配给更需要带宽的数据流。若网络的拥塞程度不断加剧,即α的值不断增大,则从图1可以看出,无论d取何值,p的值都会随着α的值趋于1而迅速接近1,对应地,所有数据流都会将它们的拥塞窗口减半,因此能够有效地缓解拥塞。通过指定数据流的截止时间,D2TCP能够为不同的数据流区分不同的优先级,并依据数据流的优先级来调节数据流的拥塞窗口大小。但是D2TCP存在两个方面的不足。首先,D2TCP要求应用程序在启动一个数据流的时候指定这个数据流的大小和截止时间,而这些信息有时候是很难得到的。比如一个应用程序要传输的数据是根据需要实时产生的,所以应用程序本身并不知道需要传输的数据量的大小。而作为一个程序员,为了从网络获得更好的带宽,他可能会在启动一个数据流的时候故意给这个数据流指定一个比较近的截止时间,尽管实际上他并不需要这么近的截止时间。当有很多的应用程序都故意给它们的数据流指定了一个不合理的截止时间的时候D2TCP的性能就会受到严重的影响。因此让应用程序给传输层指定一些重要的参数并不是一个明智的选择。另外让应用程序给传输层指定一些参数还会加重程序员的负担,而且这违背了传输层对应用层透明的原则。D2TCP的第二个缺点是它在某些情况下并不能有效区分不同的数据流优先级。比如对于第一个数据流有Tc=10ms,D=9ms,而对于第二个数据流有Tc=100ms,D=90ms,则D2TCP会认为对于这两个流都有d=Tc/D=1.1,因此这两个流将会获得相同的优先级,这有可能会导致第一个数据流错过它的截止时间本文档来自技高网...

【技术保护点】
一种基于优先级的数据中心网络传输层数据流传输方法,所述数据中心网络的交换机支持ECN机制,其特征在于:该方法包括如下步骤:S1、将数据中心网络中正在传输的数据流分类为小数据流和大数据流;S2、计算小数据流优先级数pri;S3、计算小数据流权重w;S4、计算当前网络拥塞程度α;S5、判断当前网络是否发生拥塞,如果是,执行步骤S6;如果否,执行步骤S7;S6、将步骤S2、S3、S4的结果代入伽马函数公式来减小数据流拥塞程度窗口大小;S7、将步骤S3的结果代入公式来增大数据流拥塞程度窗口大小;S8、按更新后的窗口发送数据流。

【技术特征摘要】
1.一种基于优先级的数据中心网络传输层数据流传输方法,所述数据中心
网络的交换机支持ECN机制,其特征在于:该方法包括如下步骤:
S1、将数据中心网络中正在传输的数据流分类为小数据流和大数据流;
S2、计算小数据流优先级数pri;
S3、计算小数据流权重w;
S4、计算当前网络拥塞程度α;
S5、判断当前网络是否发生拥塞,如果是,执行步骤S6;如果否,执行步
骤S7;
S6、将步骤S2、S3、S4的结果代入伽马函数公式来减小数据流拥塞程度窗
口大小;
S7、将步骤S3的结果代入公式来增大数据流拥塞程度窗口大小;
S8、按更新后的窗口发送数据流。
2.根据权利要求1所述的基于优先级的数据中心网络传输层数据流传输方
法,其特征在于:所述步骤S1采用启发式的算法对数据流进行分类:当一个数
据流刚开始启动的时候,将其视为一个小数据流;当一个数据流传输的数据量超
过预设的阈值M的时候,这个数据流就会被归类为一个大数据流。
3.根据权利要求1所述的基于优先级的数据中心网络传输层数据流传输方
法,其特征在于:所述步骤S2中计算小数据流优先级数pri的方法为:假设它
传输完成的数据量为m,则它的优先级数pri为:
其中,M为预设的数据流的阈值,即一个数据流传输完成的数据
量一旦超过M就会被归类成为一个大数据流;所述优先级数pri的取值范围是
[0,1];
所述步骤S3中计算小数据流权重w的方法为:
w←pri+1,其中,w是小数据流的权重,pri是这个小数据流的优先级数,
权重w的取值范围是[1,2]。
4.根据权利要求1所述的基于优先级的数据中心网络传输层数据流传输方

\t法,其特征在于:所述步骤S6采用伽马函数来减小数据流的拥塞窗口大小,当
检测到当前网络拥塞的时候,数据流的发送端将按照如下方式来减小其拥塞窗口
大小:
cwnd←cwnd×(1-αγ/2),其中,cwnd为网络拥塞窗口,α为当前网络拥
塞程度;
对于大数据流来说,令γ<1;对于小数据流来说,令γ=w,w为小数据流
的权重。
5.根据权利要求1所述的基于优先级的数据中心网络传输层数据流传输方
法,其特征在于:所述步骤S7中增大数据流拥塞程度窗口的大小方法为:
大数据流的拥塞窗口在拥塞避免阶段将按如下方式增大:
cwnd←cwnd+1,cwnd为网络拥塞窗口;
小数据流的拥塞窗口在拥塞避免阶段将按如下方式增大:<...

【专利技术属性】
技术研发人员:李清赵宗义徐明伟江勇
申请(专利权)人:清华大学深圳研究生院
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1