CN112929295B - 一种微突发抑制的动态标记阈值缓存管理方法 - Google Patents
一种微突发抑制的动态标记阈值缓存管理方法 Download PDFInfo
- Publication number
- CN112929295B CN112929295B CN202110088944.9A CN202110088944A CN112929295B CN 112929295 B CN112929295 B CN 112929295B CN 202110088944 A CN202110088944 A CN 202110088944A CN 112929295 B CN112929295 B CN 112929295B
- Authority
- CN
- China
- Prior art keywords
- ecn
- queue
- packet
- switch
- marking
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/625—Queue scheduling characterised by scheduling criteria for service slots or service orders
- H04L47/6275—Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
Abstract
本发明公开了一种微突发抑制的动态标记阈值缓存管理方法,涉及数据流量处理技术领域,包括以下步骤:预先基于数据中心网络流量分布,标定发送端三类优先级;同时启用ECN标记阈值参数,包括交换机端口的ECN标记和交换机中单条队列的ECN标记;进行数据包进队管理和数据包出队调度。本发明根据ACK/ECN数据包、短流与长流数据包的不同特点建立流的多级优先级队列,在交换机中HDCQ方法根据当前的负载状态动态调节短流队列的ECN标记阈值,并根据当前缓存状态重新设置数据包优先级,有效减少了短流的AFCT,同时保持了长流的吞吐量,减少了方法的空间复杂度,使交换机处于浅缓存的状态以保证数据中心网络的低时延。
Description
技术领域
本发明涉及数据流量处理技术领域,具体来说,涉及一种微突发抑制的动态标记阈值缓存管理方法。
背景技术
近年来,随着网络应用的飞速发展,全球范围内建立起了许多高性能数据中心用于承载当前互联网大部分的数据流量。根据数据流量的大小可将其分为大流(长流)和小流(短流)。由于大流和小流来源于不同的应用,因此对应着不同的需求,如海量数据的定期同步、数据重组、备份和复制等应用,需要保证它们稳定的高吞吐量。而Web搜索访问等小流量的应用则需要对用户快速响应。面对数据中心网络不同应用的流量特点,我们需要对其分别考虑,以进一步提高各应用的性能。另一方面,随着数据中心网络的不断发展,逐渐产生了新的流量特点。
目前在金融交易或Web2.0的环境使用Memcached服务器时会产生非常小的突发流量,他们称这种新的流量模式为微突发流。微突发通常只持续几毫秒,难以观察,因此它的出现会使标准的显式拥塞通知(explicit congestion notification,ECN)遭受性能下降的影响,这是由于标准的ECN阈值通常设置为一个较小且固定的值,而一个微突发流的大小就可以达到64KB。由此交换机中固定的ECN标记阈值无法缓解微突发,当两个微突发流同时到达交换机时,交换机瞬时队列长度将超过标准ECN阈值。目前基于端主机的拥塞控制协议DCTCP(datacentertransmission control protocol,DCTCP),其主要将ECN序列转换为多位信号以表示拥塞控制程度,并以此调节拥塞窗口(CongestionWindow,CWND)大小。DCTCP只需修改主机端的软件协议栈并对交换机配置简单的ECN标记,然而,DCTCP大流小流在同一队列中,没有区分大流与小流,导致小流数据包排在大流数据包之后,影响小流的流完成时间(flow completed time,FCT)。
因此,亟需一种微突发抑制的动态标记阈值缓存管理方法。
针对相关技术中的问题,目前尚未提出有效的解决方案。
发明内容
针对相关技术中的问题,本发明提出一种微突发抑制的动态标记阈值缓存管理方法,以克服现有相关技术所存在的上述技术问题。
本发明的技术方案是这样实现的:
一种微突发抑制的动态标记阈值缓存管理方法,包括以下步骤:
预先基于数据中心网络流量分布,标定发送端三类优先级,包括Priority1、Priority2和Priority3,其中Priority1为最高级;
所述发送端三类优先级,其将ACK/ECN信号的数据包标记为Priority1;对小流标记Priority2;对大流标记为Priority3,其中;Priority1>Priority2>Priority3;
还包括在交换机中标定三个队列,其接收标记为Priority1的数据包为队列1,接收标记为Priority2的短流的数据包为队列2,接收标记为Priority3的长流的数据包为队列3;
启用ECN标记阈值参数,包括交换机端口的ECN标记和交换机中单个队列的ECN标记;
进行数据包进队管理和出队调度。
进一步的,所述交换机端口的ECN标记,包括将交换机缓存内所有数据包数量的ECN阈值标记为per-port ECN。
进一步的,所述交换机中单条队列的ECN标记,包括标定在交换机的队列2中开启的per-queue ECN的标记阈值。
进一步的,所述进行数据包进队调度,包括以下步骤:
预先获取该数据包之后的当前队列的字节数是否大于per-port ECN的阈值,其中包括获取参数当前交换机缓存中数据包的数量Qsize和当前队列2中数据包的数量q2size;
判断优先级为Priority2、Priority3的数据包;
确定该数据包是否能够调整为Priority1。
进一步的,所述数据包出队调度,包括标定高优先级到低优先级依次出队。
进一步的,还包括以下步骤:
进行在交换机中对大小流的数据包重新设置优先级。
本发明的有益效果:
本发明微突发抑制的动态标记阈值缓存管理方法,通过预先基于数据中心网络流量分布,标定发送端三类优先级,进行同时启用ECN标记阈值参数,进行数据包进队调度和数据包出队调度,其根据ACK/ECN数据包、短流与长流数据包的不同特点建立流的多优先级队列,在交换机中HDCQ方法根据当前的负载状态动态调节ECN标记阈值,并根据当前缓存数量重新设置数据包优先级,有效减少了短流的AFCT,同时保持了长流的吞吐量,减少了方法的空间复杂度,使交换机处于浅缓存的状态以保证数据中心网络的低时延。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的一种微突发抑制的动态标记阈值缓存管理方法的流程示意图;
图2是根据本发明实施例的一种微突发抑制的动态标记阈值缓存管理方法的HDCQ方法总体设计图;
图3是根据本发明实施例的一种微突发抑制的动态标记阈值缓存管理方法的发送端优先级标记方法示意图;
图4是根据本发明实施例的一种微突发抑制的动态标记阈值缓存管理方法的交换机端优先级标记方法示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
根据本发明的实施例,提供了一种微突发抑制的动态标记阈值缓存管理方法。
如图1-图2所示,根据本发明实施例的微突发抑制的动态标记阈值缓存管理方法,包括以下步骤:
预先基于数据中心网络流量分布,标定发送端三类优先级,包括Priority1、Priority2和Priority3,其中Priority1为最高级;
所述发送端三类优先级,其将ACK/ECN信号的数据包标记为Priority1;对小流标记Priority2;对大流标记为Priority3,其中;Priority1>Priority2>Priority3;
还包括在交换机中标定三个队列,其接收标记为Priority1的数据包为队列1,接收标记为Priority2的短流的数据包为队列2,接收标记为Priority3的长流的数据包为队列3;
启用ECN标记阈值参数,包括交换机端口的ECN标记和交换机中单个队列的ECN标记;
进行数据包进队管理和出队调度。
其中,所述交换机端口的ECN标记,包括将交换机缓存内所有数据包数量的ECN阈值标记为per-port ECN。
其中,所述交换机中单条队列的ECN标记,包括标定在交换机的队列2中开启的per-queue ECN的标记阈值。
其中,所述进行数据包进队调度,包括以下步骤:
预先获取该数据包之后的当前队列的字节数是否大于per-port ECN的阈值,其中包括获取参数当前交换机缓存中数据包的数量Qsize和当前队列2中数据包的数量q2size;
判断优先级为Priority2、Priority3的数据包;
确定该数据包是否能够调整为Priority1。
其中,所述数据包出队调度,包括标定高优先级到低优先级依次出队。
其中,还包括以下步骤:
进行在交换机中对大小流的数据包重新设置优先级。
借助于上述技术方案,通过预先基于数据中心网络流量分布,标定发送端三类优先级,进行同时启用ECN标记阈值参数,进行数据包进队调度和数据包出队调度,其根据ACK/ECN数据包、短流与长流数据包的不同特点建立流的多优先级队列,在交换机中HDCQ方法根据当前的负载状态动态调节ECN标记阈值,并根据当前缓存数量重新设置数据包优先级,有效减少了短流的AFCT,同时保持了长流的吞吐量,减少了方法的空间复杂度,使交换机处于浅缓存的状态以保证数据中心网络的低时延。
另外,如图3所示,具体的,根据数据中心网络流量分布的特点我们在发送端建立三类优先级,即为Priority1(优先级1)、Priority2(优先级2)和Priority3(优先级3),其Priority1为最高级,依次类推,Priority1>Priority2>Priority3。将ACK/ECN信号的数据包标记为优先级1,这类数据包需要快速响应以反馈网络状况,因此给予了最高优先级。因为小流对FCT的要求较高而大流没有,因此对小流标记Priority2。余下即为大流设置最低优先级Priority3。
另外,其参数flow size为当前流含有的数据包数量。发送端区分小流与大流的阈值参数flow type thresh。这个参数在发送端中设置,将flow type thresh设置为100KB,即实际运行小于等于100KB的流的数据包标记优先级为Priority2;大于100KB的流的数据包优先级将被标记为Priority3。
其各优先级的具体说明如下:
1)Priority1:最高优先级,对ACK的数据包标记,对传输过程中标记了ECN的数据包进行标记。
2)Priority2:小流的优先级,即小于阈值Flow type thresh的流数据包标记。
3)Priority3:当累计的数据包数量大于flow type thresh,对之后来的这条流的数据包标记。
此外,如图2所示,其对应于三类优先级,在交换机中设计三个队列:队列1,队列2,队列3。队列1接收标记为Priority1的数据包。队列2接收标记为Priority2,即短流的数据包,队列3接收标记为Priority3,即长流的数据包。Priority1的数据包类型是包含控制信息类型的数据包,在实际的网络中,这些数据包的数量占比较少因此不会影响到网络流传递的公平性,同时对ACK与ECN信息的数据包标记最高优先级Priority1,可以使接收端与发送端快速响应当前网络的变化,提高数据中心网络的性能。
另外,对于上述交换机端口的ECN标记来说,其per-port ECN值的设定起到辅助的作用,它对Proirity1与Prorirty3的数据包进行ECN标记,且无法对Priority2的数据包进行标记。如果是Priority3的数据包标记了ECN,需要将其从最低优先级变为最高优先级即从Priority3→Priority1,将大流的数据包标记为Priority1,推入到优先级最高的队列1中去,从而可以避免长流被饿死的情况发生。
而交换机中单条队列的ECN标记:其per-queue ECN的标记阈值只在交换机的队列2中开启,这是因为队列2主要接收小流的数据包,小流对FCT有要求,因此对队列2进行阈值设置可以对减少小流的FCT,间接提高大流的吞吐量。per-queue ECN对预防网络拥塞起主导作用。当网络状况良好的情况下,若per-queue ECN的阈值较小那么就无法充分利用链路带宽。当网络状况不佳,即在链路中的数据包到达了一定程度,网络开始出现拥塞,这时per-queue ECN的值如果很大,仍没有对数据包标记ECN,那么发送端就会按照原速率发包,造成链路中数据包过多队列处理不及时产生丢包现象,造成短流FCT的增大、长流吞吐量的下降。
此外,如图4所示,对于上述数据包进队调度来说,其参数Qsize为当前交换机缓存中数据包的数量,q2size是当前队列2中数据包的数量,如果大于per-port ECN的阈值,那么需要将该数据包标记ECN来通知发送端降低发送速率,然后根据数据包的优先级对数据包进行标记。
由于HDCQ方法在队列2中动态调节per-queue ECN的阈值,因此需要优先判断优先级为Priority2的数据包:如果加入该数据包使得队列2的数据包字节总数大于per-queueECN值,那么将该包标记ECN,且将该数据包的优先级修改为Priority1,即从Priority2→Priority1;反之,若该数据包的加入没有超过per-queue ECN的值,那么使该数据包的pkt.ecn=0,并进入队列2。
接着判断优先级为Priority3的数据包:当该数据包被标记为Priority3,且pkt.ecn=1,则将数据包从Priority3→Priority1,并进入到队列1中;反之,pkt.ecn=0,直接将该数据包进入队列3。
判断该数据包是否为Priority1。能够进入队列1的数据包有三种类型:(1)原本优先级为Priority1的ACK信息的数据包。(2)超过per-port ECN阈值的Priority3数据包。(3)超过per-queue ECN阈值的Priority2的数据包。
当队列中的数据包较多时,说明当前网络处于拥塞的状态,这时如果per-queueECN标记阈值较大,无法降低发送速率,就会产生因链路中数据包过多而出现的丢包现象;反之,per-queue ECN标记阈值过小,则无法充分利用网络带宽。因此我们需要根据当前的负载状况动态调整per-queue ECN。设置值为per-queue ECN阈值占队列2的比例,0<β<1,表示为:
其,0≤k≤1,是调节权值比重的参数,作为平滑参数其值不宜过大,F表示交换机队列2中被标记的ECN数据包与队列2中已有数据包的数量之比,表示网络的负载变化。当负载高时我们需要将阈值调大,反之当负载低时我们需要调小阈值,从而快速响应当前网络状态。
此外,数据包出队调度,其高优先级到低优先级依次出队。这样的出队方式能够避免数据包无序的问题,因为后一个数据包有可能会在前一个数据包之前先离开队列,这会导致数据包优先级反转影响网络性能。其次,这样的出队方式也并不会导致长流数据包饿死。
综上所述,借助于本发明的上述技术方案,通过预先基于数据中心网络流量分布,标定发送端三类优先级,进行同时启用ECN标记阈值参数,进行数据包进队调度和数据包出队调度,其根据ACK/ECN数据包、短流与长流数据包的不同特点建立流的多优先级队列,在交换机中HDCQ方法根据当前的负载状态动态调节ECN标记阈值,并根据当前缓存数量重新设置数据包优先级,有效减少了短流的AFCT,同时保持了长流的吞吐量,减少了方法的空间复杂度,使交换机处于浅缓存的状态以保证数据中心网络的低时延。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种微突发抑制的动态标记阈值缓存管理方法,其特征在于,包括以下步骤:
预先基于数据中心网络流量分布,标定发送端三类优先级,包括Priority1、Priority2和Priority3,其中Priority1为最高级;
所述发送端三类优先级,其将ACK/ECN信号的数据包标记为Priority1;对小流标记Priority2;对大流标记为Priority3,其中;Priority1>Priority2>Priority3;
还包括在交换机中标定三个队列,其接收标记为Priority1的数据包为队列1,接收标记为Priority2的短流的数据包为队列2,接收标记为Priority3的长流的数据包为队列3;
启用ECN标记阈值参数,包括交换机端口的ECN标记和交换机中单个队列的ECN标记;
进行数据包进队管理和出队调度。
2.根据权利要求1所述的微突发抑制的动态标记阈值缓存管理方法,其特征在于,所述交换机端口的ECN标记,包括将交换机缓存内所有数据包数量的ECN阈值标记为per-portECN。
3.根据权利要求2所述的微突发抑制的动态标记阈值缓存管理方法,其特征在于,所述交换机中单个队列的ECN标记,包括标定在交换机的队列2中开启的per-queue ECN的标记阈值。
4.根据权利要求3所述的微突发抑制的动态标记阈值缓存管理方法,其特征在于,所述进行数据包进队调度,包括以下步骤:
预先获取该数据包之后的当前队列的字节数是否大于per-port ECN的阈值,其中包括获取参数当前交换机缓存中数据包的数量Qsize和当前队列2中数据包的数量q2size;
判断优先级为Priority2、Priority3的数据包;
确定该数据包是否能够调整为Priority1。
5.根据权利要求4所述的微突发抑制的动态标记阈值缓存管理方法,其特征在于,所述数据包出队调度,包括标定高优先级到低优先级依次出队。
6.根据权利要求5所述的微突发抑制的动态标记阈值缓存管理方法,其特征在于,还包括以下步骤:
进行在交换机中对大小流的数据包重新设置优先级。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110088944.9A CN112929295B (zh) | 2021-01-22 | 2021-01-22 | 一种微突发抑制的动态标记阈值缓存管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110088944.9A CN112929295B (zh) | 2021-01-22 | 2021-01-22 | 一种微突发抑制的动态标记阈值缓存管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112929295A CN112929295A (zh) | 2021-06-08 |
CN112929295B true CN112929295B (zh) | 2022-07-12 |
Family
ID=76164885
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110088944.9A Active CN112929295B (zh) | 2021-01-22 | 2021-01-22 | 一种微突发抑制的动态标记阈值缓存管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112929295B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109120544A (zh) * | 2018-09-30 | 2019-01-01 | 华中科技大学 | 一种数据中心网络中基于主机端流量调度的传输控制方法 |
CN110730142A (zh) * | 2019-10-14 | 2020-01-24 | 安徽工业大学 | 一种信息不可知情况下的数据中心流自适应调度方法 |
CN111224888A (zh) * | 2018-11-27 | 2020-06-02 | 华为技术有限公司 | 发送报文的方法及报文转发设备 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8154996B2 (en) * | 2008-09-11 | 2012-04-10 | Juniper Networks, Inc. | Methods and apparatus for flow control associated with multi-staged queues |
CN103795643B (zh) * | 2014-01-28 | 2017-02-15 | 广西大学 | 数据中心网络中处理同步优先级突发流的方法 |
CN105227488B (zh) * | 2015-08-25 | 2018-05-08 | 上海交通大学 | 一种用于分布式计算机平台的网络流组调度方法 |
CN106059821B (zh) * | 2016-06-29 | 2019-01-22 | 重庆邮电大学 | 一种基于sdn的数据中心业务服务质量保障方法 |
CN106027407B (zh) * | 2016-08-05 | 2018-12-28 | 广州市香港科大霍英东研究院 | 网络中拥塞窗口的调整方法、网络拥塞控制方法及交换机 |
CN107835133B (zh) * | 2017-06-16 | 2021-10-22 | 南京航空航天大学 | 一种基于多属性决策的流优先级控制方法 |
CN111865813B (zh) * | 2020-07-27 | 2022-04-12 | 中南大学 | 一种基于反ecn标记的数据中心网络传输控制方法、系统及可读存储介质 |
-
2021
- 2021-01-22 CN CN202110088944.9A patent/CN112929295B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109120544A (zh) * | 2018-09-30 | 2019-01-01 | 华中科技大学 | 一种数据中心网络中基于主机端流量调度的传输控制方法 |
CN111224888A (zh) * | 2018-11-27 | 2020-06-02 | 华为技术有限公司 | 发送报文的方法及报文转发设备 |
CN110730142A (zh) * | 2019-10-14 | 2020-01-24 | 安徽工业大学 | 一种信息不可知情况下的数据中心流自适应调度方法 |
Non-Patent Citations (1)
Title |
---|
An efficient priority-driven congestion control algorithm for data center networks;Jiahua Zhu;《China Communications》;20200622;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112929295A (zh) | 2021-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109120544B (zh) | 一种数据中心网络中基于主机端流量调度的传输控制方法 | |
US9112786B2 (en) | Systems and methods for selectively performing explicit congestion notification | |
US8660137B2 (en) | Method and system for quality of service and congestion management for converged network interface devices | |
US6515963B1 (en) | Per-flow dynamic buffer management | |
CN108965151B (zh) | 一种基于排队时延的显式拥塞控制方法 | |
US7630312B1 (en) | Approximated per-flow rate limiting | |
CN106789721B (zh) | 一种基于令牌桶的智能qos方法及系统 | |
US7215641B1 (en) | Per-flow dynamic buffer management | |
US9887938B1 (en) | Enhanced audio video bridging (AVB) methods and apparatus | |
US20050163048A1 (en) | Method and system for providing committed information rate (CIR) based fair access policy | |
JP2006325275A (ja) | ポリシー・ベースのサービス品質 | |
EP2345213A2 (en) | System and methods for distributed quality of service enforcement | |
CN113315720B (zh) | 一种数据流控制方法、系统及设备 | |
CN111464452B (zh) | 基于dctcp的快速拥塞反馈方法 | |
CN109873773B (zh) | 一种用于数据中心的拥塞控制方法 | |
CN113064738B (zh) | 基于概要数据的主动队列管理方法 | |
CN113726671B (zh) | 一种网络拥塞控制方法及相关产品 | |
CN112995048B (zh) | 数据中心网络的阻塞控制与调度融合方法及终端设备 | |
JP3623420B2 (ja) | トラヒック制御方法 | |
CN110177051A (zh) | 基于流控技术的数据中心拥塞控制方法 | |
CN112929295B (zh) | 一种微突发抑制的动态标记阈值缓存管理方法 | |
CN113765812A (zh) | 一种标记报文的方法和装置 | |
US20030179754A1 (en) | Two stage egress scheduler for a network device | |
US11622028B2 (en) | Explicit notification of operative conditions along a network path | |
CN112787919B (zh) | 报文传输方法及设备、可读介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |