CN112804156A - 一种拥塞避免方法和装置及计算机可读存储介质 - Google Patents

一种拥塞避免方法和装置及计算机可读存储介质 Download PDF

Info

Publication number
CN112804156A
CN112804156A CN201911105574.4A CN201911105574A CN112804156A CN 112804156 A CN112804156 A CN 112804156A CN 201911105574 A CN201911105574 A CN 201911105574A CN 112804156 A CN112804156 A CN 112804156A
Authority
CN
China
Prior art keywords
chip cache
threshold
received message
port
message
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.)
Withdrawn
Application number
CN201911105574.4A
Other languages
English (en)
Inventor
梁卫敬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sanechips Technology Co Ltd
Original Assignee
Sanechips Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sanechips Technology Co Ltd filed Critical Sanechips Technology Co Ltd
Priority to CN201911105574.4A priority Critical patent/CN112804156A/zh
Publication of CN112804156A publication Critical patent/CN112804156A/zh
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2425Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
    • H04L47/2433Allocation of priorities to traffic types
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/6275Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例公开了一种拥塞避免方法和装置及计算机可读存储介质,包括:当确定不需要丢弃接收到的报文,且确定需要将接收到的报文搬移到片外缓存中时,将所述接收到的报文搬移到所述片外缓存中。本发明实施例采用片外缓存来缓解片内缓存的压力,而不需要增加片内缓存,使得丢弃的报文减少,从而丢失的报文数据量较少,也就实现了在拥塞发生时避免拥塞的同时提高了业务的QoS。

Description

