CN112565100A - 一种主动和被动方式相结合的网络拥塞控制方法 - Google Patents
一种主动和被动方式相结合的网络拥塞控制方法 Download PDFInfo
- Publication number
- CN112565100A CN112565100A CN202011380667.0A CN202011380667A CN112565100A CN 112565100 A CN112565100 A CN 112565100A CN 202011380667 A CN202011380667 A CN 202011380667A CN 112565100 A CN112565100 A CN 112565100A
- Authority
- CN
- China
- Prior art keywords
- speculative
- data packet
- network
- flow
- data
- 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.)
- Granted
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/10—Flow control; Congestion control
- H04L47/11—Identifying congestion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种主动和被动方式相结合的网络拥塞控制方法,其步骤包括:发送端将数据流切割分成为若干个数据包链;发送端直接将投机数据包链按数据包粒度依次注入网络中;由网络内的路由器统计累计排队时间并进行更新;路由器检查投机数据包累计排队时间是否超过预设阈值,未超过预设阈值则投机数据包正常传输;投机数据包到达接收端后,从优先级缓冲队列中吸收投机数据包进行处理;发送端接收到由接收端返回的授权报文后,对后续数据包链进行激活,当接收端接收到一个流的最后一个数据包时,释放流信息表格中的对应行。本发明有效降低了高性能互连网络中通信的平均延迟,并在保证低平均延迟的情况下有效控制了尾流延迟。
Description
技术领域
本发明涉及高性能互连领域,尤其涉及一种主动和被动方式相结合的网络拥塞控制方法。
背景技术
互连网络中的拥塞问题是高性能计算(HPC)系统的瓶颈。根据拥塞在互连网络中的位置,拥塞可分为网络内部拥塞和网络边缘拥塞(或称端点拥塞)。HPC互连网络是一种无损网络,大多数采用自适应路由算法。拥塞,特别是端点拥塞,会对HPC网络造成很大的危害。当网络拥塞发生时,流(或消息)将沿着传输路径填充路由器的输入缓冲区,并最终形成树饱和,这对HPC程序性能有着显著的影响。
为了解决HPC互连网络中的拥塞问题,许多拥塞控制方法被提出。这些拥塞控制方法可分为两类:反应型拥塞控制方法和主动型拥塞控制方法。反应型拥塞控制方法主要用于缓解网络内部的拥塞。反应型拥塞方法通常检测网络中的路由器是否拥塞,如通过显式拥塞通知(ECN)来完成。当检测到路由器中的数据包队列长度超过一定阈值时,ECN通知发送方降低发送速度以缓解拥塞。然而,反应型拥塞控制方法不能解决网络边缘的端点拥塞。端点拥塞需要一种主动的拥塞控制方法,以便提前预约以避免它。
预约是主动拥塞控制办法的核心技术。在众多的主动拥塞控制方法,包括SRP,BFRP,CRP等,均是以预约为核心而设计,这些方法在流量源和目的地之间使用轻量级预留握手,以确保没有网络端点过载,为了减少与预留握手相关的延迟增加,其允许流量源发送有损推测性数据包,以掩盖预约延迟开销。如果这些推测性数据包开始造成拥塞,它们就会被原本无损的网络丢弃。事实证明,主动拥塞控制办法,尤其是SRP和BFRP方法,对于大中型消息传输非常有效,其中有效负载的大小足够大,可以分摊预留控制消息的成本。但是,HPC网络可能并不总是以大型消息传输为主导,其经常会出现以短流为数量主导的网络负载形式。
最近,一种用于解决HPC互连网络端点拥塞问题的PCRP主动拥塞控制方法被提出。PCRP方法与之前的主动拥塞控制方法一脉相承,以预约为核心技术,但是PCRP方法调整预约的粒度与预约所需要的时间——一个RTT,相匹配,而不是以整个流或单个报文为粒度,使得网络可以进行更灵活的调度。此外,PCRP方法动态调整所有消息的优先级,始终保证短流优先,投机包优先级高于所有非投机包并不会被丢弃,从而使得网络的平均流延迟进一步降低。
经过多年的发展,HPC互连网络中的拥塞控制方法,投机包由会被丢弃到不会被丢弃,由低优先级到高优先级,使得短流更具有优势,从而获得更好的平均流完成时间。追求短流的极致延迟的确可以降低网络的平均流完成时间,但这也势必会对长流造成更严重的损害,进而导致尾流延迟增大。以PCRP为例,由于高优先级的短流会以投机包的形式进入网络中,而短流的数量是远远超过长流的数量,所以长流会被一直阻塞。如果这些短流和长流要去不同的目的地,那么这对长流是非常不公平的,长流长时间被短流阻塞就会造成网络尾流延迟高。而尾流延迟也是网络的一个重要指标,所以主动拥塞控制方法需要一个有效的机制来改善尾流延迟。
发明内容
为提高HPC互连网络的传输性能,本发明公开了一种主动和被动方式相结合的网络拥塞控制方法,以主动拥塞控制方法降低网络平均延迟,并结合被动拥塞控制的办法同时将尾流延迟控制到一个较低的水平。
本发明公开了一种主动和被动方式相结合的网络拥塞控制方法(LTC),其步骤包括:
S1,一个数据流在发送端产生时,将其按照网络往返时间(round-trip time,RTT)所能传输的数据量大小切割分成为若干个数据包链,数据流的最后一个数据包链长度小于RTT所能传输的数据量大小;网络往返时间(round-trip time,RTT)所能传输的数据量大小用RTT乘以网络接口卡(NIC)出口带宽计算得到;
S2,发送端将步骤S1中所述的切割后的数据流的第一个数据包链设置为“投机”状态,对应的数据包链为投机数据包链,按照网络整体负载分布为投机数据包链设置优先级;将切割后的数据流第一个数据包链的后续数据包链设置为“未激活”状态;
所述的网络整体负载分布,是利用网络内一个集中统计节点收集网络中所有已产生的数据流长度信息,再计算数据流长度信息累积分布概率(CDF)所得到;以数据流长度为横轴,以概率为纵轴,将CDF曲线绘制于二维平面直角坐标系中,得到网络整体负载分布图,即数据流长度信息累积分布概率图。
所述的按照网络整体负载分布为投机数据包链设置优先级,所述集中统计节点分别在网络整体负载分布图,即数据流长度信息累积分布概率图的纵轴的25%、50%、75%位置画水平线,与图中CDF曲线相交,得到3个交点点,再从3个交点分别作垂线交于数据流长度信息累积分布概率图的横轴,得到3个交点对应的三个数据流长度值,以这三个数据流长度值为分割点对数据流长度取值区间进行划分,将数据流分为4个优先级,按照其长度由小至大,优先级序号分别为7、6、5、4;
所述的数据流的优先级划分,需要NIC和网络路由器支持,并支持至少8个优先级,优先级序号按照优先级从高到低分别为7、6、5、4、3、2、1、0,其中投机数据包链使用高的4个优先级;
S3,发送端直接将步骤S2中所述已经具有优先级的投机数据包链,按数据包粒度依次注入网络中,未激活数据包链暂时不注入网络;投机数据包在网络内传输时按照优先级的顺序依次通过路由器;
所述的发送端将投机数据包链注入网络,严格按照投机数据包链的优先级执行;
S4,投机数据包链在网络内传输时由网络内的路由器统计其累计排队时间并对排队时间进行更新;
所述累计排队时间由网络内的路由器对其进行更新,每当投机数据包链刚进入一个路由器的缓冲区队列时,路由器记录其进入时间,当投机数据包被路由器交叉开关成功仲裁时,路由器记录其离开时间,离开时间与进入时间的差值即为投机数据包在该路由器内的排队时间,投机数据包离开路由器前,由路由器更新投机数据包的累计排队时间,即将该投机数据包在该路由器内部的排队时间加到累计排队时间上;
S5,投机数据包刚进入路由器的缓冲区队列时,由路由器检查其累计排队时间是否超过预设阈值,所述累计排队时间的预设阈值的计算公式为:
其中,aqtT表示累计排队时间的预设阈值,Lm表示网络中最短的数据流长度,ij表示网络实际注入率,Nsp表示路由器的单边端口数量,ra表示网络中最大数据流长度与Lm的比值,符号∧表示且;
如果投机数据包的累计排队时间未超过所述的预设阈值,则投机数据包正常传输;如果投机数据包的累计排队时间超过所述的预设阈值,路由器返回给发送端一个拥塞通知报文(CNP),该报文只有一个切片(flit),投机数据包仍然正常传输;
所述的拥塞通知报文,使用路由器的专用虚通道(VC)进行传输;
S6,投机数据包到达接收端后,进入接收端的优先级缓冲队列中;接收端的优先级缓冲队列,共计8个队列,与所需的8个优先级相匹配,接收端根据所接收到的投机数据包优先级,将其放入相应的优先级缓冲队列中;
为了使所述的接收端优先级缓冲队列发挥作用,接收端需要调整NIC的吸收速率,调整方法为每1000个时钟周期中有50个时钟周期暂停吸收;
S7,接收端设置流信息表格,并利用该表格记录已经接收到还未传输完成的流的信息,并按照流的长度从小到大进行排序并记录;接收端按照流信息表格的顺序为表格中的流设置优先级;
所述的流信息表格中的优先级,将指导流的非投机数据包链的优先级设置;
S8,接收端按优先级从高到低顺序,从优先级缓冲队列中吸收投机数据包进行处理;接收端在处理投机数据包时,根据所接收到的数据包序号以及流剩余未传输的数据量来决定是否给发送端返回授权(grant)报文,该报文只有一个切片(flit);所述的根据所接收到的数据包序号以及流剩余未传输的数据量来决定是否给发送端返回授权(grant)报文,其通过接收端判断流剩余程度是否超过一个RTT的数据量来实现,其判断时机为接收端每次刚好接收到该流的一个RTT的数据量时;
所述返回的授权报文,包含流的编号(id)信息以及流信息表格中该流对应的非投机数据包链的优先级信息,该授权报文在网络内传输时使用专用VC;
S9,发送端接收到由接收端返回的授权报文后,将根据授权报文携带的流编号信息以及流的非投机数据包的优先级,对该流的后续数据包链进行激活,激活是指发送端将授权报文相对应流的后续1个未激活数据包链转为激活状态,并根据授权报文携带的优先级信息对其进行设置;
S10,激活状态的非投机数据包链由发送端按照优先级顺序安排注入网络,非投机数据包链可使用的优先级为3、2、1、0;
激活状态的非投机数据包链注入网络后,路由器不对其进行任何额外操作,只是按照优先级顺序进行传输;
S11,发送端若接收到所述的拥塞通知报文,将停止所有优先级为7、6、5的数据包的发送,停止时间为50个时钟周期,在所述的停止时钟时间内,如果未接收到拥塞通知报文,则发送端在50个时钟周期后自动恢复优先级为7、6、5的数据包的传输;如果在停止时间内又接收到CNP报文,则发送端需要重新开始计时50个停止时钟周期;
S12,非投机数据包到达接收端后,按照其优先级进入接收端优先级缓冲队列。
S13,接收端吸收处理非投机数据包时,根据所接收到的数据包序号以及流剩余未传输的数据量来决定是否给发送端返回授权(grant)报文,其通过接收端判断流剩余程度是否超过一个RTT的数据量来实现,其判断时机为接收端每次刚好接收到该流的一个RTT的数据量时,如果决定给发送端返回授权报文,则返回授权报文;
S14,当接收端接收到一个流的最后一个数据包时,释放接收端流信息表格中的对应行,并按照流的长度从小到大,动态调整表格中剩余行的顺序;
所述一个流的最后一个数据包,为投机数据包或非投机数据包,其根据流长度大小而定。
本发明的有益效果为:本发明有效降低了高性能互连网络中通信的平均延迟,并在保证低平均延迟的情况下有效控制了尾流延迟。本发明通过在拥塞时短暂的暂停有效地提升了长流的待遇,在几乎不影响平均流完成时间的情况下,改善了尾流延迟,尤其是在注入率高和长短流差异的网络负载下。本发明在所有不同长度的数据流中进行了一个很好的折中,网络的减速情况稳定,从而使得主动预约方法变得更为公平。
附图说明
图1为本发明方法的流程图。
具体实施方式
为了更好的了解本发明内容,这里给出一个实施例。
本发明公开了一种主动和被动方式相结合的网络拥塞控制方法(LTC),图1为本发明方法的流程图,其步骤包括:
S1,一个数据流在发送端产生时,将其按照网络往返时间(round-trip time,RTT)所能传输的数据量大小切割分成为若干个数据包链,数据流的最后一个数据包链长度小于RTT所能传输的数据量大小;网络往返时间(round-trip time,RTT)所能传输的数据量大小用RTT乘以网络接口卡(NIC)出口带宽计算得到;
S2,发送端将步骤S1中所述的切割后的数据流的第一个数据包链设置为“投机”状态,对应的数据包链为投机数据包链,按照网络整体负载分布为投机数据包链设置优先级;将切割后的数据流第一个数据包链的后续数据包链设置为“未激活”状态;
所述的网络整体负载分布,是利用网络内一个集中统计节点收集网络中所有已产生的数据流长度信息,再计算数据流长度信息累积分布概率(CDF)所得到;以数据流长度为横轴,以概率为纵轴,将CDF曲线绘制于二维平面直角坐标系中,得到网络整体负载分布图,即数据流长度信息累积分布概率图。
所述的按照网络整体负载分布为投机数据包链设置优先级,所述集中统计节点分别在网络整体负载分布图,即数据流长度信息累积分布概率图的纵轴的25%、50%、75%位置画水平线,与图中CDF曲线相交,得到3个交点点,再从3个交点分别作垂线交于数据流长度信息累积分布概率图的横轴,得到3个交点对应的三个数据流长度值,以这三个数据流长度值为分割点对数据流长度取值区间进行划分,将数据流分为4个优先级,按照其长度由小至大,优先级序号分别为7、6、5、4;
所述的数据流的优先级划分,需要NIC和网络路由器支持,并支持至少8个优先级,优先级序号按照优先级从高到低分别为7、6、5、4、3、2、1、0,其中投机数据包链使用高的4个优先级;
S3,发送端直接将步骤S2中所述已经具有优先级的投机数据包链,按数据包粒度依次注入网络中,未激活数据包链暂时不注入网络;投机数据包在网络内传输时按照优先级的顺序依次通过路由器;
所述的发送端将投机数据包链注入网络,严格按照投机数据包链的优先级执行;
S4,投机数据包链在网络内传输时由网络内的路由器统计其累计排队时间并对排队时间进行更新;
所述累计排队时间由网络内的路由器对其进行更新,每当投机数据包链刚进入一个路由器的缓冲区队列时,路由器记录其进入时间,当投机数据包被路由器交叉开关成功仲裁时,路由器记录其离开时间,离开时间与进入时间的差值即为投机数据包在该路由器内的排队时间,投机数据包离开路由器前,由路由器更新投机数据包的累计排队时间,即将该投机数据包在该路由器内部的排队时间加到累计排队时间上;
S5,投机数据包刚进入路由器的缓冲区队列时,由路由器检查其累计排队时间是否超过预设阈值,所述累计排队时间的预设阈值的计算公式为:
其中,aqtT表示累计排队时间的预设阈值,Lm表示网络中最短的数据流长度,ij表示网络实际注入率,Nsp表示路由器的单边端口数量,ra表示网络中最大数据流长度与Lm的比值,符号∧表示且;
如果投机数据包的累计排队时间未超过所述的预设阈值,则投机数据包正常传输;如果投机数据包的累计排队时间超过所述的预设阈值,路由器返回给发送端一个拥塞通知报文(CNP),该报文只有一个切片(flit),投机数据包仍然正常传输;
所述的拥塞通知报文,使用路由器的专用虚通道(VC)进行传输;
S6,投机数据包到达接收端后,进入接收端的优先级缓冲队列中;接收端的优先级缓冲队列,共计8个队列,与所需的8个优先级相匹配,接收端根据所接收到的投机数据包优先级,将其放入相应的优先级缓冲队列中;
为了使所述的接收端优先级缓冲队列发挥作用,接收端需要调整NIC的吸收速率,调整方法为每1000个时钟周期中有50个时钟周期暂停吸收;
S7,接收端设置流信息表格,并利用该表格记录已经接收到还未传输完成的流的信息,并按照流的长度从小到大进行排序;接收端按照流信息表格的顺序为表格中的流设置优先级;
所述的流信息表格,其表格的行数为8,即接收端最多同时接收8个流,该表格的顺序随着流的变化而动态变化;如果表格中已经具有最多的8个流,则按照顺序将优先级设置为3、2、1、0、0、0、0、0,即排在第4个及之后的流都被设置为最低优先级0;
所述的流信息表格中的优先级,将指导流的非投机数据包链的优先级设置;
S8,接收端按优先级从高到低顺序,从优先级缓冲队列中吸收投机数据包进行处理;接收端在处理投机数据包时,根据所接收到的数据包序号以及流剩余未传输的数据量来决定是否给发送端返回授权(grant)报文,该报文只有一个切片(flit);所述的根据所接收到的数据包序号以及流剩余未传输的数据量来决定是否给发送端返回授权(grant)报文,其通过接收端判断流剩余程度是否超过一个RTT的数据量来实现,其判断时机为接收端每次刚好接收到该流的一个RTT的数据量时;
所述返回的授权报文,包含流的编号(id)信息以及流信息表格中该流对应的非投机数据包链的优先级信息,该授权报文在网络内传输时使用专用VC;
S9,发送端接收到由接收端返回的授权报文后,将根据授权报文携带的流编号信息以及流的非投机数据包的优先级,对该流的后续数据包链进行激活,激活是指发送端将授权报文相对应流的后续1个未激活数据包链转为激活状态,并根据授权报文携带的优先级信息对其进行设置;
S10,激活状态的非投机数据包链由发送端按照优先级顺序安排注入网络,非投机数据包链可使用的优先级为3、2、1、0;
激活状态的非投机数据包链注入网络后,路由器不对其进行任何额外操作,只是按照优先级顺序进行传输;
S11,发送端若接收到所述的拥塞通知报文,将停止所有优先级为7、6、5的数据包的发送,停止时间为50个时钟周期,在所述的停止时钟时间内,如果未接收到拥塞通知报文,则发送端在50个时钟周期后自动恢复优先级为7、6、5的数据包的传输;如果在停止时间内又接收到CNP报文,则发送端需要重新开始计时50个停止时钟周期;
S12,非投机数据包到达接收端后,按照其优先级进入接收端优先级缓冲队列,与所述的投机数据包进行类似处理;
S13,接收端吸收处理非投机数据包时,根据所接收到的数据包序号以及流剩余未传输的数据量来决定是否给发送端返回授权(grant)报文,其通过接收端判断流剩余程度是否超过一个RTT的数据量来实现,其判断时机为接收端每次刚好接收到该流的一个RTT的数据量时,如果决定给发送端返回授权报文,则返回授权报文;
S14,当接收端接收到一个流的最后一个数据包时,释放接收端流信息表格中的对应行,并按照流的长度从小到大,动态调整表格中剩余行的顺序;
所述一个流的最后一个数据包,为投机数据包或非投机数据包,其根据流长度大小而定;同时接收端可以吸收处理一个新的流的投机数据包。
这里使用了基于BookSi2.0的周期精确网络模拟器来表征LTC的性能和行为,比较了打上LTC补丁的PCRP和PCRP的性能差异。这里的评测指标除平均流完成时间外,还着重对比了99%tile和99.9%tile的尾流完成时间,以评测LTC对改善尾流延迟的贡献。
模拟的网络是一个256节点的2级胖树。第一层使用32端口路由器,每个路由器具有16个下行通道和16个上行通道。在第二层仅使用了16个下行通道路由器。路由器的工作频率设置为1GHz,每个路由器的零负载延迟为25ns。该网络使用最近共同祖先路由算法,并且在同一起点和终点之间具有多个路径。每个网络通道的容量为10Gb/s,延迟为25ns。
模拟路由器使用基于信用的虚拟直通流量控制。路由器内部输入缓冲具有一个特殊VC用来发送授权数据包和CNP报文,特殊VC的优先级高于其他VC。投机报文和调度报文分别具有若干专用VC。根据PCRP的配置,路由器为推测性数据包分配更多的高优先级数据VC。
网络中的数据包大小为512位,包括8个64位flit,控制数据包为64位flit。在所有三个网络中,数据VC的输入缓冲区实现了虚拟输出队列(VOQ),以避免行头(HOL)阻塞,并且特殊VC使用单个FIFO输入缓冲区。每个VC的输入缓冲区大小为八个数据包。模拟路由器使用优先级仲裁器执行交叉开关和输出仲裁。PCRP不需要其他路由器支持,而LTP则需要路由器支持返回CNP报文的功能。值得注意的是,在实验过程中,LTC本身没有对PCRP的实验环境以及参数配置进行任何修改。
这里使用了两种流量模式下的几种负载来评测LTC的性能:hotspot和uniform,这些负载均为合成负载。这里合成了两种hotspot负载,W1和W2是基于小流量的Hotspot负载,可模拟HPC网络负载特征,平均64个发送者将数据发送到同一接收者。同样,本发明还测试了三个统一流量模式的负载,其流量大小随机分布在不同的范围内。最后一个uniform负载W6是在W5负载的基础上,随机修改其中5%的数据流长度为短流的1000倍,形成更大的长短流差异。
对于加入LTC的PCRP和原PCRP在W1/W2两种hotspot负载下的平均流完成时间表现,尽管LTP降低了短流的投机度,让发送源暂停,并在一定程度上提高了长流的“待遇”,但打上LTP补丁的PCRP的平均流完成时间没有明显增加,与原PCRP接近,且波动范围很小(4%以内)。
LTC在热点模式下维持了原来PCRP的性能。这是因为尽管LTP会对高优先级的短流进行暂停,但这对短流的影响十分轻微,且短流仍占据负载中的主导地位。而在热点模式下,在暂停短流时对长流的传输也并不具有很大的意义,因为他们都去往相同的目的地,在网络中的路由器/在接收端仍然会被短流阻塞。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (8)
1.一种主动和被动方式相结合的网络拥塞控制方法,其特征在于,其步骤包括:
S1,一个数据流在发送端产生时,将其按照网络往返时间RTT所能传输的数据量大小切割分成为若干个数据包链,数据流的最后一个数据包链长度小于RTT所能传输的数据量大小;网络往返时间所能传输的数据量大小用RTT乘以网络接口卡NIC出口带宽计算得到;
S2,发送端将步骤S1中所述的切割后的数据流的第一个数据包链设置为“投机”状态,对应的数据包链为投机数据包链,按照网络整体负载分布为投机数据包链设置优先级;将切割后的数据流第一个数据包链的后续数据包链设置为“未激活”状态;所述的数据流的优先级划分,需要NIC和网络路由器支持,并支持至少8个优先级,优先级序号按照优先级从高到低分别为7、6、5、4、3、2、1、0,其中投机数据包链使用高的4个优先级;
S3,发送端直接将步骤S2中所述的已经具有优先级的投机数据包链,按数据包粒度依次注入网络中,未激活数据包链暂时不注入网络;投机数据包在网络内传输时按照优先级的顺序依次通过路由器;
S4,投机数据包链在网络内传输时,由网络内的路由器统计其累计排队时间并对累计排队时间进行更新;
所述累计排队时间由网络内的路由器对其进行更新,每当投机数据包链刚进入一个路由器的缓冲区队列时,路由器记录其进入时间,当投机数据包被路由器交叉开关成功仲裁时,路由器记录其离开时间,离开时间与进入时间的差值即为投机数据包链在该路由器内的排队时间,投机数据包链离开路由器前,由路由器更新投机数据包链的累计排队时间,即将该投机数据包链在该路由器内部的排队时间加到累计排队时间上;
S5,投机数据包刚进入路由器的缓冲区队列时,由路由器检查其累计排队时间是否超过预设阈值,所述累计排队时间的预设阈值的计算公式为:
其中,aqtT表示累计排队时间的预设阈值,Lm表示网络中最短的数据流长度,ij表示网络实际注入率,Nsp表示路由器的单边端口数量,ra表示网络中最大数据流长度与Lm的比值,符号∧表示且;
如果投机数据包的累计排队时间未超过所述的预设阈值,则投机数据包正常传输;如果投机数据包的累计排队时间超过所述的预设阈值,路由器返回给发送端一个拥塞通知报文,该报文只有一个切片,投机数据包仍然正常传输;
S6,投机数据包到达接收端后,进入接收端的优先级缓冲队列中;接收端的优先级缓冲队列,共计8个队列,与所需的8个优先级相匹配,接收端根据所接收到的投机数据包优先级,将其放入相应的优先级缓冲队列中;
为了使所述的接收端优先级缓冲队列发挥作用,接收端需要调整NIC的吸收速率,调整方法为每1000个时钟周期中有50个时钟周期暂停吸收;
S7,接收端设置流信息表格,并利用该表格记录已经接收到且还未传输完成的流的信息,并按照流的长度从小到大进行排序并记录;接收端按照流信息表格的顺序为表格中的流设置优先级;
S8,接收端按优先级从高到低顺序,从优先级缓冲队列中吸收投机数据包进行处理;接收端在处理投机数据包时,根据所接收到的数据包序号以及流剩余未传输的数据量来决定是否给发送端返回授权报文,该报文只有一个切片;所述的根据所接收到的数据包序号以及流剩余未传输的数据量来决定是否给发送端返回授权报文,其通过接收端判断流剩余程度是否超过一个RTT的数据量来实现,其判断时机为接收端每次刚好接收到该流的一个RTT的数据量时;
S9,发送端接收到由接收端返回的授权报文后,将根据授权报文携带的流编号信息以及流的非投机数据包的优先级,对该流的后续数据包链进行激活,激活是指发送端将授权报文相对应流的后续1个未激活数据包链转为激活状态,并根据授权报文携带的优先级信息对其进行设置;
S10,激活状态的非投机数据包链由发送端按照优先级顺序安排注入网络,非投机数据包链可使用的优先级为3、2、1、0;
激活状态的非投机数据包链注入网络后,路由器不对其进行任何额外操作,只是按照优先级顺序进行传输;
S11,发送端若接收到所述的拥塞通知报文,将停止所有优先级为7、6、5的数据包的发送,停止时间为50个时钟周期,在所述的停止时钟时间内,如果未接收到拥塞通知报文CNP,则发送端在50个时钟周期后自动恢复优先级为7、6、5的数据包的传输;如果在停止时间内又接收到CNP报文,则发送端需要重新开始计时50个停止时钟周期;
S12,非投机数据包到达接收端后,按照其优先级进入接收端优先级缓冲队列;
S13,接收端吸收处理非投机数据包时,根据所接收到的数据包序号以及流剩余未传输的数据量来决定是否给发送端返回授权报文,其通过接收端判断流剩余程度是否超过一个RTT的数据量来实现,其判断时机为接收端每次刚好接收到该流的一个RTT的数据量时,如果决定给发送端返回授权报文,则返回授权报文;
S14,当接收端接收到一个流的最后一个数据包时,释放接收端流信息表格中的对应行,并按照流的长度从小到大,动态调整表格中剩余行的顺序。
2.一种如权利要求1所述的主动和被动方式相结合的网络拥塞控制方法,其特征在于,所述的网络整体负载分布,是利用网络内一个集中统计节点收集网络中所有已产生的数据流长度信息,再计算该数据流长度信息累积分布概率CDF所得到;以数据流长度为横轴,以概率为纵轴,将CDF曲线绘制于二维平面直角坐标系中,得到网络整体负载分布图,即数据流长度信息累积分布概率图。
3.一种如权利要求1所述的主动和被动方式相结合的网络拥塞控制方法,其特征在于,所述的按照网络整体负载分布为投机数据包链设置优先级,所述集中统计节点分别在网络整体负载分布图,即数据流长度信息累积分布概率图的纵轴的25%、50%、75%位置画水平线,与图中CDF曲线相交,得到3个交点,再从3个交点分别作垂线交于数据流长度信息累积分布概率图的横轴,得到3个交点对应的三个数据流长度值,以这三个数据流长度值为分割点对数据流长度取值区间进行划分,从而将数据流分为4个优先级,按照其长度由小至大,优先级序号分别为7、6、5、4。
4.一种如权利要求1所述的主动和被动方式相结合的网络拥塞控制方法,其特征在于,所述的发送端将投机数据包链注入网络,严格按照投机数据包链的优先级执行。
5.一种如权利要求1所述的主动和被动方式相结合的网络拥塞控制方法,其特征在于,所述返回的授权报文,包含流的编号信息以及流信息表格中该流对应的非投机数据包链的优先级信息,该授权报文在网络内传输时使用专用VC。
6.一种如权利要求1所述的主动和被动方式相结合的网络拥塞控制方法,其特征在于,步骤S5中所述的拥塞通知报文,使用路由器的专用虚通道进行传输。
7.一种如权利要求1所述的主动和被动方式相结合的网络拥塞控制方法,其特征在于,步骤S7中所述的流信息表格中的优先级,将指导流的非投机数据包链的优先级设置。
8.一种如权利要求1所述的主动和被动方式相结合的网络拥塞控制方法,其特征在于,步骤S14中所述一个流的最后一个数据包,为投机数据包或非投机数据包,其根据流长度大小而定。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011380667.0A CN112565100B (zh) | 2020-11-30 | 2020-11-30 | 一种主动和被动方式相结合的网络拥塞控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011380667.0A CN112565100B (zh) | 2020-11-30 | 2020-11-30 | 一种主动和被动方式相结合的网络拥塞控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112565100A true CN112565100A (zh) | 2021-03-26 |
CN112565100B CN112565100B (zh) | 2022-05-20 |
Family
ID=75046106
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011380667.0A Active CN112565100B (zh) | 2020-11-30 | 2020-11-30 | 一种主动和被动方式相结合的网络拥塞控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112565100B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114760252A (zh) * | 2022-03-24 | 2022-07-15 | 北京邮电大学 | 数据中心网络拥塞控制方法及系统 |
CN114760252B (zh) * | 2022-03-24 | 2024-06-07 | 北京邮电大学 | 数据中心网络拥塞控制方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101051959A (zh) * | 2007-05-11 | 2007-10-10 | 北京邮电大学 | 基于逐跳时间戳标签的网络链路带宽的测量方法 |
US20080075003A1 (en) * | 2006-09-21 | 2008-03-27 | Futurewei Technologies, Inc. | Method and system for admission and congestion control of network communication traffic |
CN102348241A (zh) * | 2011-11-01 | 2012-02-08 | 邦讯技术股份有限公司 | 一种家庭基站及其带宽适配方法 |
CN108965151A (zh) * | 2018-08-27 | 2018-12-07 | 华中科技大学 | 一种基于排队时延的显式拥塞控制方法 |
CN109873773A (zh) * | 2019-03-14 | 2019-06-11 | 宁波大学 | 一种用于数据中心的拥塞控制方法 |
-
2020
- 2020-11-30 CN CN202011380667.0A patent/CN112565100B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080075003A1 (en) * | 2006-09-21 | 2008-03-27 | Futurewei Technologies, Inc. | Method and system for admission and congestion control of network communication traffic |
CN101051959A (zh) * | 2007-05-11 | 2007-10-10 | 北京邮电大学 | 基于逐跳时间戳标签的网络链路带宽的测量方法 |
CN102348241A (zh) * | 2011-11-01 | 2012-02-08 | 邦讯技术股份有限公司 | 一种家庭基站及其带宽适配方法 |
CN108965151A (zh) * | 2018-08-27 | 2018-12-07 | 华中科技大学 | 一种基于排队时延的显式拥塞控制方法 |
CN109873773A (zh) * | 2019-03-14 | 2019-06-11 | 宁波大学 | 一种用于数据中心的拥塞控制方法 |
Non-Patent Citations (3)
Title |
---|
GEON-HWAN KIM: "Fairness Improvement of BBR Congestion Control Algorithm for Different RTT Flows", 《2019 INTERNATIONAL CONFERENCE ON ELECTRONICS, INFORMATION, AND COMMUNICATION》 * |
刘洪等: "基于动态优先级的数据中心网络闲时感知TCP协议", 《计算机应用研究》 * |
朱成阳等: "一种新的基于预约的拥塞避免机制", 《计算机工程与科学》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114760252A (zh) * | 2022-03-24 | 2022-07-15 | 北京邮电大学 | 数据中心网络拥塞控制方法及系统 |
CN114760252B (zh) * | 2022-03-24 | 2024-06-07 | 北京邮电大学 | 数据中心网络拥塞控制方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112565100B (zh) | 2022-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11750504B2 (en) | Method and system for providing network egress fairness between applications | |
EP0166734B1 (en) | Adaptive preferential flow control for packet switching system | |
EP1728366B1 (en) | A method for congestion management of a network, a signalling protocol, a switch, an end station and a network | |
US7626988B2 (en) | Latency-based scheduling and dropping | |
US8274974B1 (en) | Method and apparatus for providing quality of service across a switched backplane for multicast packets | |
Hamdi et al. | Performance evaluation of active queue management algorithms in large network | |
CN110351187B (zh) | 数据中心网络中路径切换粒度自适应的负载均衡方法 | |
Escudero-Sahuquillo et al. | Combining congested-flow isolation and injection throttling in hpc interconnection networks | |
WO2020192358A1 (zh) | 一种转发报文的方法和网络设备 | |
Wu et al. | Network congestion avoidance through packet-chaining reservation | |
WO2021143913A1 (zh) | 拥塞控制方法、装置及系统、存储介质 | |
CN112565100B (zh) | 一种主动和被动方式相结合的网络拥塞控制方法 | |
US7599292B1 (en) | Method and apparatus for providing quality of service across a switched backplane between egress and ingress queue managers | |
CN112437019B (zh) | 用于数据中心的基于信用包的主动型传输方法 | |
Yang et al. | Crsp: Network congestion control through credit reservation | |
Escudero-Sahuquillo et al. | FBICM: Efficient congestion management for high-performance networks using distributed deterministic routing | |
CN109257302B (zh) | 一种基于分组排队时间的包散射方法 | |
Chawla et al. | Performance evaluation of droptail and random early detection | |
Gómez et al. | VOQ/sub SW: a methodology to reduce HOL blocking in InfiniBand networks | |
Olmedilla et al. | Optimizing packet dropping by efficient congesting-flow isolation in lossy data-center networks | |
Chrysos et al. | Integration and QoS of multicast traffic in a server-rack fabric with 640 100G ports | |
Wu et al. | Revisiting network congestion avoidance through adaptive packet-chaining reservation | |
Dong et al. | Reducing Tail Latency in Proactive Congestion Control via Moderate Speculation | |
Knauber et al. | Supporting preemption in wormhole networks | |
Ai-Awwami et al. | ZOMA: a preemptive deadlock recovery mechanism for fully adaptive routing in wormhole networks |
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 |