CN115022227B - 数据中心网中基于循环或重路由的数据传输方法和系统 - Google Patents
数据中心网中基于循环或重路由的数据传输方法和系统 Download PDFInfo
- Publication number
- CN115022227B CN115022227B CN202210658071.5A CN202210658071A CN115022227B CN 115022227 B CN115022227 B CN 115022227B CN 202210658071 A CN202210658071 A CN 202210658071A CN 115022227 B CN115022227 B CN 115022227B
- Authority
- CN
- China
- Prior art keywords
- pfc
- path
- data packet
- switch
- warning
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/38—Flow based routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
-
- 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
-
- 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警告,若存在,则通过循环操作或重路由来避免乱序数据包,以解决现有数据中心有损网络中的负载均衡机制工作在部署了PFC机制的数据中心无损网络中会出现严重数据包乱序的问题。
Description
技术领域
本发明属于数据中心网络技术领域,具体涉及一种数据中心网中基于循环或重路由的数据传输方法和系统。
背景技术
现代数据中心应用程序需要低延时的可靠传输,来提升用户体验,如在线数据密集型服务和聚合以太网中的远程直接内存访问等。然而网络中即使只有一个数据包丢失,也会显著增加流完成时间,造成传输延时,影响了整体性能,因此,数据包的有序传输极为重要。
而为了防止交换机缓冲区溢出,基于优先级的流控(Priority-based FlowControl,PFC)机制被广泛部署在以太网数据中心网络中。即当入口队列长度达到PFC触发阈值时,PFC暂停帧将发送到上游设备并暂停相关的上游端口(或队列),当入口队列长度降低到PFC阈值以后则通过PFC恢复帧恢复上游端口的数据传输。
然而,现有数据中心网络的负载均衡机制在部署了PFC的无损网络中会出现严重的数据包乱序问题,从而影响了整体的传输性能。这是因为这些负载均衡机制在选择数据包的转发路径时,无法正确并及时的感知到路径上发生了PFC暂停现象。如以本地队列长度作为选路信号的负载均衡机制,是无法感知到下游交换机上被PFC暂停的端口。而一旦所选的转发路径由于突发拥塞而被PFC暂停,该路径上的数据包将被阻塞,可能导致其他路径上未被阻塞的大序号数据包先于被阻塞的小序号数据包到达接收端,造成数据包乱序问题。
又由于由于受限于网卡上较小的内存容量,数据中心无损网络采用简单Go-back-N重传机制。在该机制中,若出现乱序,接收端网卡将丢弃乱序数据包,并通知发送端重传在最后确认的已收到的数据包之后发送的所有数据包,从而导致吞吐率严重下降,流完成时间限制增加。因此,针对PFC机制带来的数据包乱序问题,如何避免数据包乱序是提高吞吐率,有效降低流完成时间的关键性点,也是一个亟待解决的问题。
发明内容
本发明的技术方案从PFC触发机制的角度出发,设定了PFC警告阈值,再基于PFC警告下执行循环机制或重路由机制来解决现有数据中心有损网络中的负载均衡机制工作在部署了PFC机制的数据中心无损网络中会出现严重数据包乱序的问题,进而提供一种数据中心网中基于循环或重路由的数据传输方法和系统。
具体而言,一方面,本发明所述技术方法考虑到PFC触发的条件是入口队列长度达到PFC触发阈值,从而基于入端口的队列长度巧妙地设定一个PFC警告阈值,即在PFC触发之前就向相关上游交换机发送PFC警告信息,通过预先通知机制来降低PFC机制对数据包乱序带来的影响;二方面,本发明所述技术方案中当所选路径上存在PFC警告信息后,并不是激进、盲目地更换路径,而是根据当前路径与其他路径的路径延时差来决定是继续在当前交换机上循环等待一定时间还是重路由,充分考虑到了即使遇到拥塞,激进地更换路径不一定比在当前交换机上循环等待一定时间更有益,等待一定时间也许比更换路径更能够避免数据包乱序。因此,本发明所述技术方案通过循环等待机制以及重路由机制可以更为有效的降低数据包乱序的可能性,从而实现了基于警告信息来循环或重路以解决数据包乱序问题的技术方案。
从上可知,本发明并不是通过降低或消除PFC触发来接近数据包乱序问题,而是在已有的PFC机制上增加了一个可以有效防止数据包乱序的技术方案,且该技术方案可以应用于在部署了PFC的无损网络的各类负载均衡机制中。
第一方面,本发明提供的一种数据中心网中基于循环或重路由的数据传输方法,其包括以下步骤:
步骤S1:交换机监听到数据包到达后,判断是否收到所述数据包对应预选路径的PFC警告信息;若收到了所述预选路径的PFC警告信息,执行步骤S2;否则,基于负载均衡机制转发所述数据包至所述预选路径上;
其中,若交换机的入端口队列长度大于或等于预设的PFC警告阈值,则生成PFC警告信息并发送至相关的上游交换机;
步骤S2:根据所述预选路径与其他路径的路径延时差执行循环操作或重路由;
其中,循环操作是将所述数据包从出端口转发到本交换机的入端口,若所述预选路径的路径延时小于其他路径的路径延时且差值满足预设阈值,执行循环操作,否则执行重路由。
本发明所述技术方案着重于解决现有负载均衡机制在已有PFC的数据中心网络中存在数据包乱序的问题,具体创新的操作是根据预测的当前路径是否有PFC警告以及当前路径与其他路径的延时差异分别进行循环或重路由操作。目的是保证当前数据包不会晚于同一条流的后续数据包到达接收端,也就是通过以上操作能保证当前数据包从最快到达接收端的路径传输到接收端,数据包按序号从小到大顺序到达接收端,从而避免了乱序现象。
进一步可选地,设置的所述PFC警告阈值需同时满足如下要求:
第一,上游交换机收到PFC警告信息之前,发送PFC警告信息的交换机上不会触发PFC,即存在:PFC警告阈值<(PFC触发阈值-PFC警告信息传输到上游交换机的传输时间内入端口队列增长量+该传输时间内该入端口往外排出的数据包量);
第二,在该传输时间内,发送PFC警告信息的交换机的对应入端口队列不出现空队列,即存在:(PFC警告阈值-该入端口在该传输时间内往外排出的数据量+该入端口在该传输时间内接收的数据包量)>=0。
可选地,所述PFC警告阈值的取值范围按照如下公式计算得到:
Qth=[d*C,max[d*C,QPFC-d*C*(n-1)]]
其中,Qth为PFC警告阈值,d是源端边缘交换机到目的端边缘交换机的链路基础延时,C是交换机出端口的带宽值,QPFC是PFC触发阈值,n是交换机当前的活跃流数量。
其中,由于无法知道未来该传输时间内所有流实际的发送速率,本发明技术方案将取该传输时间内所有流的发送速率为最大带宽速率C。且该传输时间选择用源端边缘交换机到目的端边缘交换机的链路基础延时d表示。从而基于上述公式确定的PFC警告阈值也是保证了PFC警告信息到达上游交换机之前,当前交换机不会触发PFC;同时保证了当前交换机的对应队列不会空而造成吞吐率损失。
进一步可选地,若步骤S2中对数据包执行循环操作,待数据包回到本交换机的入端口后,则更新入端口队列长度并判断入端口队列长度是否超过所述PFC警告阈值,若超过,则生成PFC警告信息并发送至本交换机的相关上游交换机;以及再次按照步骤S1以及步骤S2执行转发或循环或重路由;
若步骤S2中对数据包执行重路由操作,则判断在本交换机上所述数据包的更新路径上是否存在PFC警告信息,若不存在,基于负载均衡机制转发所述数据包至所述预选路径上;若存在,根据更新路径与其他路径的路径延时差执行循环操作或重路由。
本发明技术方案通过整个机制是能够实现数据包的迭代循环操作,最终得到最佳的转发路径,延时代价最小,更能有效降低PFC机制触发带来的乱序发生几率。若是数据包在本交换机上循环,则还能重新获得转发路径的选择机会;若是数据包重路由,同样也遵循本发明设定的PFC警告机制,最终转发到次优且无PFC警告的路径上。
进一步可选地,所述预选路径是基于所述负载均衡机制确定的最优路径,步骤S2中根据所述预选路径与其他路径的路径延时差执行循环操作或重路由的过程如下:
判断所述预选路径的路径延时是否小于次优路径的路径延时,且所述预选路径延时与次优路径的延时差是否大于或等于预设的路径延时阈值;
若是,对所述数据包执行循环操作;
否则,所述次优路径为所述数据包当前对应的最优路径,并将其作为更新的预选路径,并返回到是否收到所述数据包对应预选路径的PFC警告信息的步骤。
应当理解,如果现有负载均衡方案选择的预选路径的路径延时比其他并行路径的路径延时小很多,则利用现有负载均衡方案对当前数据包进行循环操作。其中,所述数据包经过循环后,即使它在交换机上花费的时间增加,但也比直接重路由到其他路径所经历的延时小,同时可以获得重新选择转发路径的机会。如果此时交换机不再收到PFC警告信息,则可以继续选择预选路径;如果此时交换机仍然收到PFC警告信息,则再继续根据路径延时决定是否循环操作,进而最终决定选择最合适的转发路径,降低乱序数据包的发生概率。另一方面,如果现有负载均衡方案选择的预选路径的延时比其他并行路径的延时大很多,则现有负载均衡方案直接将当前数据包重路由到次优且无PFC警告的路径上,避免乱序数据包。
因此,本发明的技术方案中当负载均衡机制选择的初始最优路径有PFC警告时,如果初始最优路径的延时小于其他并行路径延时,且路径延时差超过一定阈值,则利用数据包的循环操作避免乱序数据包;当负载均衡机制选择的初始最优路径有PFC警告时,如果初始最优路径的延时大于其他并行路径,利用重路由操作避免乱序数据包。
进一步可选地,所述路径延时阈值等于测量得到的数据包循环操作延时,即数据包在本交换机上当前循环等待的时间。
进一步可选地,其中,每条路径的路径延时和PFC警告阈值周期性更新或按照更新时间差小于或等于设定的路径延时和PFC警告阈值更新的周期阈值执行更新。
在实际实现过程中,在本交换机收到数据包后,都可以判断一下当前时刻与前一个更新起始时刻是否相差超过路径延时以及PFC警告阈值更新的周期阈值,若是大于或等于,则先更新每条路径的路径延时以及PFC警告阈值,再执行后续的判断队列长度与PFC警告阈值的大小关系以及比较路径延时的差距。
第二方面,本发明提供一种基于所述基于循环或重路由的数据传输方法的系统,包括:
监听模块,用于监听是否有数据包达到并判断是否收到所述数据包对应的预选路径的PFC警告信息;
PFC警告信息生成模块,用于当交换机的入端口队列长度大于或等于预设的PFC警告阈值,则生成PFC警告信息;
交互模块,用于将所述PFC警告信息发送至相关的上游交换机;
负载均衡模块,用于基于负载均衡机制选择转发路径以及用于转发所述数据包至对应路径上;
循环操作/重路由模块,用于根据所述预选路径与其他路径的路径延时差执行循环操作或重路由。
第三方面,本发明提供一种基于所述基于循环或重路由的数据传输方法的系统,其包括发送端、若干交换机以及接收端;
其中,发送端、交换机、接收端依次通讯,交换机之间相互连接,每个交换机根据步骤S1-S2的方式进行数据包传输。
第四方面,本发明提供一种电子终端,其包括:
一个或多个处理器;
以及存储了一个或多个计算机程序的存储器;
其中,所述处理器调用所述计算机程序以实现:
一种数据中心网中基于循环或重路由的数据传输方法的步骤。
第五方面,本发明提供一种可读存储介质,其存储了计算机程序,所述计算机程序被处理器调用以实现:
一种数据中心网中基于循环或重路由的数据传输方法的步骤。
有益效果
1.本发明提供的一种数据中心网中基于循环或重路由的数据传输方法致力于解决现有数据中心有损网络中的负载均衡机制工作在部署了PFC机制的数据中心无损网络中会出现严重数据包乱序的问题。本发明所述技术方案根据交换机的入端口队列长度与PFC警告阈值的关系来预测PFC触发,提前发送PFC警告信息至上游交换机,促使上游交换机接收到新数据包后,若新数据包对应的路径存在PFC警告,则通过循环机制或重路机制由来降低PFC触发对数据包顺序的影响,有效保证了数据包传输的有序性,从而极大避免了因数据包造成的吞吐率严重下降、流完成时间限制增加的情况发生。且本发明并不是通过降低或消除PFC触发来接近数据包乱序问题,而是在已有的PFC机制上增加了一个可以有效防止数据包乱序的技术方案,且该技术方案可以应用于在部署了PFC的无损网络的各类负载均衡机制中。
2.本发明所述技术方案,针对存在PFC警告信息的路径上的数据包,是利用路径延时来选择循环或重路由,而不是盲目更换路径。即根据当前路径与其他路径的路径延时差来决定是继续在当前交换机上循环等待一定时间还是重路由,充分考虑到了即使遇到拥塞,激进地更换路径不一定比在当前交换机上循环等待一定时间更有益,等待一定时间比更换路径也许更能够避免数据包乱序,从而更为有效以及准确地降低了数据包乱序概率。
3.本发明进一步提供的PFC警告阈值的计算式,本发明技术方案设定的PFC警告阈值是根据本发明技术方案的需求而设置的,其既保证了PFC警告信息到达上游交换机之前,当前交换机不会触发PFC;又保证了当前交换机的出端口队列不会空,而造成吞吐率损失。
附图说明
图1是本发明实施例1的所述数据传输方法的流程示意图;
图2是本发明实验实例的测试场景拓扑图,其中,S1、S2分别表示两个叶交换机,H表示发送端主机,R表示接收端主机,f表示数据流;
图3是web search工作负载在对称拓扑下的流完成时间累积分布示意图,其中,图(a)为Presto与Presto+RLB的流完成时间累积分布示意图,图(b)为LetFlow与LetFlow+RLB的流完成时间累积分布示意图,图(c)为Hermes与Hermes+RLB的流完成时间累积分布示意图,图(d)为DRILL与DRILL+RLB的流完成时间累积分布示意图;
图4是四种工作负载在非对称拓扑中随网络负载变化的平均流完成时间的示意图,其中,图(a)为web server场景下的平均流完成时间示意图,图(b)为cache follower场景下的平均流完成时间示意图,图(c)为web search场景下的平均流完成时间示意图,图(d)为data mining场景下的平均流完成时间示意图;
图5为随incast程度和响应大小变化时的乱序数据包比例和incast完成时间示意图,其中,图(a)为不同incast程度下的乱序数据包比例示意图,图(b)为不同响应大小下的乱序数据包比例示意图,图(c)为不同incast程度下的incast完成时间示意图,图(d)为不同响应大小下的incast完成时间示意图。
具体实施方式
本发明提供的一种数据中心网中基于循环或重路由的数据传输方法的目的在于解决在部署了PFC机制的数据中心无损网络中,现有负载均衡机制因PFC机制而导致出现严重数据包乱序问题。是从数据包传输中延时与数据包有序的相关性以及PFC触发机制的特点而提出了一种全新的技术思路,用以解决乱序问题。其中,本发明首先计算PFC警告阈值,PFC警告阈值是小于PFC触发阈值的,用于提前警告存在PFC触发风险。一旦交换机的入端口队列长度大于或等于PFC警告阈值,则生成PFC警告消息并发送到相关上游交换机。进而若上游交换机未收到当前数据包所在路径的PFC警告消息,则现有负载均衡方案直接转发当前数据包到其所选的最优路径上,此时无乱序数据包。如果交换机收到PFC警告消息,则根据所选的初始最优路径(预选路径)的路径延时与其他路径的延时差再决定如何选择转发路径。具体地,一方面,如果现有负载均衡方案选择的初始最优路径的延时比其他并行路径的延时小很多,则现有负载均衡方案对当前数据包进行循环操作,即当前数据包从专门的循环出端口转发到本交换机的入端口。该数据包经过循环后,即使它在交换机上花费的时间增加,但比直接重路由到其他路径所经历的延时小,更能满足低延时需求以及更能降低乱序概率,同时还可以获得重新选择转发路径的机会。如果此时交换机不再收到PFC警告信息,则可以继续选择初始最优路径。如果此时交换机仍然收到该路径对应的PFC警告信息,则再继续根据路径延时决定是否循环操作,最终决定选择最合适的转发路径,从而降低发生乱序数据包的概率。另一方面,如果现有负载均衡方案选择的初始最优路径的延时比其他并行路径的延时大很多,则现有负载均衡方案直接将当前数据包重路由到次优且无PFC警告的路径上,避免乱序数据包。
按照上述技术思路,本发明提供的数据传输方法可以有效降低数据包乱序概率,下面将结合实施例对本发明做进一步的说明。
实施例1:
如图1所示,本实施例提供一种数据中心网中基于循环或重路由的数据传输方法,其包括以下步骤:
步骤一、初始化:RTT设置为50μs;链路带宽C设置为交换机出端口的带宽值;将源端边缘交换机到目的端边缘交换机的链路基础延时d设置为10μs;路径延时和PFC警告阈值更新周期Tth设置为100μs;路径延时阈值trc设置为50μs;PFC触发阈值QPFC设置为256KB;PFC警告阈值Qth、路径延时和PFC警告阈值更新周期Tth的起始时间t、流数量n都设置为0。
步骤二、交换机监听是否有新数据包到达,若有新数据包到达,转步骤三;否则,继续监听是否有新数据包到达;
步骤三、判断当前时间与路径延时和PFC警告阈值更新的周期阈值Tth的起始时间t的差值是否大于或等于路径延时和PFC警告阈值更新的周期阈值Tth;若是,执行步骤四;否则,执行步骤五。
步骤四、根据每条路径收到的数据确认包ACK更新每条路径的往返延时以及更新PFC警告阈值,其中,将路径延时和PFC警告阈值更新周期Tth的起始时间t重置为当前时间。
应当理解,步骤三以及步骤四的目的在于保证当前数据包的路径延时以及PFC警告阈值是最新的,即本实施例中,交换机监听到新数据包至执行步骤八之前的任一个时刻,判断当前时间与路径延时和PFC警告阈值更新周期的起始时间t的差值是否大于或等于路径延时和PFC警告阈值更新的周期阈值Tth。其他可行的实施例中,可以直接设置为每条路径的往返延时和PFC警告阈值是以路径延时和PFC警告阈值更新周期Tth为标准进行周期性更新。本实施例中,PFC警告阈值的取值范围按照如下公式设置:
Qth=[d*C,max[d*C,QPFC-d*C*(n-1)]]
其中,Qth为PFC警告阈值,d是源端边缘交换机到目的端边缘交换机的链路基础延时,C是交换机出端口的带宽值,QPFC是PFC触发阈值,n是交换机当前的活跃流数量。
步骤五、负载均衡机制选择最优转发路径(预选路径),并记录最优路径和次优路径的路径延时,转步骤六。
步骤六、判断入端口队列长度是否大于或等于PFC警告阈值Qth,如果是,则发送PFC警告信息到相关上游交换机,转步骤八;否则转步骤七。
其他可行的实施例中,步骤六与下述步骤七的执行顺序并无特殊要求,两者可以同步进行,即根据交换机的入端口队列长度生成PFC警告信息并发送至上游交换机;同步,针对数据包所在路径判断当前交换机是否有接受到其下游交换机发送的PFC警告信息。
步骤七、判断当前交换机是否收到关于最优路径的PFC警告信息,如果收到了PFC警告信息,则转步骤八;否则,转发当前数据包到该最优路径,转步骤二;
步骤八、判断该最优路径的路径延时是否小于次优路径延时,且最优路径的路径延时与次优路径的路径延时之差是否大于或等于路径延时阈值trc,如果是,则将当前数据包从循环出端口转发到本地交换机源入端口,转步骤六;否则,将次优路径设置为当前最优转发路径,转步骤七;
其中,最优路径的路径延时与次优路径的路径延时之差与路径延时阈值比较时,是比较差值的绝对值与路径延时阈值的大小。本实施例中,路径延时阈值的等于测量的数据包循环操作延时。循环操作实质是数据包从当前交换机的循环出端口发到当前交换机的入端口,相当于数据包会在当前交换机上停留一定的时间,而不会转发到其他下游交换机。当循环操作回到交换机入端口后,再次判断出端口是否满足转发条件,如果不满足就继续循环或重路由,满足的话就直接转发到目的出端口。而将次优路径设置为当前最优转发路径是重路由操作,即更换了转发路径,避开了前一个路径的拥塞的。
应当理解,本发明技术方案所指数据包,可以认为是包含长短流的所有流的数据包,即对所有流的数据包按照本发明所述技术方案进行统一处理;所指数据包也可以认为是短流的数据包,因为短流对延时敏感,而长流对吞吐率敏感,对乱序的容忍度大一些。因此,仅针对短流的数据包执行本发明所述技术方案时,也视为落入本发明的保护范围。
综上所述,本发明的技术方案通过引入PFC警告来预告PFC机制的触发,再基于PFC警告信息、路径延时提供三种转发途经来降低数据包乱序概率,对应三种转发途经分别是:直接转发到目的出端口、循环停留在本交换机上以及更换路径。通过上述技术手段,本发明所述技术方案有效降低了数据包乱序概率,下文将对其效果进行了试验论证。
实施例2:
本实施例提供一种基于上述基于循环或重路由的数据传输方法的系统,其包括相互连接的监听模块、PFC警告信息生成模块、交互模块、负载均衡模块、以及循环操作/重路由模块、更新模块。
其中,监听模块用于监听是否有数据包达到并判断是否收到所述数据包对应预选路径的PFC警告信息。PFC警告信息生成模块用于当交换机的入端口队列长度大于或等于预设的PFC警告阈值,则生成PFC警告信息。交互模块用于将所述PFC警告信息发送至相关的上游交换机。负载均衡模块用于基于负载均衡机制选择转发路径以及用于转发所述数据包至对应路径上。循环操作/重路由模块用于根据所述预选路径与其他路径的路径延时差执行循环操作或重路由。其中,若所述预选路径的路径延时小于其他路径的路径延时且差距满足预设阈值,执行循环操作,否则执行重路由。此外,更新模块用于更新每条路径的延时以及PFC警告阈值。
此外,若循环操作/重路由模块对数据包执行循环操作,待数据包回到本交换机的入端口后,则PFC警告信息生成模块还用于更新入端口队列长度并判断入端口队列长度是否超过所述PFC警告阈值,若超过,则生成PFC警告信息并发送至本交换机的相关上游交换机;以及对应各个模块再次按照步骤S1以及步骤S2执行转发或循环或重路由。
若循环操作/重路由模块对数据包执行重路由操作,则监听模块判断在本交换机上所述数据包的更新路径上是否存在PFC警告信息,若不存在,负载均衡模块转发所述数据包至所述预选路径上;若存在,循环操作/重路由模块根据更新路径与其他路径的路径延时差执行循环操作或重路由。
应当理解,各个模块的实现过程可以参照前述方法的内容陈述,譬如PFC警告阈值的设定;再譬如循环操作/重路由模块的实现过程。
还应当理解,上述功能模块的划分仅仅是一种逻辑功能的划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。同时,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
此外,从数据中心网络的组成来看,本发明所述数据传输方法应用的系统应当是包括发送端、若干交换机、接收端。其中,数据流的数据包由发送端发出,经过交换机的传输输送至接收端。其中,每个交换机采用本发明上述提供的一种数据中心网中基于循环或重路由的数据传输方法。
实施例3:
本实施例提供一种电子终端,其包括:一个或多个处理器以及存储了一个或多个计算机程序的存储器,其中,处理器调用所述计算机程序以实现:一种数据中心网中基于循环或重路由的数据传输方法的步骤。
譬如处理器调用所述计算机程序以实现实施例1中提供的一种数据中心网中基于循环或重路由的数据传输方法的步骤。
各个步骤的具体实现过程请参照前述方法的阐述。
其中,存储器可能包含高速RAM存储器,也可能还包括非易失性除颤器,例如至少一个磁盘存储器。
如果存储器、处理器独立实现,则存储器、处理器和通信接口可以通过总线相互连接并完成相互间的通信。所述总线可以是工业标准体系结构总线,外部设备互联总线或扩展工业标准体系结构总线等。所述总线可以分为地址总线、数据总线、控制总线等。
可选的,在具体实现上,如果存储器、处理器集成在一块芯片上,则存储器、处理器可以通过内部接口完成相互之间的通信。
应当理解,在本发明实施例中,所称处理器可以是中央处理单元(CentralProcessing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器的一部分还可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型的信息。
实施例4:
本实施例提供一种可读存储介质,其存储了计算机程序,所述计算机程序被处理器调用以实现:一种数据中心网中基于循环或重路由的数据传输方法的步骤。
譬如所述计算机程序被调用以实现实施例1中提供的一种数据中心网中基于循环或重路由的数据传输方法的步骤。
各个步骤的具体实现过程请参照前述方法的阐述。
所述可读存储介质为计算机可读存储介质,其可以是前述任一实施例所述的控制器的内部存储单元,例如控制器的硬盘或内存。所述可读存储介质也可以是所述控制器的外部存储设备,例如所述控制器上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述可读存储介质还可以既包括所述控制器的内部存储单元也包括外部存储设备。所述可读存储介质用于存储所述计算机程序以及所述控制器所需的其他程序和数据。所述可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的可读存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
实验实例
本发明利用NS-3网络仿真平台来实现,并进行了性能测试。
实验设置如下:采用叶-脊网络拓扑结构,其中,两个叶交换机之间提供12条等价路径,每个叶交换机与24个主机和12个脊交换机相连。图2为测试场景拓扑图。每条链路的网络传播延时为5微秒,链路带宽为40Gbps。交换机开启了PFC功能,共享缓存的大小为9MB。实验中使用DCQCN作为默认传输协议。实验生成四种典型的工作负载,即web server、cachefollower、web search、datamining,平均流大小在64KB到7.41KB之间,流的发送时间服从泊松分布。本发明分别与现有4种负载均衡机制(Presto、LetFlow、Hermes、DRILL)集成进行测试,测试结果分别于单独的负载均衡机制性能进行了比较。
图3为web search工作负载在对称拓扑下的流完成时间累积分布示意图,其中,图(a)为Presto与Presto+RLB的流完成时间累积分布示意图,图(b)为LetFlow与LetFlow+RLB的流完成时间累积分布示意图,图(c)为Hermes与Hermes+RLB的流完成时间累积分布示意图,图(d)为DRILL与DRILL+RLB的流完成时间累积分布示意图。本发明命名为RLB。该实验中的平均网络负载为60%。从图中结果可以看出,与四种单独的负载平衡方案相比,RLB显著降低了流完成时间以及拖尾流的完成时间。这是因为四种负载均衡方案都受益于RLB,它们根据预测的PFC触发警告信息通过数据包循环或及时重路由有效减少了乱序数据包。
图4为四种工作负载在非对称拓扑中随网络负载变化的平均流完成时间的示意图,其中,图(a)为web server场景下的平均流完成时间示意图,图(b)为cache follower场景下的平均流完成时间示意图,图(c)为web search场景下的平均流完成时间示意图,图(d)为data mining场景下的平均流完成时间示意图。本发明命名为RLB。从图中可以看出,当负载在网络容量的20%到70%之间变化时,DRILL和Hermes始终受益于RLB。与websearch和data mining相比,RLB在web server和cache follower工作负载下的性能更好。这是因为这web server和cache follower工作负载包含更多端到端传输控制协议无法及时控制的小流,PFC触发概率更大,RLB有更多机会可用帮助负载均衡机制避免乱序数据包。同时,随着负载增加,由于可用的重路由路径减少,RLB的改进空间略有减少。此外,在非对称网络中,RLB对现有负载均衡机制的性能改进大于对称网络中的性能改进。
图5为随incast程度和响应大小变化时的乱序数据包比例和incast完成时间示意图,其中,图(a)为不同incast程度下的乱序数据包比例示意图,图(b)为不同响应大小下的乱序数据包比例示意图,图(c)为不同incast程度下的incast完成时间示意图,图(d)为不同响应大小下的incast完成时间示意图。本发明命名为RLB。从图中可以看出,RLB在incast场景下也可以显著降低乱序数据包比例,从而使流完成更快。由于RLB帮助负载均衡方案避免了由于乱序数据包引起的虚假重传,极大减少了流的拖尾时间。
需要强调的是,本发明所述的实例是说明性的,而不是限定性的,因此本发明不限于具体实施方式中所述的实例,凡是由本领域技术人员根据本发明的技术方案得出的其他实施方式,不脱离本发明宗旨和范围的,不论是修改还是替换,同样属于本发明的保护范围。
Claims (8)
1.一种数据中心网中基于循环或重路由的数据传输方法,其特征在于:包括以下步骤:
步骤S1:交换机监听到数据包到达后,判断是否收到所述数据包对应预选路径的PFC警告信息;若收到了所述预选路径的PFC警告信息,执行步骤S2;否则,基于负载均衡机制转发所述数据包至所述预选路径上;
其中,若交换机的入端口队列长度大于或等于PFC警告阈值,则生成PFC警告信息并发送至相关的上游交换机;
步骤S2:根据所述预选路径与其他路径的路径延时差执行循环操作或重路由;
若所述预选路径的路径延时小于其他路径的路径延时且差值满足预设阈值,执行循环操作,否则执行重路由;其中,循环操作是将所述数据包从出端口转发到本交换机的入端口;
设置的所述PFC警告阈值需同时满足如下要求:
第一,上游交换机收到PFC警告信息之前,发送PFC警告信息的交换机上不会触发PFC,即存在:PFC警告阈值<(PFC触发阈值-PFC警告信息传输到上游交换机的传输时间内入端口队列增长量+所述传输时间内所述入端口往外排出的数据包量);
第二,所述传输时间内,发送PFC警告信息的交换机的对应入端口队列不出现空队列,即存在:(PFC警告阈值-所述入端口在所述传输时间内往外排出的数据量+所述入端口在所述传输时间内接收的数据包量)>=0;
或所述PFC警告阈值的取值范围按照如下公式计算得到:
Qth=[d*C,max[d*C,QPFC-d*C*(n-1)]]
其中,Qth为PFC警告阈值,d是源端边缘交换机到目的端边缘交换机的链路基础延时,C是交换机出端口的带宽值,QPFC是PFC触发阈值,n是交换机当前的活跃流数量。
2.根据权利要求1所述的数据传输方法,其特征在于:若步骤S2中对数据包执行循环操作,待数据包回到本交换机的入端口后,则更新入端口队列长度并判断入端口队列长度是否超过所述PFC警告阈值,若超过,则生成PFC警告信息并发送至本交换机的相关上游交换机;以及再次按照步骤S1以及步骤S2执行转发或循环或重路由;
若步骤S2中对数据包执行重路由操作,则判断在本交换机上所述数据包的更新路径上是否存在PFC警告信息,若不存在,基于负载均衡机制转发所述数据包至更新的预选路径上,所述更新的预选路径为更新路径;若存在,根据更新路径与其他路径的路径延时差执行循环操作或重路由;
其中,每条路径的路径延时和PFC警告阈值周期性更新或按照更新时间差小于或等于设定的路径延时和PFC警告阈值更新的周期阈值执行更新。
3.根据权利要求1所述的数据传输方法,其特征在于:所述预选路径是基于所述负载均衡机制确定的最优路径,步骤S2中根据所述预选路径与其他路径的路径延时差执行循环操作或重路由的过程如下:
判断所述预选路径的路径延时是否小于次优路径的路径延时,且所述预选路径延时与次优路径的延时差是否大于或等于预设的路径延时阈值;
若是,对所述数据包执行循环操作;
否则,所述次优路径为所述数据包当前对应的最优路径,并将其作为更新的预选路径,并返回到是否收到所述数据包对应预选路径的PFC警告信息的步骤。
4.根据权利要求3所述的数据传输方法,其特征在于:所述预设的路径延时阈值等于测量得到的数据包循环操作延时。
5.一种基于权利要求1-4任一项所述数据传输方法的系统,其特征在于:包括:
监听模块,用于监听是否有数据包达到并判断是否收到所述数据包对应预选路径的PFC警告信息;
PFC警告信息生成模块,用于当交换机的入端口队列长度大于或等于预设的PFC警告阈值,则生成PFC警告信息;
交互模块,用于将所述PFC警告信息发送至相关的上游交换机;
负载均衡模块,用于基于负载均衡机制选择转发路径以及用于转发所述数据包至对应预选路径上;
循环操作/重路由模块,用于根据所述预选路径与其他路径的延时差执行循环操作或重路由。
6.一种基于权利要求1-4任一项所述数据传输方法的系统,其特征在于:所述系统包括发送端、若干交换机以及接收端;
其中,发送端、交换机、接收端依次通讯,交换机之间相互连接,每个交换机根据步骤S1-S2的方式进行数据包传输。
7.一种电子终端,其特征在于:包括:
一个或多个处理器;
以及存储了一个或多个计算机程序的存储器;
其中,所述处理器调用所述计算机程序以实现:
权利要求1-4任一项所述数据传输方法的步骤。
8.一种可读存储介质,其特征在于:存储了计算机程序,所述计算机程序被处理器调用以实现:
权利要求1-4任一项所述数据传输方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210658071.5A CN115022227B (zh) | 2022-06-12 | 2022-06-12 | 数据中心网中基于循环或重路由的数据传输方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210658071.5A CN115022227B (zh) | 2022-06-12 | 2022-06-12 | 数据中心网中基于循环或重路由的数据传输方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115022227A CN115022227A (zh) | 2022-09-06 |
CN115022227B true CN115022227B (zh) | 2023-07-21 |
Family
ID=83074768
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210658071.5A Active CN115022227B (zh) | 2022-06-12 | 2022-06-12 | 数据中心网中基于循环或重路由的数据传输方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115022227B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104639362A (zh) * | 2013-11-15 | 2015-05-20 | 中兴通讯股份有限公司 | Oam性能监控方法及装置 |
CN106209621A (zh) * | 2016-06-17 | 2016-12-07 | 中国人民解放军空军工程大学 | 服务质量约束的链路故障恢复方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110109283A1 (en) * | 2008-06-06 | 2011-05-12 | Infineon Technologies Austria Ag | System and method for controlling a converter |
GB2467424A (en) * | 2009-01-28 | 2010-08-04 | Ibm | Managing overload in an Ethernet network by re-routing data flows |
CN103200125B (zh) * | 2013-03-28 | 2015-10-21 | 广东电网公司电力调度控制中心 | 电力数据网节点拥塞规避方法和系统 |
CN107070794B (zh) * | 2016-12-08 | 2020-04-10 | 航天东方红卫星有限公司 | 一种低轨信息网络最优网络效益时延约束路由方法 |
CN107948103B (zh) * | 2017-11-29 | 2020-06-30 | 南京大学 | 一种基于预测的交换机pfc控制方法及控制系统 |
US10454839B1 (en) * | 2018-05-15 | 2019-10-22 | Cisco Technology, Inc. | Deadlock avoidance in leaf-spine networks |
US11451455B2 (en) * | 2019-08-14 | 2022-09-20 | Intel Corporation | Technologies for latency based service level agreement management in remote direct memory access networks |
CN113810309A (zh) * | 2020-06-16 | 2021-12-17 | 中兴通讯股份有限公司 | 拥塞处理方法、网络设备及存储介质 |
-
2022
- 2022-06-12 CN CN202210658071.5A patent/CN115022227B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104639362A (zh) * | 2013-11-15 | 2015-05-20 | 中兴通讯股份有限公司 | Oam性能监控方法及装置 |
CN106209621A (zh) * | 2016-06-17 | 2016-12-07 | 中国人民解放军空军工程大学 | 服务质量约束的链路故障恢复方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115022227A (zh) | 2022-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200280518A1 (en) | Congestion management techniques | |
Handley et al. | Re-architecting datacenter networks and stacks for low latency and high performance | |
US9325637B2 (en) | System for performing distributed data cut-through | |
JP4260631B2 (ja) | ネットワーク輻輳制御の方法および装置 | |
Jiang et al. | Network congestion avoidance through speculative reservation | |
US20060203730A1 (en) | Method and system for reducing end station latency in response to network congestion | |
US20130258853A1 (en) | Systems and methods for selectively performing explicit congestion notification | |
US10873882B2 (en) | System and method of a pause watchdog | |
CN107948103B (zh) | 一种基于预测的交换机pfc控制方法及控制系统 | |
US20210297350A1 (en) | Reliable fabric control protocol extensions for data center networks with unsolicited packet spraying over multiple alternate data paths | |
US9025456B2 (en) | Speculative reservation for routing networks | |
US11870698B2 (en) | Congestion control method and apparatus, communications network, and computer storage medium | |
CN115152193A (zh) | 针对ip路由数据中心网络使用自适应路由和基于拥塞提示的节流改进端到端拥塞反应 | |
US6771652B1 (en) | Method and system for controlling transmission of packets in computer networks | |
US20210297351A1 (en) | Fabric control protocol with congestion control for data center networks | |
US20190253364A1 (en) | Method For Determining TCP Congestion Window, And Apparatus | |
CN111800351A (zh) | 由交换机进行的拥塞通知分组生成 | |
US10728156B2 (en) | Scalable, low latency, deep buffered switch architecture | |
Shukla et al. | TCP PLATO: Packet labelling to alleviate time-out | |
CN115134308B (zh) | 数据中心无损网络中通过数据包弹跳避免队头阻塞的方法 | |
JP2008166888A (ja) | スイッチにおける優先度帯域制御方法 | |
US6724776B1 (en) | Method and system for providing optimal discard fraction | |
CN111224888A (zh) | 发送报文的方法及报文转发设备 | |
CN113746743A (zh) | 一种数据报文传输方法及装置 | |
US10608948B1 (en) | Enhanced congestion avoidance in network devices |
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 |