CN115134302B - 一种无损网络中避免队头阻塞和拥塞扩散的流量隔离方法 - Google Patents
一种无损网络中避免队头阻塞和拥塞扩散的流量隔离方法 Download PDFInfo
- Publication number
- CN115134302B CN115134302B CN202210740921.6A CN202210740921A CN115134302B CN 115134302 B CN115134302 B CN 115134302B CN 202210740921 A CN202210740921 A CN 202210740921A CN 115134302 B CN115134302 B CN 115134302B
- Authority
- CN
- China
- Prior art keywords
- congestion
- isolation
- data packet
- flow
- pfc
- 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
- 238000002955 isolation Methods 0.000 title claims abstract description 88
- 230000000903 blocking effect Effects 0.000 title abstract description 13
- 238000009792 diffusion process Methods 0.000 title abstract description 13
- 238000011144 upstream manufacturing Methods 0.000 claims abstract description 21
- 238000000034 method Methods 0.000 claims abstract description 20
- 230000005540 biological transmission Effects 0.000 claims description 25
- 230000007246 mechanism Effects 0.000 claims description 18
- 230000007480 spreading Effects 0.000 claims description 9
- 238000003892 spreading Methods 0.000 claims description 9
- 230000001960 triggered effect Effects 0.000 claims description 8
- 230000007423 decrease Effects 0.000 claims description 7
- 239000000758 substrate Substances 0.000 claims description 3
- 238000012545 processing Methods 0.000 abstract description 4
- 229920006926 PFC Polymers 0.000 description 51
- 238000012360 testing method Methods 0.000 description 10
- 230000000694 effects Effects 0.000 description 3
- 238000002474 experimental method Methods 0.000 description 3
- 230000002411 adverse Effects 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000006735 deficit Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
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/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- 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
- H04L47/115—Identifying congestion using a dedicated packet
-
- 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/17—Interaction among intermediate nodes, e.g. hop by hop
-
- 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/28—Flow control; Congestion control in relation to timing considerations
- H04L47/283—Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种无损网络中避免队头阻塞和拥塞扩散的流量隔离方法,涉及数据处理技术领域,该方法在部署了PFC的数据中心无损网络下,通过流量隔离机制来避免现有的细粒度负载均衡机制使得PFC的队头阻塞问题扩散到更多端口,从而避免更多无辜流被阻塞。在该方法中,当出端口队列长度超过隔离阈值,交换机直接逐跳发送拥塞通告到上游交换机直到拥塞流的发送端,上游交换机将拥塞流隔离在某一路径或某条路径的一个队列中,非拥塞流则重路由到其他路径或队列,从而避免拥塞流占据更多的端口影响其他非拥塞流。总的来说,本发明可以很好的避免PFC的队头阻塞和拥塞扩散问题,以及避免PFC这些负面影响扩散到更多的端口,从而降低流完成时间,提升应用性能。
Description
技术领域
本发明涉及数据处理技术领域,尤其指一种无损网络中避免队头阻塞和拥塞扩散的流量隔离方法。
背景技术
由于高性能计算、存储和分布式机器学习等应用都需要可靠的无丢包传输,基于优先级流控(Priority Flow Control,PFC)的无损网络已越来越多地部署在聚合增强型以太网(ConvergedEnhanced Ethernet,CEE)数据中心中,比如微软云、阿里云和谷歌云的数据中心中。为了保证无损传输,CEE采用基于优先级的流控机制PFC来防止交换机缓冲区溢出。对于PFC,一旦入端口队列长度超过PFC暂停阈值,交换机将向其上游交换机发送PFC暂停帧,并在入端口队列长度减小到PFC恢复阈值时,交换机将向其上游交换机发送PFC恢复帧。然而,PFC暂停/恢复机制可能导致队头阻塞和拥塞扩散等问题,对单个流造成严重的性能损害。
为了解决以上的问题,近年来学术界和工业界提出了各种拥塞控制方案,以缓解拥塞,减少PFC触发,进而减小PFC机制带来的负面影响。但这些端到端拥塞控制方案在瞬时拥塞情况下仍不能完全避免PFC触发。更糟糕的是,现有的负载平衡方案大多是为有损网络设计的,很难与PFC和拥塞控制机制配合工作。当PFC触发时,多路径负载均衡方案会使得PFC的队头阻塞和拥塞扩散问题更加严重。具体而言,在细粒度负载均衡机制(如包粒度、流片粒度为单位选择转发端口的负载均衡机制)下,一旦触发PFC,造成拥塞的流同时在多条路径上传输,导致收到PFC暂停帧的相应端口的数量增加,从而使得更多端口的无辜流(与拥塞无关的流)被阻塞,加剧了PFC的队头阻塞和拥塞扩散的负面影响。
因此,如何避免PFC的队头阻塞和拥塞扩散问题,以及避免PFC这些负面影响扩散到更多的端口,从而降低流完成时间,提升应用性能,是一个亟待解决的问题。
发明内容
本发明提供的无损网络中避免队头阻塞和拥塞扩散的流量隔离方法,可以解决在细粒度负载均衡机制下PFC队头阻塞问题,以及拥塞扩散到更多端口使更多无辜流被阻塞的问题。
该方法可以在部署了PFC的数据中心无损网络下,通过流量隔离机制来避免现有细粒度负载均衡机制使得PFC的队头阻塞问题以及扩散到更多端口,从而避免更多无辜流被阻塞
为了解决上述技术问题,本发明采用如下技术方法:一种无损网络中避免队头阻塞和拥塞扩散的流量隔离方法,包括:
交换机按以下步骤进行操作:
步骤S11,初始化链路基础往返延时RTT、链路带宽C、每条链路基础延时d、隔离阈值更新周期Tth、PFC触发阈值QPFC、隔离阈值Qth、隔离阈值更新周期的起始时间t;
步骤S12,交换机监听是否有新数据包到达,若有新数据包到达,转步骤S13;否则继续监听是否有新数据包到达;
步骤S13,获取交换机出端口队列长度,转步骤S14;
步骤S14,根据出端口队列长度判断该出端口的流是否为拥塞流,如是,则发送拥塞通告信息到上游交换机,转步骤S15;否则转步骤S15;
步骤S15,判断当前交换机是否收到拥塞通告信息,如果收到了拥塞通告信息,则转步骤S16;否则,转步骤S17;
步骤S16,判断当前数据包是否为拥塞流数据包,如果是,则设置当前数据包的目的出端口路径为隔离路径,并转发当前数据包到目的出端口,转步骤S12;否则,重路由当前数据包,即重新选择除了当前目的出端口之外的最短队列出端口作为转发出端口,转步骤S12;
步骤S17,判断是否收到非拥塞通告信息,如是,则解除当前隔离路径,并转发当前数据包到目的出端口,转步骤S12,否则,转发当前数据包到目的出端口,转步骤S12。
进一步地,还包括对发送端的控制,如果当前操作主体是发送端,则发送端按以下步骤进行操作:
步骤S21,初始化流的发送速率以及拥塞流的数量N;
步骤S22,判断是否收到拥塞通告信息,如是,则将拥塞流的发送速率设置为目标速率,并按该目标速率发送数据包,转步骤S24,否则,转步骤S23;
步骤S23,按线速率转发数据包,转步骤S24;
步骤S24,判断数据包是否发送完毕,如是,则结束;否则转步骤S22。
进一步地,在步骤S11中,初始化时链路基础往返延时RTT设置为50μs;链路带宽C设置为交换机出端口的带宽值;每条链路基础延时d设置为5μs;隔离阈值更新周期Tth设置为2RTT;PFC触发阈值QPFC设置为256KB;隔离阈值Qth、隔离阈值更新周期的起始时间t都设置为0。
更进一步地,从步骤S12中监听到有新数据包到达至步骤S17执行前的任一时间,判断当前时间与隔离阈值更新周期的起始时间t的差值是否大于或等于隔离阈值更新周期Tth,若大于或等于隔离阈值更新周期Tth,则更新隔离阈值Qth,保证上游交换机在隔离操作前不触发PFC,且解除隔离后不出现链路为空的现象,并将隔离阈值更新周期的起始时间t设置为当前时间。
更进一步地,所述隔离阈值Qth的更新方法如下:
假设tp时刻的出端口队列长度为Q(tp),生成拥塞通告信息传送到上游交换机直至发送端,拥塞通告信息传输过程中,出端口队列仍然在增长,出端口队列最大增长到Q(tp+2d),如下式(1):
其中,vi(t)为第i条流的发送速率;
为了保证拥塞通告信息传输过程中不触发PFC,tp时刻的出端口队列长度Q(tp)需满足如下式(2):
其中,M是交换机出端口数量;
假设当出端口队列长度在时间tR降低到Q(tR),非拥塞通知从当前交换机发送到上游交换机直至发送端,恢复拥塞流的传输,在非拥塞通知传输的过程中,出端口队列仍然在继续减小,为了保证链路不为空,Q(tR)需要满足如下式(3):
为了保证拥塞流的隔离机制在PFC触发前触发,且在出端口队列排空前恢复拥塞流的传输,更新后的隔离阈值Qth的取值范围需满足如下式(4):
再以保守的方式取发送速率的最大值,即链路带宽C,进一步获取隔离阈值Qth的取值范围,因此更新后的隔离阈值Qth为:
更进一步地,在步骤S14中,判断出端口队列长度是否大于或等于隔离阈值Qth,如果是,则到该出端口的流都为拥塞流。
再进一步地,所述拥塞通告信息携带拥塞流号和拥塞流的数量N。
优选地,在步骤S16中,到拥塞出端口的所有流均为拥塞流,根据当前到达的数据包包头的五元组信息:源IP地址、源端口、目的IP地址、目的端口、传输层协议来判断该数据包是否属于拥塞流的数据包。
再进一步地,在步骤S21中,初始化时流的发送速率设置为链路带宽C,拥塞流的数量N设置为0。
优选地,在步骤S22中,所述目标速率为按拥塞流的数量N均分链路带宽C,即目标速率的值为C/N。
优选地,在步骤S23中,所述线速率为链路带宽C。
本发明所涉无损网络中避免队头阻塞和拥塞扩散的流量隔离方法,在部署了PFC的数据中心无损网络下,通过流量隔离机制来避免现有的细粒度负载均衡机制使得PFC的队头阻塞问题扩散到更多端口,从而避免更多无辜流被阻塞。具体而言,当出端口队列长度超过隔离阈值,交换机直接逐跳发送拥塞通告到上游交换机直到拥塞流的发送端,上游交换机将拥塞流隔离在某一路径或某条路径的一个队列中,非拥塞流则重路由到其他路径或队列,从而避免拥塞流占据更多的端口影响其他非拥塞流。总的来说,本发明可以很好的避免PFC的队头阻塞和拥塞扩散问题,以及避免PFC这些负面影响扩散到更多的端口,从而降低流完成时间,提升应用性能。
附图说明
图1为本发明所涉无损网络中避免队头阻塞和拥塞扩散的流量隔离方法的流程图;
图2为本发明实施方式中测试场景拓扑图;
图3为本发明实施方式中各种方案在网页搜索工作负载下的测试结果对比图(图中DC代表DCQCN拥塞控制机制);
图4为本发明实施方式六种负载均衡机制在不同链路速度下的突发流场景测试结果对比图。
具体实施方式
为了便于本领域技术人员的理解,下面结合实施例与附图对本发明作进一步的说明,实施方式提及的内容并非对本发明的限定。
在叙述本发明之前,此处先详细阐述一下本发明的设计思路。为了避免现有细粒度负载均衡机制用于部署了PFC的无损网络中增加了PFC队头阻塞影响的端口数量,扩散了拥塞范围,从而增加了被阻塞的非拥塞流数量,本发明拟通过从拥塞点所在的交换机发送拥塞通告信息到上游交换机,将拥塞流量隔离到一条路径或一条路径的一个队列,非拥塞流重路由到其他路径或其他队列,从而将拥塞流造成的PFC暂停端口数量减少,避免非拥塞被PFC队头阻塞,避免拥塞扩散。再具体的,本发明可以在交换机上判断出端口队列是否超过隔离阈值,如果超过隔离阈值,则从交换机发送拥塞通知到上游交换机,并逐跳反馈到拥塞流(真正造成拥塞的流)的源端。拥塞通知的包头携带了拥塞流号和拥塞流的数量。当上游交换机收到拥塞通知后,将拥塞流限制在一条路径或一条路径的一个队列中,此路径和队列分别称为隔离路径和隔离队列。再将非拥塞流(与造成拥塞无关的流)重路由到隔离路径之外的其他路径或者隔离队列之外的其他队列。当在交换机上判断出端口队列已经降低到隔离阈值以下,则会从交换机发送非拥塞通知到上游交换机,解除隔离路径或隔离队列。此外,为了解除隔离路径和隔离队列中流的拥塞状态,释放资源,本发明通过交换机发送拥塞通知信息给发送端,发送端将拥塞流的速率直接设置为目标速率,拥塞流均分链路带宽。
参照图1,一种无损网络中避免队头阻塞和拥塞扩散的流量隔离方法,主要包括发送端和交换机两个部分的处理过程,其过程如下:
首先判断当前操作主体类型。
1.如果是交换机,则按以下步骤进行操作:
步骤S11,初始化链路基础往返延时RTT设置为50μs;链路带宽C设置为交换机出端口的带宽值;每条链路基础延时d设置为5μs;隔离阈值更新周期Tth设置为2RTT;PFC触发阈值QPFC设置为256KB;隔离阈值Qth、隔离阈值更新周期的起始时间t都设置为0。
步骤S12,交换机监听是否有新数据包到达,若有新数据包到达,则判断当前时间与隔离阈值更新周期的起始时间t的差值是否大于或等于隔离阈值更新周期Tth,若大于或等于隔离阈值更新周期Tth,则更新隔离阈值Qth,保证上游交换机在隔离操作前不触发PFC,且解除隔离后不出现链路为空的现象,并将隔离阈值更新周期的起始时间t设置为当前时间,然后转步骤S13;否则继续监听是否有新数据包到达。
值得一提的是,隔离阈值Qth的更新方法具体如下:
假设tp时刻的出端口队列长度为Q(tp),生成拥塞通告信息传送到上游交换机直至发送端,拥塞通告信息传输过程中,出端口队列仍然在增长,出端口队列最大增长到Q(tp+2d),如下式(1):
其中,vi(t)为第i条流的发送速率;
为了保证拥塞通告信息传输过程中不触发PFC,tp时刻的出端口队列长度Q(tp)需满足如下式(2):
其中,M是交换机出端口数量;
假设当出端口队列长度在时间tR降低到Q(tR),非拥塞通知从当前交换机发送到上游交换机直至发送端,恢复拥塞流的传输,在非拥塞通知传输的过程中,出端口队列仍然在继续减小,为了保证链路不为空,Q(tR)需要满足如下式(3):
为了保证拥塞流的隔离机制在PFC触发前触发,且在出端口队列排空前恢复拥塞流的传输,更新后的隔离阈值Qth的取值范围需满足如下式(4):
再以保守的方式取发送速率的最大值,即链路带宽C,进一步获取隔离阈值Qth的取值范围,因此更新后的隔离阈值Qth为:
步骤S13,获取交换机出端口队列长度,转步骤S14;
步骤S14,判断出端口队列长度是否大于或等于隔离阈值Qth,如果是,则判断到该出端口的流都为拥塞流,此时发送拥塞通告信息到上游交换机,该拥塞通告信息携带拥塞流号和拥塞流的数量,转步骤S15;否则转步骤S15;
步骤S15,判断当前交换机是否收到拥塞通告信息,如果收到了拥塞通告信息,则转步骤S16;否则,转步骤S17;
步骤S16,到拥塞出端口的所有流均为拥塞流,根据当前到达的数据包包头的五元组信息(源IP地址、源端口、目的IP地址、目的端口、传输层协议)来判断该数据包是否属于拥塞流的数据包,如果是,则设置当前数据包的目的出端口路径为隔离路径,并转发当前数据包到目的出端口,转步骤S12;否则,重路由当前数据包,即重新选择除了当前目的出端口之外的最短队列出端口作为转发出端口,转步骤S12;
步骤S17,判断是否收到非拥塞通告信息,如是,则解除当前隔离路径,并转发当前数据包到目的出端口,转步骤S12,否则,转发当前数据包到目的出端口,转步骤S12。
2.如果是发送端,则按以下步骤进行操作:
步骤S21,初始化时流的发送速率设置为链路带宽C,拥塞流的数量N设置为0。
步骤S22,判断是否收到拥塞通告信息,如是,则将拥塞流的发送速率设置为目标速率,目标速率为按拥塞流的数量N均分链路带宽C,即C/N,按该目标速率发送数据包,转步骤S24,否则,转步骤S23;
步骤S23,按线速率转发数据包,线速率即为链路带宽C。
步骤S24,判断数据包是否发送完毕,如是,则结束;否则转步骤S22。
为了验证本发明的有效性,接下来本实施方式利用真实的网络测试平台对本发明所涉方法进行了性能测试。
如图2所示,为测试场景拓扑图,本实验的设置如下:终端主机部署DPDK20.08,采用P4硬件交换机,并部署了PFC。实验测试平台由20台服务器组成,连接到两个100BF-32X边缘交换机,具有3条同等成本的路径。每台服务器(Dell PRECISION TOWER 5820台式机)均配备10核Intel Xeon W-2255CPU、64GB内存、Mellanox ConnectX-5 100GbE NIC,支持DPDK和Ubuntu 20.04.1(Linux版本5.4.0-42-generic)。每个交换机都有22MB共享缓冲区和32个全双工100Gbps端口,支持具有动态阈值的PFC,每条链路的容量为40Gbps,链路延时为5微秒,流片超时时间设置为50微秒。
首先,终端主机H0至H16根据重尾分布的网页搜索工作负载生成动态流量,平均流大小为1.6MB,从主机H3至H16生成的流是突发短流,瓶颈链路的平均负载设置为0.6。
图3展示了网页搜索工作负载下流完成时间、暂停帧速率和链接利用率的测试结果(本发明所涉方法在图3中被命名为L3B),其中,图3(a)展示了不同交换机层的PFC暂停帧速率,虽然流量是动态变化的,但L3B可以有效地减少PFC暂停帧并抑制拥塞扩散,对于L3B,核心交换机和源端边缘交换机的暂停帧速率小于目的端边缘交换机的暂停帧速率。由于缺乏拥塞控制,ECMP和LetFlow的暂停帧速率分别大于DC+ECMP(即为DCQCN+ECMP)和DC+LetFlow(即为DCQCN+LetFlow)的暂停帧速率。图3(b)展示了不同并行路径的链路利用率,通过平衡并行路径之间的流量,L3B和MP-RDMA在不同路径上达到了比其他方案更高的链路利用率,此外,由于L3B通过隔离拥塞流减少了受PFC暂停帧影响的端口数量,因此L3B与其他方案相比,获得了最高的平均链路利用率。图3(c)显示了网页搜索中小流(0,100KB)、中流(100KB,1MB)和大流(1MB,无限大)的流完成时间,由于L3B可以快速隔离和暂停拥塞流,因此非拥塞流不会被PFC暂停帧阻止,L3B达到最低的平均流完成时间和99分位流完成时间,与DC+ECMP、DC+LetFlow和MP-RDMA相比,L3B将所有流的平均流完成时间分别降低56%、49%和32%。由于成功避免了HoL阻塞和拥塞扩散,相对于DC+ECMP和DC+LetFlow,L3B将99分位流完成时间降低了高达88%。
接着,实验评估了L3B在突发流场景下的性能。如图2所示的实验拓扑结构,在0时刻时,H0、H1和H2分别以250MB的速度开始向R0、R1和R2的长流,命名为f0、f1和f2。在开始时,我们假设f0在ECMP和LetFlow下采用路径路径0{S0,S1,S4},而f1和f2共享路径路径2{S0,S3,S4}。在时间40ms时,H3至H16的每个发送端以线路速率向R2发送40条短流,每条短流的大小为64KB。这些突发流持续约8毫秒。链路容量从10Gbps增加到100Gbps,并重复相同的实验。图4展示了各种方案的吞吐率测试结果,测试结果表明L3B有效地避免了队头阻塞和拥塞扩散问题。具体的,图4(a)显示L3B通过隔离拥塞流,将PFC暂停帧速率降低了96%。由于以线速率传输数据会导致快速排队,尤其是在高速链路(例如40Gbps、100Gbps)下,因此ECMP和LetFlow触发的PFC明显多于其他方案。通过采用拥塞控制,DC+ECMP、DC+LetFlow和MP-RDMA触发少量PFC。然而,如图4(b)和(d)所示,DC将发送速率缓慢收敛到目标速率的过程导致利用率损失和尾部延时增加。图4(b)显示,与ECMP、LetFlow、DC+ECMP、DC+LetFlow和MP-RDMA相比,L3B分别将链路利用率提高了109%、87%、186%、164%和28%。图4(c)和(d)显示了平均流完成时间和99分位流完成时间。由于L3B减少了交换机之间的PFC触发,并隔离了拥塞流以保护受害者流,因此L3B在瓶颈链路的各种带宽容量下达到了比其他方案更小的流完成时间。
由此可知,相对于传统的方法而言,本发明通过流量隔离机制可以很好的避免PFC的队头阻塞和拥塞扩散问题,以及避免PFC这些负面影响扩散到更多的端口,从而降低流完成时间,提升应用性能。
上述实施例为本发明较佳的实现方案,除此之外,本发明还可以其它方式实现,在不脱离本技术方案构思的前提下任何显而易见的替换均在本发明的保护范围之内。
为了让本领域普通技术人员更方便地理解本发明相对于现有技术的改进之处,本发明的一些附图和描述已经被简化,并且为了清楚起见,本申请文件还省略了一些其他元素,本领域普通技术人员应该意识到这些省略的元素也可构成本发明的内容。
Claims (8)
1.一种无损网络中避免队头阻塞和拥塞扩散的流量隔离方法,其特征在于,包括:
交换机按以下步骤进行操作:
步骤S11,初始化链路基础往返延时RTT、链路带宽C、每条链路基础延时d、隔离阈值更新周期Tth、PFC触发阈值QPFC、隔离阈值Qth、隔离阈值更新周期的起始时间t;
步骤S12,交换机监听是否有新数据包到达,若有新数据包到达,转步骤S13;否则继续监听是否有新数据包到达;
步骤S13,获取交换机出端口队列长度,转步骤S14;
步骤S14,根据出端口队列长度判断该出端口的流是否为拥塞流,如是,则发送拥塞通告信息到上游交换机,转步骤S15;否则转步骤S15;
步骤S15,判断当前交换机是否收到拥塞通告信息,如果收到了拥塞通告信息,则转步骤S16;否则,转步骤S17;
步骤S16,判断当前数据包是否为拥塞流数据包,如果是,则设置当前数据包的目的出端口路径为隔离路径,并转发当前数据包到目的出端口,转步骤S12;否则,重路由当前数据包,即重新选择除了当前目的出端口之外的最短队列出端口作为转发出端口,转步骤S12;
步骤S17,判断是否收到非拥塞通告信息,如是,则解除当前隔离路径,并转发当前数据包到目的出端口,转步骤S12,否则,转发当前数据包到目的出端口,转步骤S12;
从步骤S12中监听到有新数据包到达至步骤S17执行前的任一时间,判断当前时间与隔离阈值更新周期的起始时间t的差值是否大于或等于隔离阈值更新周期Tth,若大于或等于隔离阈值更新周期Tth,则更新隔离阈值Qth,保证上游交换机在隔离操作前不触发PFC,且解除隔离后不出现链路为空的现象,并将隔离阈值更新周期的起始时间t设置为当前时间;
所述隔离阈值Qth的更新方法如下:
假设tp时刻的出端口队列长度为Q(tp),生成拥塞通告信息传送到上游交换机直至发送端,拥塞通告信息传输过程中,出端口队列仍然在增长,出端口队列最大增长到Q(tp+2d),如下式(1):
其中,vi(t)为第i条流的发送速率;
为了保证拥塞通告信息传输过程中不触发PFC,tp时刻的出端口队列长度Q(tp)需满足如下式(2):
其中,M是交换机出端口数量;
假设当出端口队列长度在时间tR降低到Q(tR),非拥塞通知从当前交换机发送到上游交换机直至发送端,恢复拥塞流的传输,在非拥塞通知传输的过程中,出端口队列仍然在继续减小,为了保证链路不为空,Q(tR)需要满足如下式(3):
为了保证拥塞流的隔离机制在PFC触发前触发,且在出端口队列排空前恢复拥塞流的传输,更新后的隔离阈值Qth的取值范围需满足如下式(4):
再以保守的方式取发送速率的最大值,即链路带宽C,进一步获取隔离阈值Qth的取值范围,因此更新后的隔离阈值Qth为:
2.根据权利要求1所述的无损网络中避免队头阻塞和拥塞扩散的流量隔离方法,其特征在于:还包括对发送端的控制,如果当前操作主体是发送端,则发送端按以下步骤进行操作:
步骤S21,初始化流的发送速率以及拥塞流的数量N;
步骤S22,判断是否收到拥塞通告信息,如是,则将拥塞流的发送速率设置为目标速率,并按该目标速率发送数据包,转步骤S24,否则,转步骤S23;
步骤S23,按线速率转发数据包,转步骤S24;
步骤S24,判断数据包是否发送完毕,如是,则结束;否则转步骤S22。
3.根据权利要求2所述的无损网络中避免队头阻塞和拥塞扩散的流量隔离方法,其特征在于:在步骤S11中,初始化时链路基础往返延时RTT设置为50μs;链路带宽C设置为交换机出端口的带宽值;每条链路基础延时d设置为5μs;隔离阈值更新周期Tth设置为2RTT;PFC触发阈值QPFC设置为256KB;隔离阈值Qth、隔离阈值更新周期的起始时间t都设置为0。
4.根据权利要求3所述的无损网络中避免队头阻塞和拥塞扩散的流量隔离方法,其特征在于:在步骤S14中,判断出端口队列长度是否大于或等于隔离阈值Qth,如果是,则到该出端口的流都为拥塞流。
5.根据权利要求4所述的无损网络中避免队头阻塞和拥塞扩散的流量隔离方法,其特征在于:所述拥塞通告信息携带拥塞流号和拥塞流的数量N。
6.根据权利要求5所述的无损网络中避免队头阻塞和拥塞扩散的流量隔离方法,其特征在于:在步骤S16中,到拥塞出端口的所有流均为拥塞流,根据当前到达的数据包包头的五元组信息:源IP地址、源端口、目的IP地址、目的端口、传输层协议来判断该数据包是否属于拥塞流的数据包。
7.根据权利要求6所述的无损网络中避免队头阻塞和拥塞扩散的流量隔离方法,其特征在于:在步骤S21中,初始化时流的发送速率设置为链路带宽C,拥塞流的数量N设置为0。
8.根据权利要求7所述的无损网络中避免队头阻塞和拥塞扩散的流量隔离方法,其特征在于:在步骤S22中,所述目标速率为按拥塞流的数量N均分链路带宽C,即目标速率的值为C/N。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210740921.6A CN115134302B (zh) | 2022-06-27 | 2022-06-27 | 一种无损网络中避免队头阻塞和拥塞扩散的流量隔离方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210740921.6A CN115134302B (zh) | 2022-06-27 | 2022-06-27 | 一种无损网络中避免队头阻塞和拥塞扩散的流量隔离方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115134302A CN115134302A (zh) | 2022-09-30 |
CN115134302B true CN115134302B (zh) | 2024-01-16 |
Family
ID=83380660
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210740921.6A Active CN115134302B (zh) | 2022-06-27 | 2022-06-27 | 一种无损网络中避免队头阻塞和拥塞扩散的流量隔离方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115134302B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117395207B (zh) * | 2023-12-12 | 2024-02-23 | 南京邮电大学 | 一种面向无损网络的细粒度流量控制方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019072072A1 (zh) * | 2017-10-11 | 2019-04-18 | 华为技术有限公司 | 一种拥塞流识别方法及网络设备 |
CN111385216A (zh) * | 2018-12-29 | 2020-07-07 | 中兴通讯股份有限公司 | 基于pfc帧的拥塞控制方法、装置、系统及存储介质 |
CN112054964A (zh) * | 2019-06-05 | 2020-12-08 | 中兴通讯股份有限公司 | 队列拥塞控制方法、装置、设备及存储介质 |
CN114070795A (zh) * | 2021-11-24 | 2022-02-18 | 新华三大数据技术有限公司 | 拥塞门限确定方法、装置、设备及存储介质 |
CN114531399A (zh) * | 2020-11-05 | 2022-05-24 | 中移(苏州)软件技术有限公司 | 一种内存阻塞平衡方法、装置、电子设备和存储介质 |
CN115134308A (zh) * | 2022-06-27 | 2022-09-30 | 长沙理工大学 | 数据中心无损网络中通过数据包弹跳避免队头阻塞的方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8750129B2 (en) * | 2011-10-06 | 2014-06-10 | International Business Machines Corporation | Credit-based network congestion management |
US11296987B2 (en) * | 2020-04-20 | 2022-04-05 | Hewlett Packard Enterprise Development Lp | Congestion management mechanism |
US20220124035A1 (en) * | 2021-05-05 | 2022-04-21 | Intel Corporation | Switch-originated congestion messages |
-
2022
- 2022-06-27 CN CN202210740921.6A patent/CN115134302B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019072072A1 (zh) * | 2017-10-11 | 2019-04-18 | 华为技术有限公司 | 一种拥塞流识别方法及网络设备 |
CN111385216A (zh) * | 2018-12-29 | 2020-07-07 | 中兴通讯股份有限公司 | 基于pfc帧的拥塞控制方法、装置、系统及存储介质 |
CN112054964A (zh) * | 2019-06-05 | 2020-12-08 | 中兴通讯股份有限公司 | 队列拥塞控制方法、装置、设备及存储介质 |
WO2020244422A1 (zh) * | 2019-06-05 | 2020-12-10 | 中兴通讯股份有限公司 | 队列拥塞控制方法、装置、设备及存储介质 |
CN114531399A (zh) * | 2020-11-05 | 2022-05-24 | 中移(苏州)软件技术有限公司 | 一种内存阻塞平衡方法、装置、电子设备和存储介质 |
CN114070795A (zh) * | 2021-11-24 | 2022-02-18 | 新华三大数据技术有限公司 | 拥塞门限确定方法、装置、设备及存储介质 |
CN115134308A (zh) * | 2022-06-27 | 2022-09-30 | 长沙理工大学 | 数据中心无损网络中通过数据包弹跳避免队头阻塞的方法 |
Non-Patent Citations (2)
Title |
---|
S. N. Avci.Congestion aware priority flow control in data center networks," 2016 IFIP Networking Conference (IFIP Networking) and Workshops. 2016 IFIP Networking Conference (IFIP Networking) and Workshops.2016,全文. * |
基于直接拥塞通告的数据中心无损网络传输控制机制;胡晋彬;电子学报;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN115134302A (zh) | 2022-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220210081A1 (en) | System and method for facilitating data-driven intelligent network with flow control of individual applications and traffic flows | |
US8665892B2 (en) | Method and system for adaptive queue and buffer control based on monitoring in a packet network switch | |
JP4260631B2 (ja) | ネットワーク輻輳制御の方法および装置 | |
US7675857B1 (en) | Method and apparatus to avoid network congestion | |
US10708197B2 (en) | Network data processor having per-input port virtual output queues | |
Wu et al. | ICTCP: Incast congestion control for TCP in data center networks | |
US8125904B2 (en) | Method and system for adaptive queue and buffer control based on monitoring and active congestion avoidance in a packet network switch | |
KR100644445B1 (ko) | 다-임계값 리키 버킷을 사용하는 클래스-기초 속도 제어 | |
US20170048144A1 (en) | Congestion Avoidance Traffic Steering (CATS) in Datacenter Networks | |
CN114938350A (zh) | 数据中心无损网络中基于拥塞反馈的数据流传输控制方法 | |
CN115134308B (zh) | 数据中心无损网络中通过数据包弹跳避免队头阻塞的方法 | |
CN115134302B (zh) | 一种无损网络中避免队头阻塞和拥塞扩散的流量隔离方法 | |
Jouet et al. | Measurement-based TCP parameter tuning in cloud data centers | |
CN110324255B (zh) | 一种面向数据中心网络编码的交换机/路由器缓存队列管理方法 | |
WO2023116611A1 (zh) | 一种队列控制的方法及装置 | |
CN115134304B (zh) | 云计算数据中心避免数据包乱序的自适应负载均衡方法 | |
CN114629847B (zh) | 基于可用带宽分配的耦合多流tcp拥塞控制方法 | |
CN114531399B (zh) | 一种内存阻塞平衡方法、装置、电子设备和存储介质 | |
Jasem et al. | Evaluation study for delay and link utilization with the new-additive increase multiplicative decrease congestion avoidance and control algorithm | |
WO2021012902A1 (zh) | 一种处理网络拥塞的方法以及相关装置 | |
CN109257302B (zh) | 一种基于分组排队时间的包散射方法 | |
McAlpine et al. | An architecture for congestion management in ethernet clusters | |
Zheng et al. | Analysis and research on a new data link mac protocol | |
Devkota | Performance of Quantized Congestion Notification in TXP Incast in Data Centers | |
US8804521B1 (en) | Quality of service for inbound network traffic flows during slow-start phases |
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 |