本发明涉及计算机网络和通信技术领域,尤其涉及一种拥塞控制方法、装置、电子设备及存储介质。
背景技术:
在当前数据中心中,为实现数据传输的低时延、高吞吐,开始大规模使用rdma(remotedirectmemoryaccess,远程直接数据存取)网络,因丢包率极大降低了rdma网络效率,需要实现零丢包的rdma网络。现有技术中,结合dcqcn(datacenterquantifycongestionnotifications,数据中心量化拥塞控制)技术和pfc(priority-basedflowcontrol,基于优先级的流量控制)技术来解决数据丢包问题。其中,dcqcn技术使用ecn(explicitcongestionnotification,显示拥塞通知)在交换机感知拥塞情况,当交换机检测到拥塞时,对数据包进行ecn标记,当接收端接收到数据包时,检查其ecn标记,如果接收端接收到带有ecn标记的数据包,则向发送端发送cnp(congestionnotificationpacket,拥塞通知报文),通知发送端控制流速,发送端接收到cnp时降低流速,实现拥塞控制。ecn技术具体依赖于ecn阈值,ecn阈值包括门限上限和门限下限,ecn阈值的两个门限值定义了标记概率,当交换机的队列长度低于门限下限时,ecn位不会被标记,当队列长度超过门限上限时,所有从该队列传输的数据包都会被以最大标记概率进行ecn标记,当队列长度位于门限上限和门限下限之间时,数据包会被以与队列长度线性增长的概率进行ecn标记。pfc技术具体为:当交换机监测到队列长度超过pfc阈值时,向上游设备发送pause帧,使得上游设备暂停发送数据包,从而,避免交换机缓冲区出现缓存溢出,以避免数据丢包。
目前,设置ecn阈值时通常使用静态经验值,如果ecn阈值设置不合理,其与pfc阈值相配合时,可能将会导致pfc过度触发,从而影响网络整体时延和吞吐。并且,由于不同业务的流的大小也不同,所要达到的传输目标也不同,一般地,小流(单字节少)需要低时延,而大流(单字节多)需要高吞吐,而ecn阈值使用静态经验值,无法针对不同业务提供不同需求的服务。对于数据中心中典型的incast(manytoone,多对一)场景中,多个入口队列对应一个出口队列,当入口队列的数量大时,需要低门限保证低时延,反之,则需要高门限提高吞吐。
因此,如何设置ecn阈值以提高拥塞控制效率,是现有技术中亟待解决的技术问题之一。
技术实现要素:
为了解决现有技术中ecn阈值设置不合理而导致的拥塞控制效率低的问题,本发明实施例提供了一种拥塞控制方法、装置、电子设备及存储介质。
第一方面,本发明实施例提供了一种拥塞控制方法,应用于至少一个交换机对应的拥塞控制设备中,每个交换机包括至少一个出口队列,每个出口队列对应至少两个入口队列,所述方法包括:
采集当前交换机的待控制出口队列在当前轮次的配置信息和网络状态信息;
若确定所述网络状态信息不满足预设条件,则根据所述配置信息和所述网络状态信息确定所述待控制出口队列的显示拥塞通知ecn门限调节因子;
根据所述ecn门限调节因子和所述配置信息中包含的所述待控制出口队列在所述当前轮次的ecn门限确定所述待控制出口队列在下一轮次的ecn门限;
将所述待控制出口队列在下一轮次的ecn门限下发至所述当前交换机,以使所述当前交换机在所述下一轮次根据所述待控制出口队列在下一轮次的ecn门限对所述待控制出口队列进行拥塞控制。
本发明实施例提供的拥塞控制方法,应用于至少一个交换机对应的拥塞控制设备中,每个交换机包括至少一个出口队列,每个出口队列对应至少两个入口队列,拥塞控制设备采集当前交换机的待控制出口队列在当前轮次的配置信息和网络状态信息,如果确定所述网络状态信息不满足预设条件,则根据所述待控制出口队列在当前轮次的配置信息和网络状态信息确定所述待控制出口队列的ecn门限调节因子,根据所述ecn门限调节因子和所述配置信息中包含的所述待控制出口队列在当前轮次的ecn门限确定所述待控制出口队列在下一轮次的ecn门限,并将待控制出口队列在下一轮次的ecn门限下发至当前交换机,当前交换机在下一轮次根据接收的该待控制出口队列在下一轮次的ecn门限对所述待控制出口队列进行拥塞控制,相比于现有技术,本发明实施例提供的拥塞控制方法,按照轮次采集交换机的待控制出口队列的配置信息和网络状态信息,当满足ecn门限调节条件时,根据上述两个层面的信息共同确定对待控制出口队列的ecn门限的调节程度,并根据待控制出口队列在当前轮次的ecn门限进行相应调整,作为待控制出口队列在下一轮次的ecn门限,即通过迭代的方式实现了针对不同的交换机的待控制出口队列的相关信息动态配置不同的ecn门限,实现了对ecn门限的动态调整,提高了拥塞控制效率,并且,本发明中仅需在单台交换机上采集交换机的待控制出口队列的相关数据,与其他设备无关,降低了数据采集难度,使得本发明提供的ecn门限动态调整方法适应能力和扩展能力更强。
在其中一个实施例中,若所述网络状态信息包括所述待控制出口队列的基于优先级的流量控制pfc触发次数、吞吐和时延,所述吞吐为所述待控制出口队列的报文输出平均速率,所述时延为所述待控制出口队列的平均转发时延,则所述预设条件为预期时延大于或等于所述时延、预期吞吐小于或等于所述吞吐、预期pfc触发次数大于或等于所述待控制出口队列的pfc触发次数。
本发明实施例中,根据当前轮次的时延、吞吐、待控制出口队列的pfc触发次数与预期时延、预期吞吐、预期pfc触发次数共同确定是否需要对待控制出口队列的ecn门限进行调整,更加符合实际需求。
在其中一个实施例中,若所述网络状态信息还包括所述待控制出口队列的ecn触发次数和所述待控制出口队列的最低转发时延,所述配置信息还包括所述待控制出口队列的pfc阈值、所述待控制出口队列的各入口队列的pfc阈值和所述待控制出口队列的ecn最大标记概率,则根据所述配置信息和所述网络状态信息确定所述待控制出口队列的ecn门限调节因子,具体包括:
根据所述时延、所述预期时延、所述待控制出口队列的最低转发时延、所述待控制出口队列的各入口队列的pfc阈值、所述待控制出口队列的ecn最大标记概率和所述待控制出口队列的ecn门限确定所述待控制出口队列的时延误差;
根据所述吞吐、所述预期吞吐、所述待控制出口队列的各入口队列的pfc阈值、所述待控制出口队列的ecn最大标记概率和所述待控制出口队列的ecn门限确定所述待控制出口队列的吞吐误差;
根据所述待控制出口队列的pfc触发次数、所述预期pfc触发次数和所述待控制出口队列的ecn最大标记概率确定所述待控制出口队列的pfc触发次数误差;
根据所述待控制出口队列的时延误差、所述待控制出口队列的吞吐误差和所述待控制出口队列的pfc触发次数误差确定所述待控制出口队列的ecn门限调节误差;
根据所述待控制出口队列的ecn最大标记概率和所述待控制出口队列的ecn门限调节误差确定所述待控制出口队列的ecn门限调节因子。
本发明实施例中,考虑到待控制出口队列的ecn最大标记概率会影响ecn门限,因此,在确定所述待控制出口队列的ecn门限调节因子(即ecn门限调节程度)时,将ecn最大标记概率考虑进来,在网络实际运行过程中,pfc触发会使得数据流暂停,导致队列吞吐减小,时延增大,应尽可能避免,为尽可能不触发pfc,待控制出口队列的ecn门限的设置还受限于待控制出口队列的入口队列的pfc阈值大小,因此,在确定ecn门限调节程度时,也将待控制出口队列的入口队列的pfc阈值考虑进来,根据当前轮次的时延、预期时延、待控制出口队列的最低转发时延、待控制出口队列的各入口队列的pfc阈值、所述待控制出口队列的ecn最大标记概率和所述待控制出口队列的ecn门限共同确定所述待控制出口队列的时延误差,根据当前轮次的吞吐、预期吞吐、所述待控制出口队列的各入口队列的pfc阈值、所述待控制出口队列的ecn最大标记概率和所述待控制出口队列的ecn门限确定所述待控制出口队列的吞吐误差,以及根据当前轮次的所述待控制出口队列的pfc触发次数、所述预期pfc触发次数和所述待控制出口队列的ecn最大标记概率确定所述待控制出口队列的pfc触发次数误差,进而,根据所述待控制出口队列的时延误差、吞吐误差和pfc触发次数误差确定所述待控制出口队列的ecn门限调节误差,进而,根据所述待控制出口队列的ecn最大标记概率和所述待控制出口队列的ecn门限调节误差确定所述待控制出口队列的ecn门限调节因子,根据上述方式确定所述待控制出口队列的ecn门限调节因子,考虑到当前轮次的时延和预期时延的偏差、当前轮次的吞吐和预期吞吐的偏差,以及当前轮次的待控制出口队列的pfc触发次数和预期pfc触发次数的偏差来确定ecn门限调节程度,对ecn门限的调整更加合理、更具有针对性,进而,可以提高拥塞控制效率。
在其中一个实施例中,根据所述ecn门限调节因子和所述配置信息中包含的所述待控制出口队列在所述当前轮次的ecn门限确定所述待控制出口队列在下一轮次的ecn门限,具体包括:
通过以下公式计算所述待控制出口队列在下一轮次的ecn门限:
ki 1=(1-f)ki
其中,ki表示所述待控制出口队列在第i轮次的ecn门限;
ki 1表示所述待控制出口队列在第i 1轮次的ecn门限;
f表示所述待控制出口队列的ecn门限调节因子。
在其中一个实施例中,通过以下公式计算所述待控制出口队列的ecn门限调节因子:
f=pmax·h
其中,f表示所述待控制出口队列的ecn门限调节因子;
pmax表示所述待控制出口队列的ecn最大标记概率;
h表示所述待控制出口队列的ecn门限调节误差,h=α·h1(timelog,timelogpreset) β·h2(throughtput,throughtputpreset) δ·h3(npfc,npfcpreset),h1(timelog,timelogpreset)表示所述待控制出口队列的时延误差,timelog表示所述时延,timelogpreset表示所述预期时延,α表示所述待控制出口队列的时延误差的权重,h2(throughtput,throughtputpreset)表示所述待控制出口队列的吞吐误差,throughtput表示所述吞吐,throughtputpreset表示所述预期吞吐,β表示所述待控制出口队列的吞吐误差的权重,h3(npfc,npfcpreset)表示所述待控制出口队列的pfc触发次数误差,npfc表示所述待控制出口队列的pfc触发次数,npfcpreset表示所述预期pfc触发次数,δ表示所述待控制出口队列的pfc触发次数误差的权重,α β δ=1,其中:
第二方面,本发明实施例提供了一种拥塞控制装置,应用于至少一个交换机对应的拥塞控制设备中,每个交换机包括至少一个出口队列,每个出口队列对应至少两个入口队列,所述装置包括:
采集单元,用于采集当前交换机的待控制出口队列在当前轮次的配置信息和网络状态信息;
第一确定单元,用于若确定所述网络状态信息不满足预设条件,则根据所述配置信息和所述网络状态信息确定所述待控制出口队列的显示拥塞通知ecn门限调节因子;
第二确定单元,用于根据所述ecn门限调节因子和所述配置信息中包含的所述待控制出口队列在所述当前轮次的ecn门限确定所述待控制出口队列在下一轮次的ecn门限;
拥塞控制单元,用于将所述待控制出口队列在下一轮次的ecn门限下发至所述当前交换机,以使所述当前交换机在所述下一轮次根据所述待控制出口队列在下一轮次的ecn门限对所述待控制出口队列进行拥塞控制。
在其中一个实施例中,若所述网络状态信息包括所述待控制出口队列的基于优先级的流量控制pfc触发次数、吞吐和时延,所述吞吐为所述待控制出口队列的报文输出平均速率,所述时延为所述待控制出口队列的平均转发时延,则所述预设条件为预期时延大于或等于所述时延、预期吞吐小于或等于所述吞吐、预期pfc触发次数大于或等于所述待控制出口队列的pfc触发次数。
在其中一个实施例中,若所述网络状态信息还包括所述待控制出口队列的ecn触发次数和所述待控制出口队列的最低转发时延,所述配置信息还包括所述待控制出口队列的pfc阈值、所述待控制出口队列的各入口队列的pfc阈值和所述待控制出口队列的ecn最大标记概率,则所述第一确定单元,具体用于根据所述时延、所述预期时延、所述待控制出口队列的最低转发时延、所述待控制出口队列的各入口队列的pfc阈值、所述待控制出口队列的ecn最大标记概率和所述待控制出口队列的ecn门限确定所述待控制出口队列的时延误差;根据所述吞吐、所述预期吞吐、所述待控制出口队列的各入口队列的pfc阈值、所述待控制出口队列的ecn最大标记概率和所述待控制出口队列的ecn门限确定所述待控制出口队列的吞吐误差;根据所述待控制出口队列的pfc触发次数、所述预期pfc触发次数和所述待控制出口队列的ecn最大标记概率确定所述待控制出口队列的pfc触发次数误差;根据所述待控制出口队列的时延误差、所述待控制出口队列的吞吐误差和所述待控制出口队列的pfc触发次数误差确定所述待控制出口队列的ecn门限调节误差;根据所述待控制出口队列的ecn最大标记概率和所述待控制出口队列的ecn门限调节误差确定所述待控制出口队列的ecn门限调节因子。
在其中一个实施例中,所述第二确定单元,具体用于通过以下公式计算所述待控制出口队列在下一轮次的ecn门限:
ki 1=(1-f)ki
其中,ki表示所述待控制出口队列在第i轮次的ecn门限;
ki 1表示所述待控制出口队列在第i 1轮次的ecn门限;
f表示所述待控制出口队列的ecn门限调节因子。
在其中一个实施例中,所述第一确定单元,具体用于通过以下公式计算所述待控制出口队列的ecn门限调节因子:
f=pmax·h
其中,f表示所述待控制出口队列的ecn门限调节因子;
pmax表示所述待控制出口队列的ecn最大标记概率;
h表示所述待控制出口队列的ecn门限调节误差,h=α·h1(timelog,timelogpreset) β·h2(throughtput,throughtputpreset) δ·h3(npfc,npfcpreset),h1(timelog,timelogpreset)表示所述待控制出口队列的时延误差,timelog表示所述时延,timelogpreset表示所述预期时延,α表示所述待控制出口队列的时延误差的权重,h2(throughtput,throughtputpreset)表示所述待控制出口队列的吞吐误差,throughtput表示所述吞吐,throughtputpreset表示所述预期吞吐,β表示所述待控制出口队列的吞吐误差的权重,h3(npfc,npfcpreset)表示所述待控制出口队列的pfc触发次数误差,npfc表示所述待控制出口队列的pfc触发次数,npfcpreset表示所述预期pfc触发次数,δ表示所述待控制出口队列的pfc触发次数误差的权重,α β δ=1,其中:
本发明提供的拥塞控制装置的技术效果可以参见上述第一方面或第一方面的各个实现方式的技术效果,此处不再赘述。
第三方面,本发明实施例提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现本发明所述的拥塞控制方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明所述的拥塞控制方法中的步骤。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例提供的拥塞控制方法的应用场景示意图;
图2为本发明实施例提供的拥塞控制方法的实施流程示意图;
图3为本发明实施例中,确定待控制出口队列的ecn门限调节因子的实施流程示意图;
图4为本发明实施例提供的拥塞控制装置的结构示意图;
图5为本发明实施例提供的电子设备的结构示意图。
具体实施方式
为了解决现有技术中ecn阈值设置不合理而导致的拥塞控制效率低的问题,本发明实施例提供了一种拥塞控制方法、装置、电子设备及存储介质。
以下结合说明书附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明,并且在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
首先参考图1,其为本发明实施例提供的拥塞控制方法的应用场景示意图,其为数据中心典型的多对一(incast)场景。图1中仅以拥塞控制设备与其控制的其中一台交换机为例进行说明,每个交换机至少包括一个出口队列,每个出口队列对应至少两个入口队列,拥塞控制设备和交换机通过网络进行连接,假设端口a为交换机上的一个出(egress)端口,端口1~端口n为端口a的入(ingress)端口,交换机的待控制出口队列中的数据从端口a输出,待控制出口队列中的数据是由待控制出口队列的入口队列1~n分别通过端口1~n输入到交换机中的。拥塞控制设备通过从交换机采集待控制队列在当前轮次的配置信息和网络状态信息,当满足ecn门限调节条件时,根据上述两个层面的信息共同确定对待控制出口队列的ecn门限的调节程度(即:ecn门限调节因子),根据待控制出口队列在当前轮次的ecn门限和待控制出口队列的ecn门限调节因子确定待控制出口队列在下一轮次的ecn门限,将待控制出口队列在下一轮次的ecn门限下发至该交换机,交换机在下一轮次根据接收的该待控制出口队列在下一轮次的ecn门限对待控制出口队列进行拥塞控制,实现了针对不同的交换机的待控制出口队列的相关信息动态配置不同的ecn门限,拥塞控制设备可以为运行有sdn(softwaredefinednetwork,软件定义网络)控制器的设备、服务器、终端等,可以由sdn控制器执行对交换机的控制,本发明实施例对此不作限定。
下面结合图1的应用场景,参考图2~图3来描述根据本发明示例性实施方式的拥塞控制方法。需要注意的是,上述应用场景仅是为了便于理解本发明的精神和原理而示出,本发明的实施方式在此不受任何限制。相反,本发明的实施方式可以应用于适用的任何场景。
如图2所示,其为本发明实施例提供的拥塞控制方法的实施流程示意图,所述拥塞控制方法应用于至少一个交换机对应的拥塞控制设备中,每个交换机包括至少一个出口队列,每个出口队列对应至少两个入口队列,所述拥塞控制方法可以包括以下步骤:
s11、采集当前交换机的待控制出口队列在当前轮次的配置信息和网络状态信息。
具体实施时,拥塞控制设备采集当前交换机的待控制出口队列在当前轮次的配置信息和网络状态信息。所述待控制出口队列的配置信息至少包括所述待控制出口队列的ecn门限、所述待控制出口队列的pfc阈值、所述待控制出口队列的各入口队列的pfc阈值和所述待控制出口队列的ecn最大标记概率。所述待控制出口队列的网络状态信息包括吞吐、时延、所述待控制出口队列的pfc触发次数、所述待控制出口队列的ecn触发次数和所述待控制出口队列的最低转发时延,其中,所述吞吐为所述待控制出口队列报文输出平均速率,所述时延为所述待控制出口队列平均转发时延。其中,每一轮次即为预设时间周期,可以根据需要自行设置,例如可以设置一个轮次为20s,本发明实施例对此不作限定。所述待控制出口队列的ecn门限可以为ecn阈值的门限上限,ecn阈值包括门限上限和门限下限两个门限,由于门限上限对调节结果的影响较大,故本发明实施例中默认对ecn阈值的门限上限进行调整,对于ecn阈值的门限下限,仅需在确定出ecn阈值的门限上限后等比例调整即可得到。本发明实施例中,交换机即为拥塞控制设备纳管的网络设备,其为至少具备以下功能的交换机:ecn(dcqcn)功能、pfc功能、gprc(remoteprocedurecall,远程过程调用)功能和int(in-bandnetworktelemetry,带内网络遥测)功能,其中,gprc是一种高精度遥测技术。在实施时,交换机通过gprc功能获取待控制出口队列的pfc触发次数、待控制出口队列的ecn门限、待控制出口队列的pfc阈值、待控制出口队列的ecn触发次数和待控制出口队列报文输出平均速率(即吞吐),通过int功能获取待控制出口队列平均转发时延(即时延)。
所述拥塞控制设备纳管的网络设备也可以为具有以上功能的其它网络设备,如路由器等,本发明实施例对此不作限定。
s12、若确定所述网络状态信息不满足预设条件,则根据所述配置信息和所述网络状态信息确定所述待控制出口队列的ecn门限调节因子。
具体实施时,拥塞控制设备当确定所述待控制出口队列的网络状态信息不满足预设条件时,根据所述待控制出口队列的配置信息和网络状态信息确定所述待控制出口队列的ecn门限调节因子,所述ecn门限调节因子表征对ecn门限的调节程度。
具体地,所述预设条件包括以下三个条件:
条件一:预期时延大于或等于所述时延。
条件二:预期吞吐小于或等于所述吞吐。
条件三:预期pfc触发次数大于或等于所述待控制出口队列的pfc触发次数。
当不满足上述三个条件中的任一条件时,则确定所述待控制出口队列的网络状态信息不满足预设条件。
具体地,拥塞控制设备当确定不满足以下任一条件:预期时延大于或等于所述待控制出口队列在当前轮次的时延、预期吞吐小于或等于所述待控制出口队列在当前轮次的吞吐量、预期pfc触发次数大于或等于所述待控制出口队列在当前轮次的pfc触发次数,则对所述待控制出口队列的ecn门限进行调整。当同时满足以上三个条件时,则认为当前轮次的所述待控制出口队列的ecn门限设置合理,不对其进行调整。其中,预期时延、预期吞吐和预期pfc触发次数可以由客户端根据业务的不同手动设置的,也可以为拥塞控制设备根据业务的不同预设的,本发明实施例对此不作限定。
具体实施时,基于迭代的思想,待控制出口队列的ecn门限迭代公式设计为:
ki 1=(1-f)ki(1)
其中,ki表示待控制出口队列在第i轮次的ecn门限;
ki 1表示待控制出口队列在第i 1轮次的ecn门限;
f表示待控制出口队列的ecn门限调节因子。
其中,第i轮次即为当前轮次,第i 1轮次即为下一轮次。
按照如图3所示的流程确定待控制出口队列的ecn门限调节因子,可以包括以下步骤:
s21、根据时延、预期时延、待控制出口队列的最低转发时延、待控制出口队列的各入口队列的pfc阈值、待控制出口队列的ecn最大标记概率和待控制出口队列的ecn门限确定待控制出口队列的时延误差。
具体实施时,拥塞控制设备根据待控制出口队列在当前轮次的时延、预期时延、待控制出口队列的最低转发时延、待控制出口队列的各入口队列的pfc阈值、待控制出口队列的ecn最大标记概率和待控制出口队列的ecn门限确定待控制出口队列的时延误差。
具体地,可以通过以下公式计算待控制出口队列的时延误差:
其中,h1(timelog,timelogpreset)表示待控制出口队列的时延误差,timelog表示待控制出口队列的时延,timelogpreset表示预期时延;low表示待控制出口队列的ecn门限调节误差的下限值,up表示待控制出口队列的ecn门限调节误差的上限值,
具体地,在多对一incast场景(即图1所示场景)中,pfc触发会使得数据流暂停,导致队列吞吐减小,时延增大,应尽量避免,为了尽可能不触发pfc,ecn门限还受限于pfc阈值大小,因此,应使得待控制出口队列的ecn阈值
逻辑上,当待控制出口队列的ecn最大标记概率高时,可以适当降低ecn门限,故ecn门限还与ecn最大标记概率相关。
f是关于待控制出口队列在当前轮次的时延、预期时延、待控制出口队列的吞吐、预期吞吐、待控制出口队列的最低转发时延、待控制出口队列的各入口队列的pfc阈值、待控制出口队列的ecn最大标记概率和待控制出口队列的ecn门限、待控制出口队列的pfc触发次数和预期pfc触发次数这些参数的ecn门限调节函数。其中,待控制出口队列的ecn最大标记概率pmax对于每一次调整都是定值,故该参数可以作为常数出现。考虑到pmax∈(0,1]及公式(3)的范围,设计如下:
f=pmax·h(4)
其中,h表示待控制出口队列的ecn门限调节误差。
将上述公式(4)代入公式(3),可以得到h的范围为:
关于函数h的设计逻辑如下:
针对不同流量情况,网络对时延、吞吐、pfc触发次数敏感度不同,故将h设置为时延误差、吞吐误差和pfc触发次数误差加权求和的形式,具体如下:h=α·h1(timelog,timelogpreset) β·h2(throughtput,throughtputpreset) δ·h3(npfc,npfcpreset)(6)
其中,h1(timelog,timelogpreset)表示所述待控制出口队列的时延误差,α表示所述待控制出口队列的时延误差的权重,h2(throughtput,throughtputpreset)表示所述待控制出口队列的吞吐误差,throughtput表示所述待控制出口队列的吞吐,throughtputpreset表示所述预期吞吐,β表示所述待控制出口队列的吞吐误差的权重,h3(npfc,npfcpreset)表示所述待控制出口队列的pfc触发次数误差,npfc表示所述待控制出口队列的pfc触发次数,npfcpreset表示预期pfc触发次数,δ表示所述待控制出口队列的pfc触发次数误差的权重,α β δ=1,其中,α、β和δ的取值可以针对不同的业务根据时延、吞吐和pfc触发次数在不同业务中的重要程度自行设定,本发明实施例对此不作限定。
逻辑上,h应随着时延的增大而减小(即单调减),且当时延大于预期时延时,对h的影响应为正,原因如下:由公式(4)和公式(5)可以看出,当时延大于预期时延时,ki 1<ki,符合物理预期(即:ecn门限越大,时延越大),则根据公式(5),可以推导出:
当时延等于预期时延时,h1=0,即无需调整,即:
h1(timelog,timelogpreset)=0(7)
当时延趋向无穷大时,将ecn门限调至0,即:
当时延为待控制出口队列的最低转发时延t0时,待控制出口队列的最低转发时延表示待控制出口队列报文转发所需的最短时间,将ecn门限调至与pfc相等,即:
考虑到逻辑上timelog∈[t0,∞),函数h1(timelog,timelogpreset)可以设计为以自然常数为底数的指数函数形式:
由公式(6)~(9)结合待控制出口队列的最低转发时延t0代入上述公式(10),可得到:
s22、根据吞吐、预期吞吐、待控制出口队列的各入口队列的pfc阈值、待控制出口队列的ecn最大标记概率和待控制出口队列的ecn门限确定待控制出口队列的吞吐误差。
具体实施时,拥塞控制设备根据所述待控制出口队列在当前轮次的吞吐、预期吞吐、待控制出口队列的各入口队列的pfc阈值、待控制出口队列的ecn最大标记概率和待控制出口队列的ecn门限确定所述待控制出口队列的吞吐误差。
具体地,可以通过以下公式计算所述待控制出口队列的吞吐误差:
一般情况下默认throughtputpreset=1,因此,上式表示为:
具体实施时,可以参照步骤s21的逻辑设计函数h2(throughtput,throughtputpreset),此时,函数h2(throughtput,throughtputpreset)可以设计为以自然常数为底数的指数函数形式:
h2=aebx c
(其中,令x=throughtput-throughtputpreset,throughtputpreset=1),此处不作赘述。
s23、根据待控制出口队列的pfc触发次数、预期pfc触发次数和待控制出口队列的ecn最大标记概率确定待控制出口队列的pfc触发次数误差。
具体实施时,拥塞控制设备根据待控制出口队列的pfc触发次数、预期pfc触发次数和待控制出口队列的ecn最大标记概率确定所述待控制出口队列的pfc触发次数误差。
具体地,可以通过以下公式计算所述待控制出口队列的pfc触发次数误差:
一般情况下默认npfcpreset=0,故上式表示为:
具体实施时,尽可能不触发pfc,因此,预期触发次数默认设置为0。函数h3(npfc,npfcpreset)的设计可以参照步骤s21的逻辑,此时,函数h3(npfc,npfcpreset)可以设计为以自然常数为底数的指数函数形式:
h3=aebx c
(其中,令x=npfcpreset-npfc,npfcpreset=0),此处不作赘述。
需要说明的是,本发明实施例中,在设计函数h1、h2和h3时,可以根据实际情况改变公式形式,仅需保证函数形式对应逻辑(如公式(7)~(9))即可,如还可以将公式(10)(即函数h1)设置为对数形式:h1=a·logbx c,其中,可以令
throughtputpreset=1,可以将函数h3设置为对数形式:h3=a·logbx c,其中,可以令x=npfcpreset-npfc,npfcpreset=0,本发明实施例对此不作限定。并且,采集的参数也可以根据实际情况增加,仅需在公式(6)后增加相应参数对应的函数及权重即可。
需要说明的是,本发明实施例对步骤s21~s23的执行顺序不作限定,也可以同时执行步骤s21~s23。
s24、根据待控制出口队列的时延误差、待控制出口队列的吞吐误差和待控制出口队列的pfc触发次数误差确定待控制出口队列的ecn门限调节误差。
具体实施时,可以通过以下公式(即公式(6))计算所述待控制出口队列的ecn门限调节误差:
h=α·h1(timelog,timelogpreset) β·h2(throughtput,throughtputpreset) δ·h3(npfc,npfcpreset)
s25、根据待控制出口队列的ecn最大标记概率和待控制出口队列的ecn门限调节误差确定待控制出口队列的ecn门限调节因子。
具体实施时,可以通过以下公式计算所述待控制出口队列的ecn门限调节因子:
f=pmax·h
其中,f表示所述待控制出口队列的ecn门限调节因子;
pmax表示所述待控制出口队列的ecn最大标记概率;
h表示所述待控制出口队列的ecn门限调节误差,h=α·h1(timelog,timelogpreset) β·h2(throughtput,throughtputpreset) δ·h3(npfc,npfcpreset),h1(timelog,timelogpreset)表示所述待控制出口队列的时延误差,timelog表示所述时延,timelogpreset表示所述预期时延,α表示所述待控制出口队列的时延误差的权重,h2(throughtput,throughtputpreset)表示所述待控制出口队列的吞吐误差,throughtput表示所述吞吐,throughtputpreset表示所述预期吞吐,β表示所述待控制出口队列的吞吐误差的权重,h3(npfc,npfcpreset)表示所述待控制出口队列的pfc触发次数误差,npfc表示所述待控制出口队列的pfc触发次数,npfcpreset表示所述预期pfc触发次数,δ表示所述待控制出口队列的pfc触发次数误差的权重,α β δ=1,其中:
s13、根据所述ecn门限调节因子和所述配置信息中包含的所述待控制出口队列在当前轮次的ecn门限确定所述待控制出口队列在下一轮次的ecn门限。
具体实施时,拥塞控制设备根据待控制出口队列的ecn门限调节因子和所述待控制出口队列在当前轮次的ecn门限确定所述待控制出口队列在下一轮次的ecn门限。
具体地,可以通过以下公式计算所述待控制出口队列下一轮次的ecn门限:
ki 1=(1-f)ki
其中,ki表示所述待控制出口队列在第i轮次的ecn门限;
ki 1表示所述待控制出口队列在第i 1轮次的ecn门限;
f表示所述待控制出口队列的ecn门限调节因子;
其中,第i轮次即为当前轮次,第i 1轮次即为下一轮次。
s14、将所述待控制出口队列在下一轮次的ecn门限下发至所述当前交换机,以使所述当前交换机在下一轮次根据所述待控制出口队列在下一轮次的ecn门限对所述待控制出口队列进行拥塞控制。
具体实施时,拥塞控制设备将所述待控制出口队列在下一轮次的ecn门限下发至所述当前交换机,所述当前交换机在下一轮次根据所述待控制出口队列在下一轮次的ecn门限对所述待控制出口队列进行拥塞控制。
本发明实施例提供的拥塞控制方法,应用于至少一个交换机对应的拥塞控制设备中,每个交换机包括至少一个出口队列,每个出口队列对应至少两个入口队列,拥塞控制设备采集当前交换机的待控制出口队列在当前轮次的配置信息和网络状态信息,如果确定所述网络状态信息不满足预设条件,则根据所述待控制出口队列在当前轮次的配置信息和网络状态信息确定所述待控制出口队列的ecn门限调节因子,根据所述ecn门限调节因子和所述配置信息中包含的所述待控制出口队列在当前轮次的ecn门限确定所述待控制出口队列在下一轮次的ecn门限,并将待控制出口队列在下一轮次的ecn门限下发至当前交换机,当前交换机在下一轮次根据接收的该待控制出口队列在下一轮次的ecn门限对所述待控制出口队列进行拥塞控制,相比于现有技术,本发明实施例提供的拥塞控制方法,按照轮次采集交换机的待控制出口队列的配置信息和网络状态信息,当满足ecn门限调节条件时,根据上述两个层面的信息共同确定对待控制出口队列的ecn门限的调节程度,并根据待控制出口队列在当前轮次的ecn门限进行相应调整,作为待控制出口队列在下一轮次的ecn门限,即通过迭代的方式实现了针对不同的交换机的待控制出口队列的相关信息动态配置不同的ecn门限,实现了对ecn门限的动态调整,提高了拥塞控制效率,并且,本发明中仅需在单台交换机上采集交换机的待控制出口队列的相关数据,与其他设备无关,降低了数据采集难度,使得本发明提供的ecn门限动态调整方法适应能力和扩展能力更强。
基于同一发明构思,本发明实施例还提供了一种拥塞控制装置,由于上述拥塞控制装置解决问题的原理与拥塞控制方法相似,因此上述装置的实施可以参见方法的实施,重复之处不再赘述。
如图4所示,其为本发明实施例提供的拥塞控制装置的结构示意图,所述拥塞控制装置应用于至少一个交换机对应的拥塞控制设备中,每个交换机包括至少一个出口队列,每个出口队列对应至少两个入口队列,所述装置可以包括:
采集单元31,用于采集当前交换机的待控制出口队列在当前轮次的配置信息和网络状态信息;
第一确定单元32,用于若确定所述网络状态信息不满足预设条件,则根据所述配置信息和所述网络状态信息确定所述待控制出口队列的显示拥塞通知ecn门限调节因子;
第二确定单元33,用于根据所述ecn门限调节因子和所述配置信息中包含的所述待控制出口队列在所述当前轮次的ecn门限确定所述待控制出口队列在下一轮次的ecn门限;
拥塞控制单元34,用于将所述待控制出口队列在下一轮次的ecn门限下发至所述当前交换机,以使所述当前交换机在所述下一轮次根据所述待控制出口队列在下一轮次的ecn门限对所述待控制出口队列进行拥塞控制。
较佳地,若所述网络状态信息包括所述待控制出口队列的基于优先级的流量控制pfc触发次数、吞吐和时延,所述吞吐为所述待控制出口队列的报文输出平均速率,所述时延为所述待控制出口队列的平均转发时延,则所述预设条件为预期时延大于或等于所述时延、预期吞吐小于或等于所述吞吐、预期pfc触发次数大于或等于所述待控制出口队列的pfc触发次数。
较佳地,若所述网络状态信息还包括所述待控制出口队列的ecn触发次数和所述待控制出口队列的最低转发时延,所述配置信息包括所述待控制出口队列的pfc阈值、所述待控制出口队列的各入口队列的pfc阈值和所述待控制出口队列的ecn最大标记概率,则所述第一确定单元32,具体用于根据所述时延、所述预期时延、所述待控制出口队列的最低转发时延、所述待控制出口队列的各入口队列的pfc阈值、所述待控制出口队列的ecn最大标记概率和所述待控制出口队列的ecn门限确定所述待控制出口队列的时延误差;根据所述吞吐、所述预期吞吐、所述待控制出口队列的各入口队列的pfc阈值、所述待控制出口队列的ecn最大标记概率和所述待控制出口队列的ecn门限确定所述待控制出口队列的吞吐误差;根据所述待控制出口队列的pfc触发次数、所述预期pfc触发次数和所述待控制出口队列的ecn最大标记概率确定所述待控制出口队列的pfc触发次数误差;根据所述待控制出口队列的时延误差、所述待控制出口队列的吞吐误差和所述待控制出口队列的pfc触发次数误差确定所述待控制出口队列的ecn门限调节误差;根据所述待控制出口队列的ecn最大标记概率和所述待控制出口队列的ecn门限调节误差确定所述待控制出口队列的ecn门限调节因子。
较佳地,所述第二确定单元33,具体用于通过以下公式计算所述待控制出口队列在下一轮次的ecn门限:
ki 1=(1-f)ki
其中,ki表示所述待控制出口队列在第i轮次的ecn门限;
ki 1表示所述待控制出口队列在第i 1轮次的ecn门限;
f表示所述待控制出口队列的ecn门限调节因子。
较佳地,所述第一确定单元32,具体用于通过以下公式计算所述待控制出口队列的ecn门限调节因子:
f=pmax·h
其中,f表示所述待控制出口队列的ecn门限调节因子;
pmax表示所述待控制出口队列的ecn最大标记概率;
h表示所述待控制出口队列的ecn门限调节误差,h=α·h1(timelog,timelogpreset) β·h2(throughtput,throughtputpreset) δ·h3(npfc,npfcpreset),h1(timelog,timelogpreset)表示所述待控制出口队列的时延误差,timelog表示所述时延,timelogpreset表示所述预期时延,α表示所述待控制出口队列的时延误差的权重,h2(throughtput,throughtputpreset)表示所述待控制出口队列的吞吐误差,throughtput表示所述吞吐,throughtputpreset表示所述预期吞吐,β表示所述待控制出口队列的吞吐误差的权重,h3(npfc,npfcpreset)表示所述待控制出口队列的pfc触发次数误差,npfc表示所述待控制出口队列的pfc触发次数,npfcpreset表示所述预期pfc触发次数,δ表示所述待控制出口队列的pfc触发次数误差的权重,α β δ=1,其中:
基于同一技术构思,本发明实施例还提供了一种电子设备400,参照图5所示,电子设备400用于实施上述方法实施例记载的拥塞控制方法,该实施例的电子设备400可以包括:存储器401、处理器402以及存储在所述存储器中并可在所述处理器上运行的计算机程序,例如拥塞控制程序。所述处理器执行所述计算机程序时实现上述各个拥塞控制方法实施例中的步骤,例如图2所示的步骤s11。或者,所述处理器执行所述计算机程序时实现上述各装置实施例中各模块/单元的功能,例如31。
本发明实施例中不限定上述存储器401、处理器402之间的具体连接介质。本申请实施例在图5中以存储器401、处理器402之间通过总线403连接,总线403在图5中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线403可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器401可以是易失性存储器(volatilememory),例如随机存取存储器(random-accessmemory,ram);存储器401也可以是非易失性存储器(non-volatilememory),例如只读存储器,快闪存储器(flashmemory),硬盘(harddiskdrive,hdd)或固态硬盘(solid-statedrive,ssd)、或者存储器401是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器401可以是上述存储器的组合。
处理器402,用于实现如图2所示的一种拥塞控制方法,包括:
所述处理器402,用于调用所述存储器401中存储的计算机程序执行如图4中所示的步骤s11、采集当前交换机的待控制出口队列在当前轮次的配置信息和网络状态信息,步骤s12、若确定所述网络状态信息不满足预设条件,则根据所述配置信息和所述网络状态信息确定所述待控制出口队列的ecn门限调节因子,步骤s13、根据所述ecn门限调节因子和所述配置信息中包含的所述待控制出口队列在当前轮次的ecn门限确定所述待控制出口队列在下一轮次的ecn门限,和步骤s14、将所述待控制出口队列在下一轮次的ecn门限下发至所述当前交换机,以使所述当前交换机在下一轮次根据所述待控制出口队列在下一轮次的ecn门限对所述待控制出口队列进行拥塞控制。
本申请实施例还提供了一种计算机可读存储介质,存储为执行上述处理器所需执行的计算机可执行指令,其包含用于执行上述处理器所需执行的程序。
在一些可能的实施方式中,本发明提供的拥塞控制方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在电子设备上运行时,所述程序代码用于使所述电子设备执行本说明书上述描述的根据本发明各种示例性实施方式的拥塞控制方法中的步骤,例如,所述电子设备可以执行如图2中所示的步骤s11、采集当前交换机的待控制出口队列在当前轮次的配置信息和网络状态信息,步骤s12、若确定所述网络状态信息不满足预设条件,则根据所述配置信息和所述网络状态信息确定所述待控制出口队列的ecn门限调节因子,步骤s13、根据所述ecn门限调节因子和所述配置信息中包含的所述待控制出口队列在当前轮次的ecn门限确定所述待控制出口队列在下一轮次的ecn门限,和步骤s14、将所述待控制出口队列在下一轮次的ecn门限下发至所述当前交换机,以使所述当前交换机在下一轮次根据所述待控制出口队列在下一轮次的ecn门限对所述待控制出口队列进行拥塞控制。
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(装置)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
1.一种拥塞控制方法,其特征在于,应用于至少一个交换机对应的拥塞控制设备中,每个交换机包括至少一个出口队列,每个出口队列对应至少两个入口队列,所述方法包括:
采集当前交换机的待控制出口队列在当前轮次的配置信息和网络状态信息;
若确定所述网络状态信息不满足预设条件,则根据所述配置信息和所述网络状态信息确定所述待控制出口队列的显示拥塞通知ecn门限调节因子;
根据所述ecn门限调节因子和所述配置信息中包含的所述待控制出口队列在所述当前轮次的ecn门限确定所述待控制出口队列在下一轮次的ecn门限;
将所述待控制出口队列在下一轮次的ecn门限下发至所述当前交换机,以使所述当前交换机在所述下一轮次根据所述待控制出口队列在下一轮次的ecn门限对所述待控制出口队列进行拥塞控制。
2.如权利要求1所述的方法,其特征在于,若所述网络状态信息包括所述待控制出口队列的基于优先级的流量控制pfc触发次数、吞吐和时延,所述吞吐为所述待控制出口队列的报文输出平均速率,所述时延为所述待控制出口队列的平均转发时延,则所述预设条件为预期时延大于或等于所述时延、预期吞吐小于或等于所述吞吐、预期pfc触发次数大于或等于所述待控制出口队列的pfc触发次数。
3.如权利要求2所述的方法,其特征在于,若所述网络状态信息还包括所述待控制出口队列的ecn触发次数和所述待控制出口队列的最低转发时延,所述配置信息包括所述待控制出口队列的pfc阈值、所述待控制出口队列的各入口队列的pfc阈值和所述待控制出口队列的ecn最大标记概率,则根据所述配置信息和所述网络状态信息确定所述待控制出口队列的ecn门限调节因子,具体包括:
根据所述时延、所述预期时延、所述待控制出口队列的最低转发时延、所述待控制出口队列的各入口队列的pfc阈值、所述待控制出口队列的ecn最大标记概率和所述待控制出口队列的ecn门限确定所述待控制出口队列的时延误差;
根据所述吞吐、所述预期吞吐、所述待控制出口队列的各入口队列的pfc阈值、所述待控制出口队列的ecn最大标记概率和所述待控制出口队列的ecn门限确定所述待控制出口队列的吞吐误差;
根据所述待控制出口队列的pfc触发次数、所述预期pfc触发次数和所述待控制出口队列的ecn最大标记概率确定所述待控制出口队列的pfc触发次数误差;
根据所述待控制出口队列的时延误差、所述待控制出口队列的吞吐误差和所述待控制出口队列的pfc触发次数误差确定所述待控制出口队列的ecn门限调节误差;
根据所述待控制出口队列的ecn最大标记概率和所述待控制出口队列的ecn门限调节误差确定所述待控制出口队列的ecn门限调节因子。
4.如权利要求3所述的方法,其特征在于,根据所述ecn门限调节因子和所述配置信息中包含的所述待控制出口队列在所述当前轮次的ecn门限确定所述待控制出口队列在下一轮次的ecn门限,具体包括:
通过以下公式计算所述待控制出口队列在下一轮次的ecn门限:
ki 1=(1-f)ki
其中,ki表示所述待控制出口队列在第i轮次的ecn门限;
ki 1表示所述待控制出口队列在第i 1轮次的ecn门限;
f表示所述待控制出口队列的ecn门限调节因子。
5.如权利要求4所述的方法,其特征在于,通过以下公式计算所述待控制出口队列的ecn门限调节因子:
f=pmax·h
其中,f表示所述待控制出口队列的ecn门限调节因子;
pmax表示所述待控制出口队列的ecn最大标记概率;
h表示所述待控制出口队列的ecn门限调节误差,h=α·h1(timelog,timelogpreset) β·h2(throughtput,throughtputpreset) δ·h3(npfc,npfcpreset),h1(timelog,timelogpreset)表示所述待控制出口队列的时延误差,timelog表示所述时延,timelogpreset表示所述预期时延,α表示所述待控制出口队列的时延误差的权重,h2(throughtput,throughtputpreset)表示所述待控制出口队列的吞吐误差,throughtput表示所述吞吐,throughtputpreset表示所述预期吞吐,β表示所述待控制出口队列的吞吐误差的权重,h3(npfc,npfcpreset)表示所述待控制出口队列的pfc触发次数误差,npfc表示所述待控制出口队列的pfc触发次数,npfcpreset表示所述预期pfc触发次数,δ表示所述待控制出口队列的pfc触发次数误差的权重,α β δ=1,其中:
6.一种拥塞控制装置,其特征在于,应用于至少一个交换机对应的拥塞控制设备中,每个交换机包括至少一个出口队列,每个出口队列对应至少两个入口队列,所述装置包括:
采集单元,用于采集当前交换机的待控制出口队列在当前轮次的配置信息和网络状态信息;
第一确定单元,用于若确定所述网络状态信息不满足预设条件,则根据所述配置信息和所述网络状态信息确定所述待控制出口队列的显示拥塞通知ecn门限调节因子;
第二确定单元,用于根据所述ecn门限调节因子和所述配置信息中包含的所述待控制出口队列在所述当前轮次的ecn门限确定所述待控制出口队列在下一轮次的ecn门限;
拥塞控制单元,用于将所述待控制出口队列在下一轮次的ecn门限下发至所述当前交换机,以使所述当前交换机在所述下一轮次根据所述待控制出口队列在下一轮次的ecn门限对所述待控制出口队列进行拥塞控制。
7.如权利要求6所述的装置,其特征在于,若所述网络状态信息包括所述待控制出口队列的基于优先级的流量控制pfc触发次数、吞吐和时延,所述吞吐为所述待控制出口队列的报文输出平均速率,所述时延为所述待控制出口队列的平均转发时延,则所述预设条件为预期时延大于或等于所述时延、预期吞吐小于或等于所述吞吐、预期pfc触发次数大于或等于所述待控制出口队列的pfc触发次数。
8.如权利要求7所述的装置,其特征在于,若所述网络状态信息还包括所述待控制出口队列的ecn触发次数和所述待控制出口队列的最低转发时延,所述配置信息包括所述待控制出口队列的pfc阈值、所述待控制出口队列的各入口队列的pfc阈值和所述待控制出口队列的ecn最大标记概率,则所述第一确定单元,具体用于根据所述时延、所述预期时延、所述待控制出口队列的最低转发时延、所述待控制出口队列的各入口队列的pfc阈值、所述待控制出口队列的ecn最大标记概率和所述待控制出口队列的ecn门限确定所述待控制出口队列的时延误差;根据所述吞吐、所述预期吞吐、所述待控制出口队列的各入口队列的pfc阈值、所述待控制出口队列的ecn最大标记概率和所述待控制出口队列的ecn门限确定所述待控制出口队列的吞吐误差;根据所述待控制出口队列的pfc触发次数、所述预期pfc触发次数和所述待控制出口队列的ecn最大标记概率确定所述待控制出口队列的pfc触发次数误差;根据所述待控制出口队列的时延误差、所述待控制出口队列的吞吐误差和所述待控制出口队列的pfc触发次数误差确定所述待控制出口队列的ecn门限调节误差;根据所述待控制出口队列的ecn最大标记概率和所述待控制出口队列的ecn门限调节误差确定所述待控制出口队列的ecn门限调节因子。
9.如权利要求8所述的装置,其特征在于,
所述第二确定单元,具体用于通过以下公式计算所述待控制出口队列在下一轮次的ecn门限:
ki 1=(1-f)ki
其中,ki表示所述待控制出口队列在第i轮次的ecn门限;
ki 1表示所述待控制出口队列在第i 1轮次的ecn门限;
f表示所述待控制出口队列的ecn门限调节因子。
10.如权利要求9所述的装置,其特征在于,
所述第一确定单元,具体用于通过以下公式计算所述待控制出口队列的ecn门限调节因子:
f=pmax·h
其中,f表示所述待控制出口队列的ecn门限调节因子;
pmax表示所述待控制出口队列的ecn最大标记概率;
h表示所述待控制出口队列的ecn门限调节误差,h=α·h1(timelog,timelogpreset) β·h2(throughtput,throughtputpreset) δ·h3(npfc,npfcpreset),h1(timelog,timelogpreset)表示所述待控制出口队列的时延误差,timelog表示所述时延,timelogpreset表示所述预期时延,α表示所述待控制出口队列的时延误差的权重,h2(throughtput,throughtputpreset)表示所述待控制出口队列的吞吐误差,throughtput表示所述吞吐,throughtputpreset表示所述预期吞吐,β表示所述待控制出口队列的吞吐误差的权重,h3(npfc,npfcpreset)表示所述待控制出口队列的pfc触发次数误差,npfc表示所述待控制出口队列的pfc触发次数,npfcpreset表示所述预期pfc触发次数,δ表示所述待控制出口队列的pfc触发次数误差的权重,α β δ=1,其中:
11.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1~5任一项所述的拥塞控制方法。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1~5任一项所述的拥塞控制方法中的步骤。
技术总结