一种拥塞避免方法和装置及计算机可读存储介质
技术领域
本发明实施例涉及但不限于通信网络设备领域,尤指一种拥塞避免方法和装置及计算机可读存储介质。
背景技术
对于网络业务来说,网络资源总是有限的,为了平衡或者保证业务的服务质量(QoS,Quality of Service),引入了流量管理的概念,其中,包括拥塞避免、队列管理、流量整形、拥塞管理等。
流量管理普遍存在于交换网芯片,其常用的处理过程用以下几个处理步骤来描述:
1、拥塞避免(CGAVD,Congestion Avoid)模块接收前级单元发送过来的报文描述符,从报文描述符中提取报文信息;
2、CGAVD模块根据报文信息和内部维护的队列深度判断是否丢弃报文;
3、队列管理单元(QMU,Queue Management Unit)通过链表管理报文,对接收的报文进行入队管理,向拥塞管理模块申请队列的授权,对授权的队列中的报文进行出队管理,从缓存中读出报文;
4、拥塞管理模块按照一定的策略进行授权分发,比如严格优先级、加权轮询、加权公平队列等策略;
5、拥塞管理模块同时进行拥塞管理,基于用户设置的带宽,通过整形器对各个队列的授权、发放速率进行控制,从而实现对队列流量的控制。
上述方式是从队列管理方式、授权分发策略、整形策略等方面通过采用不同的算法来提高流量管理的性能。但对于流量管理本身来说,内存在一定程度上对QoS影响很大,然而对于一个芯片来说,从功耗、成本来说,内部缓存都不可能一直增大,目前由很多方式来缓解缓存的压力,提高QoS,比如通过随机丢弃报文的方式,比如通过自适应修改丢弃门限丢弃报文的方式,再比如根据报文在队列中的时间丢弃报文。然而,在大带宽场景下,业务数量很多,发生网络拥塞时,仅通过丢弃报文的方式,可能会导致报文数据大量丢失,从而影响业务的QoS。
发明内容
本发明实施例提供了一种拥塞避免方法和装置及计算机可读存储介质,能够实现在避免拥塞的同时提高业务的QoS。
本发明实施例提供了一种拥塞避免方法,包括:
当确定不需要丢弃接收到的报文,且确定需要将接收到的报文搬移到片外缓存中时,将所述接收到的报文搬移到所述片外缓存中。
在本发明实施例中,所述将接收到的报文搬移到所述片外缓存中之前,该方法还包括:
判断出所述片外缓存中的缓存报文计数小于所述接收到的报文所在的流队列的搬移丢弃阈值。
在本发明实施例中,当所述片外缓存中的缓存报文计数大于或等于所述接收到的报文所在的流队列的搬移丢弃阈值时,该方法还包括:丢弃所述接收到的报文。
在本发明实施例中,优先级高的流队列的搬移丢弃阈值大于优先级低的流队列的搬移丢弃阈值。
在本发明实施例中,当确定不需要丢弃接收到的报文,且确定不需要将所述接收到的报文搬移到所述片外缓存中时,该方法还包括:
将所述接收到的报文放入片内缓存中。
在本发明实施例中,根据是否满足第一条件确定是否需要将接收到的报文搬移到片外缓存中;
其中,所述第一条件包括以下任意一个或多个:
片内缓存总计数大于或等于***级搬移阈值;
所述接收到的报文所在的端口的端口缓存计数大于或等于端口级搬移阈值;
所述接收到的报文所在的流队列的队列深度大于或等于流级搬移阈值。
在本发明实施例中,所述根据是否满足第一条件确定是否需要将接收到的报文搬移到片外缓存中包括以下任意一或多个:
当满足所述第一条件中的一个或多个条件时,确定需要将所述接收到的报文搬移到所述片外缓存中;
当不满足所述第一条件中的任何一个条件时,确定不需要将所述接收到的报文搬移到所述片外缓存中。
在本发明实施例中,优先级高的端口的端口级搬移阈值大于优先级低的端口的端口级搬移阈值。
在本发明实施例中,优先级高的流队列的流级搬移阈值大于优先级低的流队列的流级搬移阈值。
本发明实施例提出了一种拥塞避免装置,包括处理器和计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令被所述处理器执行时,实现上述任一种拥塞避免方法。
本发明实施例提出了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一种拥塞避免方法的步骤。
本发明一个实施例包括:当确定不需要丢弃接收到的报文,且确定需要将接收到的报文搬移到片外缓存中时,将所述接收到的报文搬移到所述片外缓存中。本发明实施例采用片外缓存来缓解片内缓存的压力,而不需要增加片内缓存,使得丢弃的报文减少,从而丢失的报文数据量较少,也就实现了在拥塞发生时避免拥塞的同时提高了业务的QoS。
本发明另一个实施例中,所述将接收到的报文搬移到所述片外缓存中之前,该方法还包括:判断出所述片外缓存中的缓存报文计数小于所述接收到的报文所在的流队列的搬移丢弃阈值。由于片外缓存也是有限的,通过将片外缓存中的缓存报文计数与接收到的报文所在的流队列的搬移丢弃阈值的对比确定是否丢弃接收到的报文,从而避免了片外缓存受限造成的问题,如由于片外缓存压力造成的反压导致报文入队困难。
本发明另一个实施例中,优先级高的流队列的搬移丢弃阈值大于优先级低的流队列的搬移丢弃阈值。本发明实施例通过设置优先级高的流队列的搬移丢弃阈值大于优先级低的流队列的搬移丢弃阈值,使得低优先级的报文优先丢弃,优先保证了高优先级的报文的QoS。
本发明另一个实施例中,优先级高的端口的端口级搬移阈值大于优先级低的端口的端口级搬移阈值。本发明实施例通过设置优先级高的端口的端口级搬移阈值大于优先级低的端口的端口级搬移阈值,使得低优先级的报文优先搬移到片外缓存,优先保证了高优先级的报文的QoS。
在本发明另一个实施例中,优先级高的流队列的流级搬移阈值大于优先级低的流队列的流级搬移阈值。本发明实施例通过设置优先级高的流队列的流级搬移阈值大于优先级低的流队列的流级搬移阈值,使得低优先级的报文优先搬移到片外缓存,而高优先级的报文尽量保留在片内缓存,优先保证了高优先级的报文的QoS。
本发明实施例的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明实施例而了解。本发明实施例的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明实施例技术方案的进一步理解,并且构成说明书的一部分,与本发明实施例的实施例一起用于解释本发明实施例的技术方案,并不构成对本发明实施例技术方案的限制。
图1为本发明一个实施例提出的拥塞避免方法的流程图;
图2为本发明实施例的示例提出的拥塞避免方法的流程图;
图3为本发明另一个实施例提出的拥塞避免装置的结构组成示意图;
图4为本发明实施例的示例提出的拥塞避免装置的结构组成示意图。
具体实施方式
下文中将结合附图对本发明实施例进行详细说明。需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互任意组合。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
参见图1,本发明一个实施例提出了一种拥塞避免方法,包括:
步骤100、当确定不需要丢弃接收到的报文,且确定需要将接收到的报文搬移到片外缓存中时,将所述接收到的报文搬移到所述片外缓存中。
在本发明另一个实施例中,当确定不需要丢弃接收到的报文,且确定不需要将所述接收到的报文搬移到所述片外缓存中时,该方法还包括:
将所述接收到的报文放入片内缓存中。
在本发明另一个实施例中,当确定需要丢弃接收到的报文时,丢弃接收到的报文。
在本发明实施例中,接收到报文之后,将内部维护的片内缓存的队列深度加上当前报文的长度得到新的队列深度,将得到的新的队列深度与丢弃门限进行比较,当新的队列深度大于或等于丢弃门限时,确定需要丢弃接收到的报文;当新的队列深度小于丢弃门限时,确定不需要丢弃接收到的报文。
在一个示例性实例中,队列深度是流队列中的报文大小的统计,用block作为测量单位,1block=384Byte,当有报文入队、出队时均需要根据报文大小更新报文所在流队列的流队列深度。
在一个示例性实例中,在存在片外缓存的情况下,为了尽可能少丢弃接收到的报文,可以将丢弃门限设置的比不存在片外缓存的情况下的丢弃门限要高。
在一个示例性实例中,为了在不存在片外缓存时,上述判断是否需要丢弃接收到的报文同样有效,可以将丢弃门限设置的低一些。
在本发明实施例中,根据是否满足第一条件确定是否需要将接收到的报文搬移到片外缓存中;
其中,所述第一条件包括以下任意一个或多个:
片内缓存总计数大于或等于***级搬移阈值;
所述接收到的报文所在的端口的端口缓存计数大于或等于端口级搬移阈值;
所述接收到的报文所在的流队列的队列深度大于或等于流级搬移阈值。
具体的,根据是否满足第一条件确定是否需要将接收到的报文搬移到片外缓存中包括以下任意一或多个:
当满足所述第一条件中的一个或多个条件时,确定需要将所述接收到的报文搬移到所述片外缓存中;
当不满足所述第一条件中的任何一个条件时,确定不需要将所述接收到的报文搬移到所述片外缓存中。
在一个示例性实例中,***级搬移阈值大于端口级搬移阈值,端口级搬移阈值大于流级搬移阈值,***级搬移阈值、端口级搬移阈值和流级搬移阈值可以根据业务情况进行设置,报文所在流队列挂接到某一个端口上,同一个端口可以挂接多条流队列。
在本发明实施例中,片内缓存总计数是指片内缓存中缓存的所有报文的大小和接收到的报文的大小之和,以block为单位,1block=384Byte,当有报文入队、出队、丢弃或搬移时均需要根据报文大小更新片内缓存总计数。
接收到的报文所在的端口的端口缓存计数是指端口对应的流队列中的所有报文的大小和接收到的报文的大小之和,以block为单位,1block=384Byte,当有报文入队、出队、丢弃或搬移时均需要根据报文大小更新报文所在端口的端口缓存计数。
接收到的报文所在的流队列的队列深度是指流队列中的所有报文的大小和接收到的报文的大小之和,以block为单位,1block=384Byte,当有报文入队、出队时均需要根据报文大小更新报文所在流队列的流队列深度。
在本发明实施例中,不同端口的端口级搬移阈值可以相同,也可以不同。在一个示例性实例中,可以通过设置优先级高的端口的端口级搬移阈值大于优先级低的端口的端口级搬移阈值,使得低优先级的报文优先搬移到片外缓存,高优先级报文尽量留在片内,处理速度快,尽量保证高优先级的报文的QoS。
在本发明实施例中,不同流队列的流级搬移阈值可以相同,也可以不同。在一个示例性实例中,可以通过设置优先级高的流队列的流级搬移阈值大于优先级低的流队列的流级搬移阈值,使得低优先级的报文优先搬移到片外缓存,高优先级报文尽量留在片内缓存,处理速度快,尽量保证高优先级的报文的QoS。
本发明实施例采用片外缓存来缓解片内缓存的压力,而不需要增加片内缓存,使得丢弃的报文减少,从而丢失的报文数据量较少,也就实现了在拥塞发生时避免拥塞的同时提高了业务的QoS。
在本发明另一个实施例中,将接收到的报文搬移到所述片外缓存之前,该方法还包括:
判断出所述片外缓存中的缓存报文计数小于所述接收到的报文所在的流队列的搬移丢弃阈值。
在本发明另一个实施例中,当所述片外缓存中的缓存报文计数大于或等于所述接收到的报文所在的流队列的搬移丢弃阈值时,该方法还包括:丢弃所述接收到的报文。
在一个示例性实例中,缓存报文计数是指片外缓存中缓存的报文的大小加上接收到的报文的大小,以block为单位,1block=384Byte。
在本发明实施例中,不同流队列的搬移丢弃阈值可以相同,也可以不相同,本发明实施例对此不作限定。在一个示例性实例中,可以通过设置优先级高的流队列的搬移丢弃阈值大于优先级低的流队列的搬移丢弃阈值,使得低优先级的报文优先丢弃,优先保证高优先级的报文的QoS。
由于片外缓存也是有限的,通过将片外缓存中缓存的报文大小与接收到的报文所在的流队列的搬移丢弃阈值的对比确定是否丢弃接收到的报文,从而避免了片外缓存受限造成的问题,如由于片外缓存压力造成的反压导致报文入队困难。
下面通过一个示例来说明本发明实施例的拥塞避免方法的实现过程,所举的例子仅仅是为了说明方便,不能认为本发明实施例的拥塞避免方法仅仅只有这一种实现方式。
示例1
参见图2,该方法包括:
步骤200、接收到前级单元发送过来的报文描述符。
步骤201、根据报文描述符中接收到的报文的信息(即报文的大小或长度)和队列深度确定是否需要丢弃报文,当需要丢弃报文时,执行步骤202,并结束本流程;当不需要丢弃报文时,继续执行步骤203。
步骤202、将接收到的报文描述符打上丢弃(drop)标记,将打上drop标记的报文描述符返回给前级单元,由前级单元丢弃所述接收到的报文。
步骤203、将片内缓存总计数与***级搬移阈值进行对比,当片内缓存总计数大于或等于***级搬移阈值时,执行步骤207;当片内缓存总计数小于***级搬移阈值时,执行步骤204。
步骤204、将接收到的报文所在的端口的端口缓存计数与端口级搬移阈值进行对比,当接收到的报文所在的端口的端口缓存计数大于或等于端口级搬移阈值,执行步骤207;当接收到的报文所在的端口的端口缓存计数小于端口级搬移阈值时,执行步骤205。
步骤205、将接收到的报文所在的流队列的队列深度与流级搬移阈值进行对比,当接收到的报文所在的流队列的队列深度大于或等于流级搬移阈值时,执行步骤207;当接收到的报文所在的流队列的队列深度小于流级搬移阈值时,执行步骤206,并结束本流程。
步骤206、将所述接收到的报文放入片内缓存中,进行入队操作。
步骤207、将片外缓存中的缓存报文计数与接收到的报文所在的流队列的搬移丢弃阈值进行对比,当片外缓存中的缓存报文计数小于所述接收到的报文所在的流队列的搬移丢弃阈值时,执行步骤208,并结束本流程;当片外缓存中的缓存报文计数大于或等于所述接收到的报文所在的流队列的搬移丢弃阈值时,执行步骤202,并结束本流程。
步骤208、将所述接收到的报文搬移到所述片外缓存中。
本发明另一个实施例提出了一种拥塞避免装置,包括处理器和计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令被所述处理器执行时,实现上述任一种拥塞避免方法。
本发明另一个实施例提出了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一种拥塞避免方法的步骤。
参见图3,本发明另一个实施例提出了一种拥塞避免装置,包括:
判断模块301,用于确定是否需要丢弃接收到的报文,且确定是否需要将接收到的报文搬移到片外缓存中;并将判断结果发送给处理模块302;
处理模块302,用于当确定不需要丢弃接收到的报文,且确定需要将接收到的报文搬移到片外缓存中时,将所述接收到的报文搬移到所述片外缓存中。
在本发明另一个实施例中,处理模块302还用于:
当确定不需要丢弃接收到的报文,且确定不需要将所述接收到的报文搬移到所述片外缓存中时,将所述接收到的报文放入片内缓存中。
在本发明另一个实施例中,处理模块302还用于:
当确定需要丢弃接收到的报文时,丢弃接收到的报文。
在本发明实施例中,判断模块301可以将片内缓存的队列深度加上当前报文长度得到新的队列深度,将得到的新的队列深度与丢弃门限进行比较,当新的队列深度大于或等于丢弃门限时,确定需要丢弃接收到的报文;当新的队列深度小于丢弃门限时,确定不需要丢弃接收到的报文。
在一个示例性实例中,队列深度是流队列中的报文大小统计,用block作为测量单位,1block=384Byte,当有报文入队、出队时均需要根据报文大小更新报文所在流队列的流队列深度。
在一个示例性实例中,在存在片外缓存的情况下,为了尽可能少丢弃接收到的报文,可以将丢弃门限设置的比不存在片外缓存的情况下的丢弃门限要高。
在一个示例性实例中,为了在不存在片外缓存时,上述判断是否需要丢弃接收到的报文同样有效,可以将丢弃门限设置的低一些。
在本发明实施例中,判断模块301还用于:
根据是否满足第一条件确定是否需要将接收到的报文搬移到片外缓存中;
其中,所述第一条件包括以下任意一个或多个:
片内缓存总计数大于或等于***级搬移阈值;
所述接收到的报文所在的端口的端口缓存计数大于或等于端口级搬移阈值;
所述接收到的报文所在的流队列的队列深度大于或等于流级搬移阈值。
具体的,判断模块301具体用于采用以下任意一个或多个方式实现根据是否满足第一条件确定是否需要将接收到的报文搬移到片外缓存中:
当满足所述第一条件中的一个或多个条件时,确定需要将所述接收到的报文搬移到所述片外缓存中;
当不满足所述第一条件中的任何一个条件时,确定不需要将所述接收到的报文搬移到所述片外缓存中。
在一个示例性实例中,***级搬移阈值大于端口级搬移阈值,端口级搬移阈值大于流级搬移阈值,***级搬移阈值、端口级搬移阈值和流级搬移阈值可以根据业务情况进行设置,报文所在流队列挂接到某一个端口上,同一个端口可以挂接多条流队列。
在本发明实施例中,片内缓存总计数是指片内缓存中缓存的所有报文的大小和接收到的报文的大小之和,以block为单位,1block=384Byte,当有报文入队、出队、丢弃或搬移时均需要根据报文大小更新片内缓存总计数。
接收到的报文所在的端口的端口缓存计数是指端口对应的流队列中的所有报文的大小和接收到的报文的大小之和,以block为单位,1block=384Byte,当有报文入队、出队、丢弃或搬移时均需要根据报文大小更新报文所在端口的端口缓存计数。
接收到的报文所在的流队列的流队列深度是指流队列中的所有报文的大小和接收到的报文的大小之和,以block为单位,1block=384Byte,当有报文入队、出队时均需要根据报文大小更新报文所在流队列的流队列深度。
在本发明实施例中,不同端口的端口级搬移阈值可以相同,也可以不同。在一个示例性实例中,可以通过设置优先级高的端口的端口级搬移阈值大于优先级低的端口的端口级搬移阈值,使得低优先级的报文优先搬移到片外缓存,高优先级报文尽量留在片内,处理速度快,尽量保证高优先级的报文的QoS。
在本发明实施例中,不同流队列的流级搬移阈值可以相同,也可以不同。在一个示例性实例中,可以通过设置优先级高的流队列的流级搬移阈值大于优先级低的流队列的流级搬移阈值,使得低优先级的报文优先搬移到片外缓存,而高优先级的报文尽量保留在片内缓存,处理速度快,尽量保证高优先级的报文的QoS。
本发明实施例采用片外缓存来缓解片内缓存的压力,而不需要增加片内缓存,使得丢弃的报文减少,从而丢失的报文数据量较少,也就实现了在拥塞发生时避免拥塞的同时提高了业务的QoS。
在本发明另一个实施例中,判断模块301还用于:
判断所述片外缓存中缓存的报文计数是否小于所述接收到的报文所在的流队列的搬移丢弃阈值;
处理模块302还用于:
判断出所述片外缓存中缓存的报文计数小于所述接收到的报文所在的流队列的搬移丢弃阈值,将所述接收到的报文搬移到所述片外缓存中,所述接收到的报文所在的流队列中。
在本发明另一个实施例中,处理模块302还用于:
当所述片外缓存中缓存的报文计数大于或等于所述接收到的报文所在的流队列的搬移丢弃阈值时,丢弃所述接收到的报文。
在本发明实施例中,不同流队列的搬移丢弃阈值可以相同,也可以不相同,本发明实施例对此不作限定。在一个示例性实例中,可以通过设置优先级高的流队列的搬移丢弃阈值大于优先级低的流队列的搬移丢弃阈值,使得低优先级的报文优先丢弃,优先保证高优先级的报文的QoS。
由于片外缓存也是有限的,通过将片外缓存中缓存的报文大小与接收到的报文所在的流队列的搬移丢弃阈值的对比确定是否丢弃接收到的报文,从而避免了片外缓存受限造成的问题,如由于片外缓存压力造成的反压导致报文入队困难。
下面通过一个示例来说明本发明实施例的拥塞避免装置的实现过程,所举的例子仅仅是为了说明方便,不能认为本发明实施例的拥塞避免装置仅仅只有这一种实现方式。
示例2
本示例中,参见图4,在内存管理单元(TMMU,Traffic Memory Management Unit)中增加报文缓存模块,用于统计搬移到片外缓存中的缓存报文计数,并将片外缓存中的缓存报文计数反馈给CGAVD模块,该装置包括:CGAVD模块、TMMU(包括设置在TMMU中的报文缓存模块)、片外缓存(如高带宽内存(HBM,High Bandwidth Memory)。
在另一个示例中,该装置还包括:QMU、拥塞管理模块等。
其中,CGAVD模块,用于接收前级单元发送过来的报文描述符;
当确定不需要丢弃接收到的报文,且确定需要将接收到的报文搬移到片外缓存中时,判断出所述片外缓存中缓存的报文计数小于所述接收到的报文所在的流队列的搬移丢弃阈值,将所述接收到的报文搬移到所述片外缓存中;
当确定不需要丢弃接收到的报文,且确定需要将接收到的报文搬移到片外缓存中时,判断出所述片外缓存中缓存的报文计数大于或等于所述接收到的报文所在的流队列的搬移丢弃阈值,将接收到的报文描述符打上丢弃(drop)标记,将打上drop标记的报文描述符返回给前级单元,由前级单元丢弃所述接收到的报文;
当确定不需要丢弃接收到的报文,且确定不需要将所述接收到的报文搬移到所述片外缓存中时,将所述接收到的报文放入片内缓存中;
当确定需要丢弃接收到的报文时,将接收到的报文描述符打上丢弃(drop)标记,将打上drop标记的报文描述符返回给前级单元,由前级单元丢弃接收到的报文。
其中,根据是否满足第一条件确定是否需要将接收到的报文搬移到片外缓存中;
其中,所述第一条件包括以下任意一个或多个:
片内缓存总计数大于或等于***级搬移阈值;
所述接收到的报文所在的端口的端口缓存计数大于或等于端口级搬移阈值;
所述接收到的报文所在的流队列的流队列深度大于或等于流级搬移阈值。
具体的,根据是否满足第一条件确定是否需要将接收到的报文搬移到片外缓存中包括以下任意一或多个:
当满足所述第一条件中的一个或多个条件时,确定需要将所述接收到的报文搬移到所述片外缓存中;
当不满足所述第一条件中的任何一个条件时,确定不需要将所述接收到的报文搬移到所述片外缓存中。
其中,QMU、拥塞管理模块等的功能不作改变。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、***、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
虽然本发明实施例所揭露的实施方式如上,但所述的内容仅为便于理解本发明实施例而采用的实施方式,并非用以限定本发明实施例。任何本发明实施例所属领域内的技术人员,在不脱离本发明实施例所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明实施例的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

Claims (11)

1.一种拥塞避免方法,包括:
当确定不需要丢弃接收到的报文,且确定需要将接收到的报文搬移到片外缓存中时,将所述接收到的报文搬移到所述片外缓存中。
2.根据权利要求1所述的拥塞避免方法,其特征在于,所述将接收到的报文搬移到所述片外缓存中之前,该方法还包括:
判断出所述片外缓存中的缓存报文计数小于所述接收到的报文所在的流队列的搬移丢弃阈值。
3.根据权利要求2所述的拥塞避免方法,其特征在于,当所述片外缓存中的缓存报文计数大于或等于所述接收到的报文所在的流队列的搬移丢弃阈值时,该方法还包括:丢弃所述接收到的报文。
4.根据权利要求2或3所述的拥塞避免方法,其特征在于,其中,优先级高的流队列的搬移丢弃阈值大于优先级低的流队列的搬移丢弃阈值。
5.根据权利要求1所述的拥塞避免方法,其特征在于,其中,当确定不需要丢弃接收到的报文,且确定不需要将所述接收到的报文搬移到所述片外缓存中时,该方法还包括:
将所述接收到的报文放入片内缓存中。
6.根据权利要求1或5所述的拥塞避免方法,其特征在于,根据是否满足第一条件确定是否需要将接收到的报文搬移到片外缓存中;
其中,所述第一条件包括以下任意一个或多个:
片内缓存总计数大于或等于***级搬移阈值;
所述接收到的报文所在的端口的端口缓存计数大于或等于端口级搬移阈值;
所述接收到的报文所在的流队列的队列深度大于或等于流级搬移阈值。
7.根据权利要求6所述的拥塞避免方法,其特征在于,其中,所述根据是否满足第一条件确定是否需要将接收到的报文搬移到片外缓存中包括以下任意一或多个:
当满足所述第一条件中的一个或多个条件时,确定需要将所述接收到的报文搬移到所述片外缓存中;
当不满足所述第一条件中的任何一个条件时,确定不需要将所述接收到的报文搬移到所述片外缓存中。
8.根据权利要求6所述的拥塞避免方法,其特征在于,其中,优先级高的端口的端口级搬移阈值大于优先级低的端口的端口级搬移阈值。
9.根据权利要求6所述的拥塞避免方法,其特征在于,其中,优先级高的流队列的流级搬移阈值大于优先级低的流队列的流级搬移阈值。
10.一种拥塞避免装置,包括处理器和计算机可读存储介质,所述计算机可读存储介质中存储有指令,其特征在于,当所述指令被所述处理器执行时,实现如权利要求1~9任一项所述的拥塞避免方法。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1~9任一项所述的拥塞避免方法的步骤。
CN201911105574.4A 2019-11-13 2019-11-13 一种拥塞避免方法和装置及计算机可读存储介质 Withdrawn CN112804156A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911105574.4A CN112804156A (zh) 2019-11-13 2019-11-13 一种拥塞避免方法和装置及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911105574.4A CN112804156A (zh) 2019-11-13 2019-11-13 一种拥塞避免方法和装置及计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN112804156A true CN112804156A (zh) 2021-05-14

Family

ID=75803291

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911105574.4A Withdrawn CN112804156A (zh) 2019-11-13 2019-11-13 一种拥塞避免方法和装置及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN112804156A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113923169A (zh) * 2021-10-11 2022-01-11 浙江大华技术股份有限公司 报文的过滤方法及装置、存储介质、电子装置
WO2023130997A1 (zh) * 2022-01-07 2023-07-13 华为技术有限公司 管理流量管理tm控制信息的方法、tm模块和网络转发设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102216911A (zh) * 2011-05-31 2011-10-12 华为技术有限公司 一种数据管理方法、装置及数据芯片
CN103888377A (zh) * 2014-03-28 2014-06-25 华为技术有限公司 报文缓存方法及装置
WO2017107363A1 (zh) * 2015-12-22 2017-06-29 深圳市中兴微电子技术有限公司 缓存管理的方法和装置、计算机存储介质
US20180083882A1 (en) * 2016-09-22 2018-03-22 Oracle International Corporation Methods, systems, and computer readable media for discarding messages during a congestion event
CN108234348A (zh) * 2016-12-13 2018-06-29 深圳市中兴微电子技术有限公司 一种队列操作中的处理方法及装置
CN109729014A (zh) * 2017-10-31 2019-05-07 深圳市中兴微电子技术有限公司 一种报文存储方法和装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102216911A (zh) * 2011-05-31 2011-10-12 华为技术有限公司 一种数据管理方法、装置及数据芯片
CN103888377A (zh) * 2014-03-28 2014-06-25 华为技术有限公司 报文缓存方法及装置
WO2017107363A1 (zh) * 2015-12-22 2017-06-29 深圳市中兴微电子技术有限公司 缓存管理的方法和装置、计算机存储介质
US20180083882A1 (en) * 2016-09-22 2018-03-22 Oracle International Corporation Methods, systems, and computer readable media for discarding messages during a congestion event
CN108234348A (zh) * 2016-12-13 2018-06-29 深圳市中兴微电子技术有限公司 一种队列操作中的处理方法及装置
CN109729014A (zh) * 2017-10-31 2019-05-07 深圳市中兴微电子技术有限公司 一种报文存储方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
姜彬彬;王;: "一种用于拥塞网络节点缓存队列长度控制方法", 计算机仿真, no. 08 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113923169A (zh) * 2021-10-11 2022-01-11 浙江大华技术股份有限公司 报文的过滤方法及装置、存储介质、电子装置
WO2023130997A1 (zh) * 2022-01-07 2023-07-13 华为技术有限公司 管理流量管理tm控制信息的方法、tm模块和网络转发设备

Similar Documents

Publication Publication Date Title
US8467295B2 (en) System and methods for distributed quality of service enforcement
US11171891B2 (en) Congestion drop decisions in packet queues
CN113973085B (zh) 一种拥塞控制方法和装置
CN107404443B (zh) 队列缓存资源控制方法及装置、服务器及存储介质
JP5431467B2 (ja) 特定のトラフィックフローにバックプレッシャーフロー制御を提供すること
CN107948103B (zh) 一种基于预测的交换机pfc控制方法及控制***
CN113064738B (zh) 基于概要数据的主动队列管理方法
US20150244639A1 (en) Method and apparatus for deriving a packet select probability value
CN110138678B (zh) 数据传输控制方法和装置、以及网络传输设备和存储介质
CN113810309A (zh) 拥塞处理方法、网络设备及存储介质
CN112804156A (zh) 一种拥塞避免方法和装置及计算机可读存储介质
CN113315720B (zh) 一种数据流控制方法、***及设备
JP7211765B2 (ja) パケット転送装置、方法、及びプログラム
US7286552B1 (en) Method and apparatus for providing quality of service across a switched backplane for multicast packets
CN108173780B (zh) 数据处理方法、装置、计算机及存储介质
US7408876B1 (en) Method and apparatus for providing quality of service across a switched backplane between egress queue managers
US11991088B2 (en) System and method for congestion management in computer networks
WO2021143913A1 (zh) 拥塞控制方法、装置及***、存储介质
CN113572655A (zh) 无丢失网络的拥塞探测方法及***
CN117793583A (zh) 报文转发方法、装置、电子设备及计算机可读存储介质
US9088507B1 (en) Dummy queues and virtual queues in a network device
EP4181479A1 (en) Method for identifying flow, and apparatus
CN113835611A (zh) 存储调度方法、设备和存储介质
US7599292B1 (en) Method and apparatus for providing quality of service across a switched backplane between egress and ingress queue managers
CN109729014B (zh) 一种报文存储方法和装置

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
WW01 Invention patent application withdrawn after publication

Application publication date: 20210514

WW01 Invention patent application withdrawn after publication