CN107948103A - 一种基于预测的交换机pfc控制方法及控制系统 - Google Patents
一种基于预测的交换机pfc控制方法及控制系统 Download PDFInfo
- Publication number
- CN107948103A CN107948103A CN201711224754.5A CN201711224754A CN107948103A CN 107948103 A CN107948103 A CN 107948103A CN 201711224754 A CN201711224754 A CN 201711224754A CN 107948103 A CN107948103 A CN 107948103A
- Authority
- CN
- China
- Prior art keywords
- mrow
- pfc
- priority
- interchanger
- port
- 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
- 238000000034 method Methods 0.000 title claims abstract description 33
- 239000000872 buffer Substances 0.000 claims description 27
- 238000012544 monitoring process Methods 0.000 claims description 16
- 230000005540 biological transmission Effects 0.000 claims description 12
- 230000008859 change Effects 0.000 claims description 7
- 230000007246 mechanism Effects 0.000 description 6
- 238000011144 upstream manufacturing Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 239000000470 constituent Substances 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000002730 additional effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- 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
- H04L49/3027—Output queuing
-
- 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/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2425—Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
- H04L47/2433—Allocation of priorities to traffic types
-
- 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/26—Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
-
- 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/29—Flow control; Congestion control using a combination of thresholds
-
- 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/30—Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/50—Overload detection or protection within a single switching element
- H04L49/501—Overload detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
Abstract
本发明提供了一种基于预测的交换机PFC控制方法及控制系统。所述基于预测的交换机PFC控制方法包括如下步骤:监测交换机端口的出队列,判断出队列的长度是否超过阈值,如果出队列的长度超过阈值,预测交换机需要发送PFC暂停报文;如果预测交换机需要发送PFC暂停报文,预测需要向哪些端口发送PFC暂停报文,输出应发送PFC暂停报文的“入口端号+优先级”集合,记作集合S;在所述集合S中,分别对每个“入口端号+优先级”计算PFC暂停时间;根据PFC暂停时间构建并输出“入口端号+优先级+暂停时间”集合,记作集合T,交换机遍历所述集合T,将每一“入口端号+优先级+暂停时间”中的优先级和暂停时间填入到PFC暂停报文中,并通过端口发送出去。
Description
技术领域
本发明属于涉及一种基于预测的交换机PFC控制方法及控制系统。
背景技术
远程直接内存访问(RDMA,Remote Direct Memory Access)是一个相对比较成熟的技术,在高性能计算领域已经广泛应用。由于RDMA低时延,高带宽和低CPU占用率的特性,近些年数据中心也开始采用RDMA技术加速业务的网络传输速度。高性能计算领域中广泛应用的RDMA技术方案是InfiniBand,目前数据中心中流行的方案是RoCEv2(RDMA OverConverged Ethernet v2),其将InfiniBand的网络层和链路层协议替换为以太网对应的协议,InfiniBand的传输层和RDMA应用API保持不变,旧有的RDMA代码可以方便地移植到RoCEv2环境中。
与传统的TCP/IP网络不同,RDMA技术要求网络是无损的,即网络传输中不允许出现因交换机缓冲溢出而丢包。以太网协议中,目前使用基于优先级的流控(PFC,Priority-based Flow Control)协议保证网络是无损的。PFC是一个逐跳起作用的二层网络协议,交换机会检测每个端口每个优先级的入队列长度,在长度超过设定的阈值Xoff后,交换机会通过该端口向上游端口发送PFC暂停报文,上游端口收到该报文后立刻停止发送该优先级的数据;当入队列长度低于设定的阈值Xon后,交换机可以向上游端口发送PFC恢复报文,上游端口收到恢复报文后,立刻恢复数据发送。PFC是暂停端口中某个优先级的数据发送,而不是端口的数据发送。
但是,PFC的引入会导致以下问题:由于PFC的流控粒度是针对优先级的,这是一个比较粗的控制粒度(交换机每个端口只支持8个优先级),PFC会导致流的不公平和队头阻塞(Head-of-line blocking)等问题。为解决此问题,目前主流的方法是采用DCQCN(DataCenter QCN)拥塞控制机制。DCQCN采用RED-ECN(Random Early Detection-ExplicitCongestion Notification)作为拥塞信号产生方式,即交换机出队列长度在超过阈值后,交换机根据队列长度按照一定的概率对报文打上ECN拥塞标志,队列长度越长,打标的概率越大。接收方在收到带有ECN标记的报文后,会产生信令报文CNP(CongestionNotification Packet)通知数据发送方降速。发送方如果在一段时间内没有继续收到CNP报文,则开始主动恢复发送速度。
DCQCN作为端到端拥塞控制机制,从拥塞信号产生,到接收端相应拥塞信号,再到源端收到CNP报文降速,要经历一个往返时延(RTT,Round Trip Time),在某些场景下,DCQCN的收敛速度会比较慢,尤其是incast情形(多台主机同时向一台主机发送数据)。收敛速度变慢会影响交换机端口的出队列拥塞程度增加,从而导致流经该出端口的报文时延变长。在时延敏感的应用中,这样的情况是几乎不能忍受的。
发明内容
本发明的目的在于针对现有技术的缺陷,提供一种基于预测的交换机PFC控制方法及控制系统,通过实时监控气象文件数据源,自动形成解析任务,通过适配器调用分布式解析组件,从而达到文件高时效、高质量入库功能,进而高效准确的进行风能资源的评估。
本发明的技术方案如下:一种基于预测的交换机PFC控制方法包括如下步骤:一、监测交换机每个端口的每个出队列,判断出队列的长度是否超过阈值,二、如果所述出队列的长度超过阈值,则预测交换机是否需要发送PFC暂停报文;三、如果预测到交换机需要发送PFC暂停报文,则预测需要向哪些端口发送PFC暂停报文,并根据端口号和报文的优先级信息输出应发送PFC暂停报文的“入口端号+优先级”集合,记作集合S;四、在所述集合S中,分别对对集合S内每个“入口端号+优先级”元素计算PFC暂停时间;五、根据计算得到的PFC暂停时间构建并输出“入口端号+优先级+暂停时间”集合,记作集合T,交换机遍历所述集合T,将集合T内每一“入口端号+优先级+暂停时间”元素中的优先级和暂停时间填入到PFC暂停报文中,并通过对应的端口发送出去。
优选地,在步骤二中,如果所述出队列的长度超过阈值,则,统计交换机所有端口所有入队列的速度总和Incrementtotal,通过公式预测交换机缓冲空间的耗尽时间是否小于设定阈值,如果交换机缓冲空间的耗尽时间小于设定阈值,则预测交换机需要发送PFC暂停报文;反之,则预测交换机不需要发送PFC暂停报文。
优选地,具体包括如下步骤:将出队列中的报文按照“入口端号+优先级”的来源方式统计;随机选择出队列中的报文,找到该报文所属的入口端号和优先级,如果入口端号对应的优先级队列的实时接收的增长速率大于设定阈值,则将该所述入口端号加入到待暂停集合中,输出应发送PFC暂停报文的“入口端号+优先级”集合,记作集合S。
优选地,在步骤四中,遍历集合S,分别对每一个“入口端号+优先级”按照公式:
计算得到暂停时间time[port][priority]。
优选地,交换机每个端口的每个优先级均设置速率计数器,用于实时显示当前优先级的入队列长度变化速率。
一种基于预测的交换机PFC控制系统包括:拥塞监测模块,监测交换机每个端口的每个出队列,判断出队列的长度是否超过阈值,PFC暂停报文预测模块,用于在接收到实时拥塞监测模块传递的拥塞信号后,预测交换机是否需要发送PFC暂停报文;端口选择模块,用于在接收到实时PFC暂停报文预测模块的预测结果后,预测需要向哪些端口发送PFC暂停报文,并输出应发送PFC暂停报文的“入口端号+优先级”集合,并记作集合S;PFC暂停时间计算模块,用于分别对所述集合S中每个“入口端号+优先级”计算PFC最优暂停时间,PFC暂停报文发送模块,用于将所述PFC暂停时间计算模块得到的最优暂停时间添加到集合S中输出“入口端号+优先级+暂停时间”集合,并记作集合T,交换机遍历所述集合T,将每一“入口端号+优先级+暂停时间”中的优先级和暂停时间填入到PFC暂停报文中,并通过对应的端口发送出去。
优选地,如果所述出队列的长度超过阈值,则,所述PFC暂停报文预测模块统计交换机所有端口所有入队列的速度总和Incrementtotal,并通过公式
预测交换机缓冲空间的耗尽时间是否小于设定阈值,如果交换机缓冲空间的耗尽时间小于设定阈值,则预测交换机需要发送PFC暂停报文;反之,则预测交换机不需要发送PFC暂停报文,其中,switch_spaceleft为交换机剩余缓冲空间,Incrementtotal代表交换机缓冲空间的消耗速度。
优选地,所述端口选择模块将出队列中的报文按照“入口端号+优先级”的来源方式统计,并随机选择出队列中的报文,找到该报文所属的入口端号和优先级,如果入口端号对应的优先级队列的实时接收的增长速率大于设定阈值,则将该所述入口端号加入到待暂停集合中,输出基于“入口端号+优先级”的待暂停集合,记作集合S。
优选地,所述PFC暂停时间计算模块遍历集合S,分别对每一个“入口端号+优先级”按照公式:
计算得到暂停时间time[port][priority]其中,packets[port][priority]为每个端口每个优先级的报文数量,increment[port][priority]为每个端口每个优先级入队列增长速率,Transmissionspeed表示出队列对应端口的线速度。
本发明提供的技术方案具有如下有益效果:
所述基于预测的交换机PFC控制方法及控制系统在拥塞严重的情况下提前发送PFC暂停报文,将交换机缓冲占用控制在较低的水平。相比标准PFC方法,基于预测的交换机PFC控制方法在任意场景下,甚至对于incast数量很多的情景,都可以有效地控制交换机的缓冲空间占用,从而保证RDMA网络中较低的尾时延,而且由于交换机的缓冲占用减少,DCQCN速度收敛周期减少,可以实现更快的速度收敛。
附图说明
图1为本发明提供的基于预测的交换机PFC控制系统模块图;
图2为本发明提供的基于预测的交换机PFC控制预测是否发送PFC暂停报文的伪代码;
图3为本发明提供的基于预测的交换机PFC控制选择发送PFC暂停报文的端口的伪代码;
图4为本发明提供的基于预测的交换机PFC控制计算端口暂停时间的伪代码;
图5为NS3仿真拓扑图;
图6为NS3仿真中出队列长度变化图:
图7为NS3仿真中尾时延对比图;
图8为NS3仿真中PFC暂停时间和暂停报文数量对比图;
图9为NS3仿真中不同incast程度下的吞吐量对比图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
除非上下文另有特定清楚的描述,本发明中的元件和组件,数量既可以单个的形式存在,也可以多个的形式存在,本发明并不对此进行限定。本发明中的步骤虽然用标号进行了排列,但并不用于限定步骤的先后次序,除非明确说明了步骤的次序或者某步骤的执行需要其他步骤作为基础,否则步骤的相对次序是可以调整的。可以理解,本文中所使用的术语“和/或”涉及且涵盖相关联的所列项目中的一者或一者以上的任何和所有可能的组合。
如图1所示,本发明实施例提供的基于预测的交换机PFC控制系统包括拥塞监测模块101、PFC暂停报文预测模块102、端口选择模块103、PFC暂停时间计算模块104和PFC暂停报文发送模块105。所述拥塞监测模块101的输出信号分别传递给所述PFC暂停报文预测模块102、所述端口选择模块103和所述PFC暂停时间计算模块104;而且,所述PFC暂停报文预测模块102、所述端口选择模块103、所述PFC暂停时间计算模块104和所述PFC暂停报文发送模块105依次通信连接,上一模块的输出作为下一模块的输入。
其中,所述拥塞监测模块101监测交换机每个端口的每个出队列,并通过判断出队列的长度是否超过阈值向其他模块传递拥塞信号。
具体的,设定RED-ECN针对每个出队列有两个可设定的阈值,Kmin和Kmax。当交换机端口的出队列长度在Kmin和Kmax之间时,交换机以一定概率对报文打上ECN标记,出队列长度越接近Kmax,交换机打标的概率越大;当出队列长度超过Kmax时,所有报文都会被打上ECN标记。
所述拥塞监测模块101依靠出队列的长度判断拥塞程度,当出队列Q的长度超过Kmax时,拥塞监测模块101则输出队列Q发生拥塞。这样的判断条件是为了保证DCQCN拥塞控制机制可以正常工作,当队列长度在Kmin和Kmax之间时,交换机处于较小的拥塞程度,可以依靠DCQCN控制出队列长度的增长;队列长度超过Kmax后,表明DCQCN已经很难快速限制源端数据发送,需要P-PFC控制队列长度增长。
需要说明的是,所述拥塞监测模块101需要监测所有开启P-PFC的出队列的长度变化情况。而且,交换机每个端口的每个优先级均设置速率计数器,用于实时显示当前优先级的入队列长度变化速率。
所述PFC暂停报文预测模块102用于在接收到实时拥塞监测模块传递的拥塞信号后,预测交换机是否需要发送PFC暂停报文。
具体的,如果所述出队列的长度超过阈值,则,所述PFC暂停报文预测模块102统计交换机所有端口所有入队列的速度总和Incrementtotal,并通过公式
预测交换机缓冲空间的耗尽时间是否小于设定阈值,如果交换机缓冲空间的耗尽时间小于设定阈值,则预测交换机需要发送PFC暂停报文;反之,则预测交换机不需要发送PFC暂停报文。
以图2所示的伪代码为例,以1us的周期统计交换机所有端口所有优先级入队列的增长速度,得到increment[port][priority]。交换机每个入队列要设置一个队列增长计数器,increment数组的数值从队列增长计数器获取。伪代码第1-3行是累加每个端口每个优先级入队列的增长速度,得到Incrementtotal,这一数据代表着交换机缓冲空间的消耗速度。
DCQCN主机速度收敛需要一个往返时延,在一段时间内主机发送数据速度维持不变,从而可以假设交换机缓冲空间消耗速度不变,最终,利用交换机剩余缓冲空间switch_spaceleft与Incrementtotal相除,得到剩余时间remainingtime,即预测交换机缓冲空间耗尽需要的时间。伪代码第5行引入阈值T,当剩余时间remainingtime小于T时,该模块输出发送PFC暂停报文的信号给其他模块,否则退出当前计算。
实际上,P-PFC相比标准PFC提前一段时间发送PFC报文,阈值T值愈大,提前的时间越多,另一方面,由于提前发送PFC暂停报文,交换机的缓冲空间占用可以维持在较低的水平。
所述端口选择模块103用于在接收到实时PFC暂停报文预测模块的预测结果后,预测需要向哪些端口发送PFC暂停报文,并根据端口号和报文的优先级信息输出应发送PFC暂停报文的“入口端号+优先级”集合,并记作集合S。需要说明的是,在集合S中,每个元素的组成是“入口端号号:优先级”,即每个元素包含两个数值:入口端号号和优先级。
具体的,所述端口选择模块103将出队列中的报文按照“入口端号+优先级”的来源方式统计,并随机选择出队列中的报文,找到该报文所属的入口端号和优先级,如果入口端号对应的优先级队列的实时接收的增长速率大于设定阈值,则将该所述入口端号加入到待暂停集合中,输出应发送PFC暂停报文的“入口端号+优先级”集合,记作集合S。
以图3所示的方法伪代码为例,该方法的输入是:拥塞监测模块101的输出、出队列Q及出队列Q中报文组成比例fraction数组,即将出队列Q中的报文按照来源“端口+优先级”统计,fraction[port][priority]表示从端口port的优先级priority进来的报文数量占出队列中报文总数量的比例;每个入口端号每个优先级的队列增长速度increment[port][priority];该方法的输出是:是否应发送PFC暂停报文的“port+priority”待暂停集合。
并且,在图3所示的伪代码中,首先创建空的“port+priority”集合S,然后随机选择出队列Q中的报文,找到该报文所属的port和priority,如果increment[port][priority]大于阈值I并且“port+priority”不在集合S中,则标记此“port+priority”加入到集合S中,同时将fraction[port][priority]累加到fractiontotal变量中。图3所示伪代码中主要是while循环,循环的结束条件是fractiontotal大于或等于阈值R。循环结束后,将集合S输出,传递给所述PFC暂停时间计算模块104。阈值I的设置是为了找到对出队列Q队列长度增长具有主要影响的入队列,并向其发送PFC暂停报文,避免伤及带宽较小的流,从而影响整体服务质量。阈值R决定了算法的终止条件,当所有选中的报文比例加起来超过R时,算法终止。
所述PFC暂停时间计算模块104用于分别对所述集合S中每个“入口端号+优先级”元素计算PFC最优暂停时间,,保证交换机缓冲空间较小的同时不造成链路空闲,浪费带宽。
具体的,所述PFC暂停时间计算模块104遍历集合S,分别对集合S中每一个“入口端号+优先级”元素按照公式:
计算得到暂停时间time[port][priority]。
以图4所示的伪代码为例,PFC报文中可以指定暂停时间,交换机端口收到PFC暂停报文后,立刻停止数据发送,恢复发送需要满足一下任意一种条件:第一种是收到PFC恢复报文,第二种是PFC暂停报文中指定的暂停时间超时。本模块104利用第二种条件控制端口数据发送。所述PFC暂停时间计算模块104利用第二种条件控制端口数据发送。
并且,在图4所示的伪代码中,所述PFC暂停时间计算模块104的输入是:所述端口选择模块103的输出“port+priority”集合S、出队列Q中报文的组成成分、及每个端口每个优先级入队列增长速率increment[port][priority]。出队列Q中报文的组成成分即来自端口port优先级priority的报文数量packets[port][priority]。
而且,所述PFC暂停时间计算模块104的核心思想是PFC暂停时间应与该优先级的入队列增长速率以及该优先级在交换机内的报文数量有关。暂停时间的计算由两部分组成:和
第一部分表示交换机出队列清空接收自端口port优先级priority的报文需要的时间,其中,Transmissionspeed表示出队列对应端口的线速度;PFC暂停报文发送到上游端口到不再接收到上游端口的数据需要一定时间;第二部分表示接收并转发这段时间内收到的数据报文需要的时间。
所述PFC暂停报文发送模块105用于将所述PFC暂停时间计算模块得到的最优暂停时间添加到集合S中输出“入口端号+优先级+暂停时间”集合,并记作集合T,交换机遍历所述集合T,将每一“入口端号+优先级+暂停时间”中的优先级和暂停时间填入到PFC暂停报文中,并通过对应的端口发送出去。应当理解,同一个端口port同一优先级priority,在暂停时间time内交换机不会继续发送PFC暂停报文。需要说明的是,在集合T中,每个元素是“入口端号号:优先级:暂停时间”。
一种基于预测的交换机PFC控制方法,包括如下步骤:
一、监测交换机每个端口的每个出队列,判断出队列的长度是否超过阈值,
二、如果所述出队列的长度超过阈值,则预测交换机是否需要发送PFC暂停报文;
三、如果预测到交换机需要发送PFC暂停报文,则预测需要向哪些端口发送PFC暂停报文,并根据端口号和报文的优先级信息输出应发送PFC暂停报文的“入口端号+优先级”集合,记作集合S;
四、在所述集合S中,分别对集合S内每个“入口端号+优先级”元素计算PFC暂停时间;
五、根据计算得到的PFC暂停时间构建并输出“入口端号+优先级+暂停时间”集合,记作集合T,交换机遍历所述集合T,将集合T内每一“入口端号+优先级+暂停时间”元素中的优先级和暂停时间填入到PFC暂停报文中,并通过对应的端口发送出去。
而且,交换机每个端口的每个优先级均设置速率计数器,用于实时显示当前优先级的入队列长度变化速率。
需要说明的是,在步骤二中,如果所述出队列的长度超过阈值,则,统计交换机所有端口所有入队列的速度总和Incrementtotal,通过公式预测交换机缓冲空间的耗尽时间是否小于设定阈值;如果交换机缓冲空间的耗尽时间小于设定阈值,则预测交换机需要发送PFC暂停报文;反之,则预测交换机不需要发送PFC暂停报文。
在步骤三中,具体包括如下步骤:
将出队列中的报文按照“入口端号+优先级”的来源方式统计;
随机选择出队列中的报文,找到该报文所属的入口端号和优先级,如果入口端号对应的优先级队列的实时接收的增长速率大于设定阈值,则将该所述入口端号加入到待暂停集合中,输出应发送PFC暂停报文的“入口端号+优先级”集合,记作集合S。
在步骤四中,遍历集合S,分别对每一个“入口端号+优先级”按照公式:
计算得到暂停时间time[port][priority]。
将本发明实施例提供的基于预测的交换机PFC控制方法(以下简称为:P-PFC方法)在NS3(Network Simulator 3)上进行仿真,并验证其有益效果。
具体仿真过程如下:仿真拓扑如图5所示,N:1的incast情景,N台主机通过交换机SW向服务器S发送数据,每条链路速度为40Gbps,链路延迟为1us,交换机的共享缓存为4MB,报文的大小均为1KB。
仿真从三个方面验证了P-PFC优于标准PFC协议:
1、P-PFC的交换机缓冲空间占用和网络的尾时延比标准PFC低;
2、P-PFC总的停止时间与标准PFC相当,暂停报文数量比标准PFC少;
3、P-PFC与DCQCN拥塞控制机制结合,不会对DCQCN产生副作用。
其中,RDMA流以线速启动,多条流以线速启动,同时向同一个目的端口发送数据,所以incast是网络拥塞最严重的情景,它能更好地测试算法的有效性。具体地,仿真中采用的参数下表所示:
参数 | 仿真值 |
T | 200us |
I | 90% |
R | 1 |
仿真中,P-PFC方法结合DCQCN拥塞控制机制,仿真结果图6所示。在16:1incast情景下,DCQCN采用P-PFC方法出队列长度最多为1002KB,采用PFC方法时,出队列长度可以达到交换机设置的上限4MB,P-PFC方法的最大长度为PFC方法的1/4。通过时间轴也可以看到,P-PFC方法可以更快地让出队列长度降为0KB左右,意味着P-PFC方法可以辅助DCQCN实现更快地速度收敛,相比PFC,收敛时间减少50%。
图7是在16:1incast情景下,DCQCN结合P-PFC和PFC的网络尾时延对比图。尾时延是指网络中报文的最大时延。图7中可以看到,P-PFC的尾时延只有PFC尾时延的1/4,这部分优势得益于P-PFC可以有效地控制交换机出队列长度。这个仿真表明了P-PFC可以极大地降低尾时延,为RDMA网络提供较低的时延保证。
图8统计了DCQCN结合P-PFC和PFC在incast情景下,从网络拥塞期到各主机速度收敛均衡期间的PFC暂停报文数量和PFC总的暂停时间。图8(a)中可以看到P-PFC暂停报文数量要远小于PFC,这一点得益于P-PFC提前预测到严重拥塞产生,提前发送较长时间的PFC暂停报文控制上游端口的数据发送,而标准PFC算法是在队列缓冲空间即将耗尽的时候时候发送PFC暂停报文,会出现队列的长度频繁地在PFC阈值Xon和Xoff之间抖动,导致PFC报文数量增加。图8(b)中可以看到,P-PFC总的暂停时间和PFC相当,没有造成更多时间的端口暂停,表明了P-PFC方法相比PFC,不会对网络吞吐量造成额外影响。
图9是在不同incast情景下,DCQCN结合P-PFC和PFC的平均吞吐量图。图中可以看到,在不用程度的拥塞状态下,P-PFC在平均吞吐量上与PFC相同,说明P-PFC不影响DCQCN拥塞控制机制正常运行,不会对网络产生副作用。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
Claims (9)
1.一种基于预测的交换机PFC控制方法,其特征在于:包括如下步骤:
一、监测交换机每个端口的每个出队列,判断出队列的长度是否超过阈值;
二、如果所述出队列的长度超过阈值,则预测交换机是否需要发送PFC暂停报文;
三、如果预测到交换机需要发送PFC暂停报文,则预测需要向哪些端口发送PFC暂停报文,并根据端口号和报文的优先级信息输出应发送PFC暂停报文的“入口端号+优先级”集合,记作集合S;
四、在所述集合S中,分别对集合S内每个“入口端号+优先级”元素计算PFC暂停时间;
五、根据计算得到的PFC暂停时间构建并输出“入口端号+优先级+暂停时间”集合,记作集合T,交换机遍历所述集合T,将集合T内每一“入口端号+优先级+暂停时间”元素中的优先级和暂停时间填入到PFC暂停报文中,并通过对应的端口发送出去。
2.根据权利要求1所述的一种基于预测的交换机PFC控制方法,其特征在于:在步骤二中,如果所述出队列的长度超过阈值,则,统计交换机所有端口所有入队列的速度总和Incrementtotal,通过公式预测交换机缓冲空间的耗尽时间是否小于设定阈值,
如果交换机缓冲空间的耗尽时间小于设定阈值,则预测交换机需要发送PFC暂停报文;反之,则预测交换机不需要发送PFC暂停报文;
其中,switch_spaceleft为交换机剩余缓冲空间,Incrementtotal代表交换机缓冲空间的消耗速度。
3.根据权利要求1所述的一种基于预测的交换机PFC控制方法,其特征在于:在步骤三中,具体包括如下步骤:
将出队列中的报文按照“入口端号+优先级”的来源方式统计;
随机选择出队列中的报文,找到该报文所属的入口端号和优先级,如果入口端号对应的优先级队列的实时接收的增长速率大于设定阈值,则将该所述入口端号加入到待暂停集合中,输出应发送PFC暂停报文的“入口端号+优先级”集合,记作集合S。
4.根据权利要求1所述的一种基于预测的交换机PFC控制方法,其特征在于:在步骤四中,遍历集合S,分别对每一个“入口端号+优先级”按照公式:
<mrow>
<mi>t</mi>
<mi>i</mi>
<mi>m</mi>
<mi>e</mi>
<mrow>
<mo>&lsqb;</mo>
<mrow>
<mi>p</mi>
<mi>o</mi>
<mi>r</mi>
<mi>t</mi>
</mrow>
<mo>&rsqb;</mo>
</mrow>
<mrow>
<mo>&lsqb;</mo>
<mrow>
<mi>p</mi>
<mi>r</mi>
<mi>i</mi>
<mi>o</mi>
<mi>r</mi>
<mi>i</mi>
<mi>t</mi>
<mi>y</mi>
</mrow>
<mo>&rsqb;</mo>
</mrow>
<mo>=</mo>
<mfrac>
<mrow>
<mi>p</mi>
<mi>a</mi>
<mi>c</mi>
<mi>k</mi>
<mi>e</mi>
<mi>t</mi>
<mi>s</mi>
<mrow>
<mo>&lsqb;</mo>
<mrow>
<mi>p</mi>
<mi>o</mi>
<mi>r</mi>
<mi>t</mi>
</mrow>
<mo>&rsqb;</mo>
</mrow>
<mrow>
<mo>&lsqb;</mo>
<mrow>
<mi>p</mi>
<mi>r</mi>
<mi>i</mi>
<mi>o</mi>
<mi>r</mi>
<mi>i</mi>
<mi>t</mi>
<mi>y</mi>
</mrow>
<mo>&rsqb;</mo>
</mrow>
</mrow>
<mrow>
<msub>
<mi>Transmission</mi>
<mrow>
<mi>s</mi>
<mi>p</mi>
<mi>e</mi>
<mi>e</mi>
<mi>d</mi>
</mrow>
</msub>
</mrow>
</mfrac>
<mo>+</mo>
<mfrac>
<mrow>
<mi>i</mi>
<mi>n</mi>
<mi>c</mi>
<mi>r</mi>
<mi>e</mi>
<mi>m</mi>
<mi>e</mi>
<mi>n</mi>
<mi>t</mi>
<mrow>
<mo>&lsqb;</mo>
<mrow>
<mi>p</mi>
<mi>o</mi>
<mi>r</mi>
<mi>t</mi>
</mrow>
<mo>&rsqb;</mo>
</mrow>
<mrow>
<mo>&lsqb;</mo>
<mrow>
<mi>p</mi>
<mi>r</mi>
<mi>i</mi>
<mi>o</mi>
<mi>r</mi>
<mi>i</mi>
<mi>t</mi>
<mi>y</mi>
</mrow>
<mo>&rsqb;</mo>
</mrow>
</mrow>
<mrow>
<msub>
<mi>Transmission</mi>
<mrow>
<mi>s</mi>
<mi>p</mi>
<mi>e</mi>
<mi>e</mi>
<mi>d</mi>
</mrow>
</msub>
</mrow>
</mfrac>
<mo>;</mo>
</mrow>
计算得到暂停时间time[port][priority],
其中,packets[port][priority]为每个端口每个优先级的报文数量,increment[port][priority]为每个端口每个优先级入队列增长速率,Transmissionspeed表示出队列对应端口的线速度。
5.根据权利要求1所述的一种基于预测的交换机PFC控制方法,其特征在于:交换机每个端口的每个优先级均设置速率计数器,用于实时显示当前优先级的入队列长度变化速率。
6.一种基于预测的交换机PFC控制系统,其特征在于:包括:
拥塞监测模块,监测交换机每个端口的每个出队列,判断出队列的长度是否超过阈值;
PFC暂停报文预测模块,用于在接收到实时拥塞监测模块传递的拥塞信号后,预测交换机是否需要发送PFC暂停报文;
端口选择模块,用于在接收到实时PFC暂停报文预测模块的预测结果后,预测需要向哪些端口发送PFC暂停报文,并根据端口号和报文的优先级信息输出应发送PFC暂停报文的“入口端号+优先级”集合,并记作集合S;
PFC暂停时间计算模块,用于分别对所述集合S中每个“入口端号+优先级”元素计算PFC最优暂停时间,
PFC暂停报文发送模块,用于将所述PFC暂停时间计算模块得到的最优暂停时间添加到集合S中输出“入口端号+优先级+暂停时间”集合,并记作集合T,交换机遍历所述集合T,将集合T中每一“入口端号+优先级+暂停时间”元素中的优先级和暂停时间填入到PFC暂停报文中,并通过对应的端口发送出去。
7.根据权利要求6所述的一种基于预测的交换机PFC控制系统,其特征在于:如果所述出队列的长度超过阈值,则,所述PFC暂停报文预测模块统计交换机所有端口所有入队列的速度总和Incrementtotal,并通过公式预测交换机缓冲空间的耗尽时间是否小于设定阈值,如果交换机缓冲空间的耗尽时间小于设定阈值,则预测交换机需要发送PFC暂停报文;反之,则预测交换机不需要发送PFC暂停报文,其中,switch_spaceleft为交换机剩余缓冲空间,Incrementtotal代表交换机缓冲空间的消耗速度。
8.根据权利要求6所述的一种基于预测的交换机PFC控制系统,其特征在于:所述端口选择模块将出队列中的报文按照“入口端号+优先级”的来源方式统计,并随机选择出队列中的报文,找到该报文所属的入口端号和优先级,如果入口端对应的优先级队列的实时接收的增长速率大于设定阈值,则将该所述入口端号加入到待暂停集合中,输出基于“入口端号+优先级”的待暂停集合,记作集合S。
9.根据权利要求6所述的一种基于预测的交换机PFC控制系统,其特征在于:所述PFC暂停时间计算模块遍历集合S,分别对每一个“入口端号+优先级”按照公式:
<mrow>
<mi>t</mi>
<mi>i</mi>
<mi>m</mi>
<mi>e</mi>
<mrow>
<mo>&lsqb;</mo>
<mrow>
<mi>p</mi>
<mi>o</mi>
<mi>r</mi>
<mi>t</mi>
</mrow>
<mo>&rsqb;</mo>
</mrow>
<mrow>
<mo>&lsqb;</mo>
<mrow>
<mi>p</mi>
<mi>r</mi>
<mi>i</mi>
<mi>o</mi>
<mi>r</mi>
<mi>i</mi>
<mi>t</mi>
<mi>y</mi>
</mrow>
<mo>&rsqb;</mo>
</mrow>
<mo>=</mo>
<mfrac>
<mrow>
<mi>p</mi>
<mi>a</mi>
<mi>c</mi>
<mi>k</mi>
<mi>e</mi>
<mi>t</mi>
<mi>s</mi>
<mrow>
<mo>&lsqb;</mo>
<mrow>
<mi>p</mi>
<mi>o</mi>
<mi>r</mi>
<mi>t</mi>
</mrow>
<mo>&rsqb;</mo>
</mrow>
<mrow>
<mo>&lsqb;</mo>
<mrow>
<mi>p</mi>
<mi>r</mi>
<mi>i</mi>
<mi>o</mi>
<mi>r</mi>
<mi>i</mi>
<mi>t</mi>
<mi>y</mi>
</mrow>
<mo>&rsqb;</mo>
</mrow>
</mrow>
<mrow>
<msub>
<mi>Transmission</mi>
<mrow>
<mi>s</mi>
<mi>p</mi>
<mi>e</mi>
<mi>e</mi>
<mi>d</mi>
</mrow>
</msub>
</mrow>
</mfrac>
<mo>+</mo>
<mfrac>
<mrow>
<mi>i</mi>
<mi>n</mi>
<mi>c</mi>
<mi>r</mi>
<mi>e</mi>
<mi>m</mi>
<mi>e</mi>
<mi>n</mi>
<mi>t</mi>
<mrow>
<mo>&lsqb;</mo>
<mrow>
<mi>p</mi>
<mi>o</mi>
<mi>r</mi>
<mi>t</mi>
</mrow>
<mo>&rsqb;</mo>
</mrow>
<mrow>
<mo>&lsqb;</mo>
<mrow>
<mi>p</mi>
<mi>r</mi>
<mi>i</mi>
<mi>o</mi>
<mi>r</mi>
<mi>i</mi>
<mi>t</mi>
<mi>y</mi>
</mrow>
<mo>&rsqb;</mo>
</mrow>
</mrow>
<mrow>
<msub>
<mi>Transmission</mi>
<mrow>
<mi>s</mi>
<mi>p</mi>
<mi>e</mi>
<mi>e</mi>
<mi>d</mi>
</mrow>
</msub>
</mrow>
</mfrac>
<mo>;</mo>
</mrow>
计算得到暂停时间time[port][priority],
其中,packets[port][priority]为每个端口每个优先级的报文数量,increment[port][priority]为每个端口每个优先级入队列增长速率,Transmissionspeed表示出队列对应端口的线速度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711224754.5A CN107948103B (zh) | 2017-11-29 | 2017-11-29 | 一种基于预测的交换机pfc控制方法及控制系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711224754.5A CN107948103B (zh) | 2017-11-29 | 2017-11-29 | 一种基于预测的交换机pfc控制方法及控制系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107948103A true CN107948103A (zh) | 2018-04-20 |
CN107948103B CN107948103B (zh) | 2020-06-30 |
Family
ID=61946634
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711224754.5A Active CN107948103B (zh) | 2017-11-29 | 2017-11-29 | 一种基于预测的交换机pfc控制方法及控制系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107948103B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108989235A (zh) * | 2018-08-28 | 2018-12-11 | 新华三技术有限公司 | 一种报文转发控制方法及装置 |
CN109039900A (zh) * | 2018-08-10 | 2018-12-18 | 北京邮电大学 | 一种发送credit包的停止信号的方法和装置 |
CN113300975A (zh) * | 2020-07-20 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 网络设备的控制方法、网络传输的方法、装置及设备 |
CN113647069A (zh) * | 2019-04-05 | 2021-11-12 | 思科技术公司 | 针对云交换机排队偏移的遥测 |
CN114244738A (zh) * | 2021-12-16 | 2022-03-25 | 杭州奥博瑞光通信有限公司 | 一种交换机缓存调度方法以及系统 |
CN115022227A (zh) * | 2022-06-12 | 2022-09-06 | 长沙理工大学 | 数据中心网中基于循环或重路由的数据传输方法和系统 |
TWI792981B (zh) * | 2022-04-15 | 2023-02-11 | 國立陽明交通大學 | 流量控制方法 |
CN115883466A (zh) * | 2023-03-03 | 2023-03-31 | 苏州浪潮智能科技有限公司 | 交换机的控制方法及装置、存储介质及电子装置 |
CN117395207A (zh) * | 2023-12-12 | 2024-01-12 | 南京邮电大学 | 一种面向无损网络的细粒度流量控制方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101110775A (zh) * | 2007-07-06 | 2008-01-23 | 中兴通讯股份有限公司 | 一种动态调整负荷分担的方法和系统 |
CN105553879A (zh) * | 2015-12-18 | 2016-05-04 | 湖南大学 | 一种基于服务器的流调度方法 |
CN106330742A (zh) * | 2015-06-23 | 2017-01-11 | 华为技术有限公司 | 一种流量控制的方法及网络控制器 |
US20170339075A1 (en) * | 2016-05-18 | 2017-11-23 | Marvell Israel (M.I.S.L) Ltd. | Traffic Management in a Network Switching System with Remote Physical Ports |
-
2017
- 2017-11-29 CN CN201711224754.5A patent/CN107948103B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101110775A (zh) * | 2007-07-06 | 2008-01-23 | 中兴通讯股份有限公司 | 一种动态调整负荷分担的方法和系统 |
CN106330742A (zh) * | 2015-06-23 | 2017-01-11 | 华为技术有限公司 | 一种流量控制的方法及网络控制器 |
CN105553879A (zh) * | 2015-12-18 | 2016-05-04 | 湖南大学 | 一种基于服务器的流调度方法 |
US20170339075A1 (en) * | 2016-05-18 | 2017-11-23 | Marvell Israel (M.I.S.L) Ltd. | Traffic Management in a Network Switching System with Remote Physical Ports |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109039900A (zh) * | 2018-08-10 | 2018-12-18 | 北京邮电大学 | 一种发送credit包的停止信号的方法和装置 |
CN109039900B (zh) * | 2018-08-10 | 2020-06-12 | 北京邮电大学 | 一种发送credit包的停止信号的方法和装置 |
CN108989235A (zh) * | 2018-08-28 | 2018-12-11 | 新华三技术有限公司 | 一种报文转发控制方法及装置 |
CN108989235B (zh) * | 2018-08-28 | 2022-11-01 | 新华三技术有限公司 | 一种报文转发控制方法及装置 |
CN113647069A (zh) * | 2019-04-05 | 2021-11-12 | 思科技术公司 | 针对云交换机排队偏移的遥测 |
CN113300975A (zh) * | 2020-07-20 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 网络设备的控制方法、网络传输的方法、装置及设备 |
CN114244738A (zh) * | 2021-12-16 | 2022-03-25 | 杭州奥博瑞光通信有限公司 | 一种交换机缓存调度方法以及系统 |
TWI792981B (zh) * | 2022-04-15 | 2023-02-11 | 國立陽明交通大學 | 流量控制方法 |
CN115022227A (zh) * | 2022-06-12 | 2022-09-06 | 长沙理工大学 | 数据中心网中基于循环或重路由的数据传输方法和系统 |
CN115883466A (zh) * | 2023-03-03 | 2023-03-31 | 苏州浪潮智能科技有限公司 | 交换机的控制方法及装置、存储介质及电子装置 |
CN115883466B (zh) * | 2023-03-03 | 2023-06-16 | 苏州浪潮智能科技有限公司 | 交换机的控制方法及装置、存储介质及电子装置 |
CN117395207A (zh) * | 2023-12-12 | 2024-01-12 | 南京邮电大学 | 一种面向无损网络的细粒度流量控制方法 |
CN117395207B (zh) * | 2023-12-12 | 2024-02-23 | 南京邮电大学 | 一种面向无损网络的细粒度流量控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107948103B (zh) | 2020-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107948103A (zh) | 一种基于预测的交换机pfc控制方法及控制系统 | |
Sharma et al. | Approximating fair queueing on reconfigurable switches | |
US20220200923A1 (en) | Dynamic buffer management in data-driven intelligent network | |
CN102726009B (zh) | 一种数据流交换控制方法及相关设备 | |
CN107566275B (zh) | 数据中心网络中基于延时差异性的多路径传输方法 | |
JP2006506845A (ja) | ルータにおけるパケットに対し論理リンクを選択する方法 | |
US20150229575A1 (en) | Flow control in a network | |
CN107154897A (zh) | Dcn中基于包散射的异构流隔离方法 | |
CN110868359B (zh) | 一种网络拥塞控制方法 | |
CN113438182B (zh) | 一种基于信用的流量控制系统和流量控制方法 | |
Liu et al. | Floodgate: Taming incast in datacenter networks | |
CN105763375B (zh) | 一种数据包发送方法、接收方法及微波站 | |
CN109995608B (zh) | 网络速率计算方法和装置 | |
CN102739508B (zh) | 一种高速网络数据传输的方法及系统 | |
Yao et al. | Performance evaluation of MPTCP incast based on queuing network | |
Patel et al. | Comparative analysis of congestion control algorithms using ns-2 | |
CN110324255A (zh) | 一种面向数据中心网络编码的交换机/路由器缓存队列管理方法 | |
Baldi et al. | Time-driven priority router implementation: Analysis and experiments | |
CN102404225A (zh) | 一种用于差分队列服务系统的数据包快速入队方法 | |
Yang et al. | Crsp: Network congestion control through credit reservation | |
An et al. | MACRE: A novel distributed congestion control algorithm in DTN | |
Ding et al. | Reliable Transport Mechanism Based on Multi-queue Scheduling | |
Yang et al. | Poster: Traffic Scheduler for Cloud VR Applications in Edge Networks | |
Pan et al. | CQPPS: A scalable multi‐path switch fabric without back pressure | |
Wan et al. | Research on Improved Algorithm of RDMA Network Congestion Control for Data Center |
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 |