CN117971769A - 芯片中缓存资源的管理方法及相关装置 - Google Patents
芯片中缓存资源的管理方法及相关装置 Download PDFInfo
- Publication number
- CN117971769A CN117971769A CN202410369957.7A CN202410369957A CN117971769A CN 117971769 A CN117971769 A CN 117971769A CN 202410369957 A CN202410369957 A CN 202410369957A CN 117971769 A CN117971769 A CN 117971769A
- Authority
- CN
- China
- Prior art keywords
- interface
- flow control
- threshold
- resource amount
- maximum
- 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 89
- 238000012544 monitoring process Methods 0.000 claims abstract description 9
- 238000011144 upstream manufacturing Methods 0.000 claims description 88
- 238000012545 processing Methods 0.000 claims description 79
- 230000000670 limiting effect Effects 0.000 claims description 24
- 230000004044 response Effects 0.000 claims description 19
- 238000011217 control strategy Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 9
- 230000008859 change Effects 0.000 claims description 7
- 230000003993 interaction Effects 0.000 abstract 1
- 230000008569 process Effects 0.000 description 36
- 238000013468 resource allocation Methods 0.000 description 8
- 230000009471 action Effects 0.000 description 5
- 230000003139 buffering effect Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供了一种芯片中缓存资源的管理方法及相关装置,方法包括:监控目标芯片的每一接口占用的缓存资源量;基于当前监控到的缓存资源量、以及针对每一接口分别配置的最大资源量,对各接口进行流量控制;其中,每一接口的最大资源量与接口的带宽成正比,且各接口的最大资源量之和不超过目标芯片提供的总缓存资源量。能够避免流量突发下接口之间的相互影响。
Description
技术领域
本发明涉及通信技术领域,特别是涉及芯片中缓存资源的管理方法及相关装置。
背景技术
在网络处理器芯片中,网络侧支持不同带宽的接口类型,用于区分单播、组播、镜像和协议流等不同的业务类型。所有网络接口的总带宽会共享整芯片的缓存资源,在网络传输过程中出现流量突发时,若某一接口的流量在下行处理过程中出现拥塞,长时间占用较多的缓存资源,或在极端情况下缓存资源被少量接口耗尽时,其他接口的流量可能都会受到影响,导致丢包甚至停流。
发明内容
本发明实施例的目的在于提供一种芯片中缓存资源的管理方法及相关装置,以避免流量突发下接口之间的相互影响。具体技术方案如下:
第一方面,本发明实施例提供了一种芯片中缓存资源的管理方法,包括:
监控目标芯片的每一接口占用的缓存资源量;
基于当前监控到的缓存资源量、以及针对每一所述接口分别配置的最大资源量,对各所述接口进行流量控制;其中,每一所述接口的最大资源量与所述接口的带宽成正比,且各所述接口的最大资源量之和不超过所述目标芯片提供的总缓存资源量。
可选的,针对每一所述接口,配置有至少一项不大于该接口对应的最大资源量的流量控制阈值;
所述基于当前监控到的缓存资源量、以及针对每一所述接口分别配置的最大资源量,对各所述接口进行流量控制,包括:
响应于任一所述接口占用的缓存资源量达到为该接口配置的流量控制阈值,针对该接口执行与该流量控制阈值对应的流量控制策略。
可选的,针对每一所述接口,所述流量控制阈值包括:上游流控阈值和部分丢包阈值中的至少一项,所述上游流控阈值小于所述部分丢包阈值,且所述部分丢包阈值和所述上游流控阈值均小于所述最大资源量;
所述响应于任一所述接口占用的缓存资源量达到为该接口配置的流量控制阈值,针对该接口执行与该流量控制阈值对应的流量控制策略,包括:
响应于任一所述接口占用的缓存资源量达到针对该接口配置的上游流控阈值,向上游设备发送流量控制消息,以使所述上游设备针对该接口进行数据流限速处理;
和/或,
响应于任一所述接口占用的缓存资源量达到针对该接口配置的部分丢包阈值,对到达该接口的部分报文进行丢包处理。
可选的,针对每一所述接口,所述流量控制阈值包括:全丢包阈值,所述全丢包阈值不超过所述最大资源量;
所述响应于任一所述接口占用的缓存资源量达到为该接口配置的流量控制阈值,针对该接口执行与该流量控制阈值对应的流量控制策略,包括:
响应于任一所述接口占用的缓存资源量达到针对该接口配置的全丢包阈值,对到达该接口的全部报文进行丢包处理。
可选的,针对每一所述接口,所述上游流控阈值包括多个依次递增的第一分级阈值,每一所述第一分级阈值均预先对应于一个或多个流量优先级;
所述响应于任一所述接口占用的缓存资源量达到针对该接口配置的上游流控阈值,向上游设备发送流量控制消息,包括:
响应于任一所述接口占用的缓存资源量达到该接口对应的任一第一分级阈值,向所述上游设备发送相应的流量控制消息,以使所述上游设备针对该接口对具有该第一分级阈值对应的流量优先级的报文进行数据流限速处理。
可选的,针对每一所述接口,所述部分丢包阈值包括多个依次递增的第二分级阈值,每一所述第二分级阈值均预先对应于一个或多个流量优先级;
所述响应于任一所述接口占用的缓存资源量达到针对该接口配置的部分丢包阈值,对到达该接口的部分报文进行丢包处理,包括:
响应于任一所述接口占用的缓存资源量达到该接口对应的任一第二分级阈值,对到达该接口的具有该第二分级阈值对应的流量优先级的报文进行丢包处理。
可选的,针对每一所述接口,所述上游流控阈值和/或所述部分丢包阈值是在所述最大资源量的基础上,结合预设乘数因子确定的。
可选的,所述接口的最大资源量为:所述接口的带宽在第一带宽中的比例与所述总缓存资源量的乘积;所述第一带宽为所述目标芯片支持的最大带宽。
可选的,还包括:
响应于所述目标芯片上的热插拔新增接口操作,为该新增接口配置对应的最大资源量;该最大资源量为:该新增接口的带宽在所述第一带宽中的比例与所述总缓存资源量的乘积。
可选的,还包括:
响应于针对任一所述接口的热插拔带宽变更操作,为该接口确定新的最大资源量,将针对该接口配置的最大资源量更新为所述新的最大资源量;所述新的最大资源量为:该接口变更后的带宽在所述第一带宽中的比例与所述总缓存资源量的乘积。
第二方面,本发明实施例提供了一种芯片中缓存资源的管理装置,包括:
监控模块,用于监控目标芯片的每一接口占用的缓存资源量;
控制模块,用于基于当前监控到的缓存资源量、以及针对每一所述接口分别配置的最大资源量,对各所述接口进行流量控制;其中,每一所述接口的最大资源量与所述接口的带宽成正比,且各所述接口的最大资源量之和不超过所述目标芯片提供的总缓存资源量。
第三方面,本发明实施例提供了一种芯片,包括流量控制模块,所述流量控制模块用于执行上述任一项的芯片中缓存资源的管理方法。
第四方面,本发明实施例提供了一种电子设备,包括具有流量控制模块的芯片,所述流量控制模块用于执行上述任一项的芯片中缓存资源的管理方法。
第五方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项的芯片中缓存资源的管理方法。
本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的芯片中缓存资源的管理方法。
本发明实施例有益效果:
本发明实施例提供的芯片中缓存资源的管理方法及相关装置,根据每个接口的带宽对每个接口所能够占用的最大资源量进行了限制,该最大资源量具体与接口的带宽成正比。相当于是通过最大资源量的形式,以接口的带宽的大小为依据将芯片中的全局资源分配给了不同的接口,保证了每个接口能够占用的最大资源量的大小与该接口在实际应用中对于缓存资源的需求程度相适应。
在芯片的接口实际进行业务转发的过程中,若部分接口上出现数据拥塞情况,具体会根据接口实时占用的缓存资源量、与接口对应的最大资源量,针对这些接口执行流量控制,保证这部分接口实际占用的缓存资源量满足预先配置的最大资源量的限制,从而这部分存在数据拥塞问题的接口不会去占用已经预先规则给其它接口的缓存资源、进而不会对其它接口上正常的业务转发造成影响,能够有效保证芯片的全局转发性能、规避流量突发情况下不同接口之间的相互影响。
当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的实施例。
图1为本发明实施例提供的芯片中缓存资源的管理方法的流程示意图;
图2为本发明实施例提供的流量控制阈值的示意图;
图3为本发明实施例提供的芯片中缓存资源的分配流程的示意图;
图4为本发明实施例提供的芯片中缓存资源的管理装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员基于本申请所获得的所有其他实施例,都属于本发明保护的范围。
目前,网络芯片上配置的不同接口通常会共享整个芯片的缓存资源,在网络拥塞的情况下,可能会出现少数接口占用过多的全局资源、或少数接口用尽全局资源的情况,使得其它接口上的业务处理受影响,进而导致芯片的整体性能下降。有鉴于此,本发明实施例提供了一种芯片中缓存资源的管理方法,参见图1,该方法具体包括以下步骤:
步骤S101:监控目标芯片的每一接口占用的缓存资源量。
具体即,针对需要进行缓存资源管理的芯片,可以针对该芯片的每一接口占用的缓存资源量进行实时的统计。
步骤S102:基于当前监控到的缓存资源量、以及针对每一接口分别配置的最大资源量,对各接口进行流量控制;其中,每一接口的最大资源量与接口的带宽成正比,且各接口的最大资源量之和不超过目标芯片提供的总缓存资源量。
在本发明实施例中,为了避免不同接口之间进行缓存资源的抢占,具体会针对每一接口分别配置对应的最大资源量。在芯片实际进行业务转发的过程中,单个接口占用的缓存资源量不应超过该接口的最大资源量。
应当理解,不同接口对于缓存资源量的需求存在差异,因此有必要针对各个接口进行最大资源量的差异化配置。在本发明实施例中,具体可以要求针对每个接口配置的最大资源量,与这些接口的带宽成正比。应当注意,为保证不同接口之间不会抢占芯片中的缓存资源,应保证为芯片中所有接口配置的最大资源量的总和不超过芯片提供的总缓存资源量。
具体来说,接口的带宽具体表征了接口的数据传输能力,且网络侧通常支持不同带宽的接口类型。在实际的应用场景中,通常可以针对不同的业务类型灵活分配具有不同带宽的接口,从而能够通过不同带宽的接口实现对于单播、组播、镜像和协议流等不同业务类型的区分。基于此,接口的带宽的大小能够在很大程度上表征出该接口对于缓存资源量的需求情况,从而在本发明实施例中将接口的带宽作为确定最大资源量的依据,能够保证为每个接口配置的最大资源量与该接口对于缓存资源的需求情况相适应。
具体的,配置每一接口的最大资源量的过程,可以在芯片初始化阶段进行。在一种可能的实现方式中,在确定出接口的最大资源量之后,可以在芯片中划分出对应大小的缓存资源分配至该接口,这部分缓存资源后续将由该接口独享。
在芯片实际进行报文转发的过程中,针对芯片的每个接口,可以通过对该接口实时占用的缓存资源量与该接口的最大资源量进行比较,在该接口已用尽或即将用尽该最大资源量时,执行必要的流量控制,以保证该接口实际占用的缓存资源量不超过该接口的最大资源量。
其中,针对接口进行的流量控制具体可以是丢包处理、或是指示上游设备进行数据流限速处理等操作。指示上游设备进行数据流限速处理,具体指向上游设备发送流量控制消息、由该上游设备降低发送至该接口的数据流量的发送速率、或暂停向该接口发送数据流量,以缓解该接口上的数据拥塞问题。
作为一个示例,可以在接口用尽对应的最大资源量时,对后续到达该接口的报文进行丢包处理,以保证该接口占用的缓存资源量不会超过该最大资源量。或者,也可以在接口已占用的缓存资源量接近最大资源量时,指示上游设备进行数据流限速处理,以限制该接口占用的缓存资源量的后续提升。
本发明实施例提供的芯片中缓存资源的管理方法,根据每个接口的带宽对每个接口所能够占用的最大资源量进行了限制,该最大资源量具体与接口的带宽成正比。相当于是通过最大资源量的形式,以接口的带宽的大小为依据将芯片中的全局资源分配给了不同的接口,保证了每个接口能够占用的最大资源量的大小与该接口在实际应用中对于缓存资源的需求程度相适应。
在芯片的接口实际进行业务转发的过程中,若部分接口上出现数据拥塞情况,具体会根据接口实时占用的缓存资源量、与接口对应的最大资源量,针对这些接口执行流量控制,保证这部分接口实际占用的缓存资源量满足预先配置的最大资源量的限制,从而这部分存在数据拥塞问题的接口不会去占用已经预先规划给其它接口的缓存资源、进而不会对其它接口上正常的业务转发造成影响,能够有效保证芯片的全局转发性能、规避流量突发情况下不同接口之间的相互影响。
在本发明的一个实施例中,可以根据每个接口的最大资源量,为该接口配置相应的流量控制阈值,基于流量控制阈值进行流量控制。在该实施例中,针对每一接口,配置有至少一项不大于该接口对应的最大资源量的流量控制阈值。
相应的,前述的步骤S102具体包括:
响应于任一接口占用的缓存资源量达到为该接口配置的流量控制阈值,针对该接口执行与该流量控制阈值对应的流量控制策略。
示例性的,针对芯片的每个接口,可以在该接口的最大资源量的基础上,按照该最大资源量的不同比例来设定至少一项流量控制阈值,并为不同的流量控制阈值指定不同的流量控制策略。
在芯片实际进行报文转发的过程中,针对每一个接口,可以对该接口实时占用的缓存资源量与流量控制阈值进行比较,在实时占用的缓存资源量不小于一项流量控制阈值的情况下,针对该接口执行与该流量控制阈值对应的流量控制策略。从而针对每个接口,随着该接口占用的缓存资源量逐渐增大,可以适应性地执行不同的流量控制策略,保证流量控制效果。
在这一过程中,配置的流量控制阈值的数量以及大小、每一流量控制阈值具体对应的流量控制策略可以结合实际的应用场景进行设定。
作为一个示例,可以将最大资源量本身作为一项流量控制阈值,将对应的流量控制策略设为简单的丢包处理,将最大资源量的60%作为另一项流量控制阈值,将对应的流量控制策略设为指示上游设备进行数据流限速处理。从而在该示例中,当一个接口占用的缓存资源量达到对应的最大资源量的60%,即可指示上游设备进行数据流限速处理,若该接口实际占用的缓存资源量继续增长至最大资源量,即可针对后续到达该接口的报文进行丢包处理。
相应的,在对该接口上的报文进行丢包处理的过程中,若该接口实际占用的缓存资源量下降至低于该最大资源量、但不小于该最大资源量的60%的数值,即可停止进行丢包处理,恢复指示上游设备进行数据流限速处理的操作。若该接口实际占用的缓存资源量继续下降至最大资源量的60%以下,即可结束针对该接口的流量控制。
在本发明实施例中,可以针对每个接口配置一项或多项不大于对应的最大资源量的流量控制阈值,并针对每一流量控制阈值设置对应的流量控制策略。从而在实际的应用场景中,随着接口占用的缓存资源量不断提升,可以适应性地执行适合于不同实际情况的流量控制策略,更适用于实际的应用场景、也能够有效保证流量控制效果。
在本发明的一个实施例中,针对每一接口,流量控制阈值包括:全丢包阈值,全丢包阈值不超过最大资源量。在本发明后续的一个或多个实施例中,将该全丢包阈值称为TD(Tail Drop,最上层丢包)阈值。
相应的,前述的响应于任一接口占用的缓存资源量达到为该接口配置的流量控制阈值,针对该接口执行与该流量控制阈值对应的流量控制策略,具体包括:
响应于任一接口占用的缓存资源量达到针对该接口配置的全丢包阈值,对到达该接口的全部报文进行丢包处理。
具体来说,若针对到达接口的全部报文进行丢包处理,则该接口占用的缓存资源量将无法继续上涨。从而可以将最大资源量本身作为全丢包阈值,即可保证每个接口占用的缓存资源量满足对应的最大资源量的要求。
在本发明的一个实施例中,针对每一接口,流量控制阈值包括:上游流控阈值和部分丢包阈值中的至少一项,上游流控阈值小于部分丢包阈值,且部分丢包阈值和上游流控阈值均小于最大资源量。
在本发明实施例中,针对配置有上游流控阈值的情况,该阈值对应的策略为由上游设备执行的流量控制,相应的处理过程为:
响应于任一接口占用的缓存资源量达到针对该接口配置的上游流控阈值,向上游设备发送流量控制消息,以使上游设备针对该接口进行数据流限速处理。
具体的,当检测到一个接口实际占用的缓存资源量不小于对应的上游流控阈值,即可向上游设备发送流量控制消息,上游设备在接收到该流量控制消息后,将降低发送至该接口的数据流量的发送速率、或暂停向该接口发送数据流量,从而可以实现针对该接口的流量控制、对该接口占用的缓存资源量的继续提升起到限制效果。
针对配置有部分丢包阈值的情况,该阈值对应的策略为丢包策略,相应的处理过程为:
响应于任一接口占用的缓存资源量达到针对该接口配置的部分丢包阈值,对到达该接口的部分报文进行丢包处理。
具体的,在检测到一个接口实际占用的缓存资源量还未达到最大资源量、但不小于部分丢包阈值的情况,可以对后续到达该接口的报文中的部分报文进行丢包处理,以限制该接口占用的缓存资源量的增长。
具体来说,通过为芯片的每一接口设定依次递增的上游流控阈值、部分丢包阈值和全丢包阈值,在芯片实际进行报文转发的过程中,随着接口占用的缓存资源量逐渐提升,将先后针对该接口执行上游流控、部分丢包处理、全丢包处理三种不同的流量控制流程。
就由上游设备执行流量控制这一处理策略而言,虽然该策略对于业务处理流程的影响更小,但由于延迟等原因,该策略对于数据拥塞问题的响应及时性有限,从上游设备开始执行流量控制、到本端接口占用的缓存资源量实际开始下降需要一定的时间。因此,若在上游设备执行流量控制的过程中,本端接口占用的缓存资源量持续提升至部分丢包阈值,就有必要针对该接口上的部分报文进行丢包处理,由于丢包处理对于数据拥塞问题的响应更为及时,因此在这种情况下通常能够起到更好的缓解数据拥塞的效果。若数据拥塞严重,针对接口上的部分报文进行丢包处理仍无法制止该接口占用的缓存资源量继续提升,就有必要针对该接口上的报文进行无差别的丢包处理,以最及时的方式解决该接口上存在的数据拥塞问题。
从而在本发明实施例中,在接口占满对应的最大资源量之前,就会预先通过上游流控、部分丢包处理的策略来缓解该接口上产生的数据拥塞问题,在数据拥塞情况不严重的情况下,能够规避该接口占用的缓存资源量持续增长至对应的最大资源量。相较于不在接口占用的缓存资源量达到最大资源量之前进行预先的流量控制、直接在接口占满最大资源量时直接进行全部丢包处理的方案,能够减少流量控制过程对正常的业务处理流程造成的影响、更适用于实际的应用场景。
作为一个示例,可以将60%的最大资源量作为上游流控阈值,将90%的最大资源量作为部分丢包阈值,将最大资源量本身作为全丢包阈值。从而在该示例中,当检测到一个接口占用的缓存资源量不小于最大资源量的60%、但还未达到最大资源量的90%,可以指示上游设备进行数据流限速处理。在上游设备针对该接口进行数据流限速处理的过程中,若该接口占用的缓存资源量下降至60%以下,即可结束针对该接口的流量控制,若该接口占用的缓存资源量继续增长至不小于最大资源量的90%的数值、但还未占用该最大资源量,则可以进一步针对该接口上的报文进行部分丢包处理,并且在进行丢包处理的过程中,也可以继续由上游设备执行流量控制。
在针对该接口上的报文进行部分丢包处理的过程中,若该接口占用的缓存资源下降至最大资源量的90%以下,即可不再针对该接口上的部分进行部分丢包处理,而是恢复指示上游设备针对该接口进行数据流限速处理,若该接口占用的缓存资源量持续增长至最大资源量,即可针对该接口上的报文进行全部丢包处理,以避免该接口占用的缓存资源量超过该最大资源量。
在实际的应用场景中,不同的业务流量可能具有不同的流量优先级,且这一流量优先级具体可以理解为对应的业务流量的重要程度,一个报文的流量优先级越高,则该报文就更重要。在本发明的一个实施例中,为了降低流量控制过程对具有更高优先级的业务流量造成的影响,在针对接口执行上游流控或部分丢包处理的过程中,可以分层次地针对具有不同优先级的报文执行相应的流量控制过程。为了便于描述,在本发明后续的一个或多个实施例中,将上游流控阈值称为FC(Flow Control,流量控制)阈值,将部分丢包阈值称为PD(Priority Drop,基于优先级的丢包)阈值。
在该实施例中,针对每一接口,上游流控阈值包括多个依次递增的第一分级阈值,每一第一分级阈值均预先对应于一个或多个流量优先级。
相应的,前述响应于任一接口占用的缓存资源量达到针对该接口配置的上游流控阈值,向上游设备发送流量控制消息,包括:
响应于任一接口占用的缓存资源量达到该接口对应的任一第一分级阈值,向上游设备发送相应的流量控制消息,以使上游设备针对该接口对具有该第一分级阈值对应的流量优先级的报文进行数据流限速处理。
在一种可能的实现方式中,针对芯片的每一接口,可以在该接口的最大资源量的基础上结合预设乘数因子来设定相应的FC阈值。例如,可以设定一组针对上游流控策略的FC乘数因子,分别为0.6、0.65、0.7、0.75,将接口的最大资源量分别乘以这四个FC乘数因子,即可获得该接口对应的四项FC阈值。
具体来说,在为不同大小的FC阈值确定对应的流量优先值时,可以遵循如下规则:
按照FC阈值从小到大的顺序,一个FC阈值对应的流量优先级,在前一个FC阈值对应的流量优先级的基础上增加了一个或多个更高的流量优先级。
其中,本发明实施例所涉及的流量优先级具体可以指PFC(Priority-based FlowControl,基于优先级的流量控制)技术所规定的流量优先级,其中具体规定有8种优先级,按照优先级从低到高的顺序,可以依次用7至0的数字来表示这8个优先级。在实际应用中,报文通常都会在特定的字段内携带用于表征优先级的信息,例如IP(Internet Protocol,互联网协议)报文中的DSCP(Differentiated Services Code Point,差分服务代码点)值等。在本发明实施例中,针对需要进行流量控制的报文,可以根据相关通信协议中的规定将这些报文中的优先级信息映射为PFC技术所规定的8项流量优先级,即可得出该报文具有的流量优先级。
示例性的,若一项FC阈值对应的流量优先级为6、7,则可以将大于该项FC阈值的下一项FC阈值对应的流量优先级设为5、4、6、7,额外多出了4、5两个更高的优先级。
在完成FC阈值以及每项FC阈值具体对应的流量优先级的配置的情况下,在芯片实际进行报文转发的过程中,当一个接口占用的缓存资源量达到该接口对应的某一项FC阈值,即可向上游设备发送相应的流量控制消息,由上游设备针对该接口上具有与该FC阈值对应的流量优先级的报文进行数据流限速处理;若该接口占用的缓存资源量继续提升、达到另一项FC阈值,则会指示上游设备针对该接口上具有与该另一项FC阈值对应的流量优先级的报文进行数据流限速处理,即,上游设备会额外针对几个具有更高的流量优先级的报文进行数据流限速处理。
从而在本发明实施例中,随着一个接口占用的缓存资源量逐渐提升,会先指示上游设备针对低优先级的业务报文进行流量控制,在该接口占用的缓存资源量在后续提升至一定值的情况下,才会对具有更高优先级的业务报文进行流量控制,能够实现对于不同业务的差异化服务、避免流量控制过程对高优先级的业务造成明显影响。
基于相同的原理,在本发明的一个实施例中,针对每一接口,上游流控阈值包括多个依次递增的第一分级阈值,每一第一分级阈值均预先对应于一个或多个流量优先级;
相应的,前述响应于任一接口占用的缓存资源量达到针对该接口配置的上游流控阈值,向上游设备发送流量控制消息,包括:
响应于任一接口占用的缓存资源量达到该接口对应的任一第一分级阈值,向上游设备发送相应的流量控制消息,以使上游设备针对该接口对具有该第一分级阈值对应的流量优先级的报文进行数据流限速处理。
在一种可能的实现方式中,针对芯片的每一接口,可以在该接口的最大资源量的基础上结合预设乘数因子来设定相应的PD阈值。例如,可以设定一组针对部分丢包处理流程的PD乘数因子,分别为0.8、0.85、0.9,将接口的最大资源量分别乘以这三个PD乘数因子,即可获得该接口对应的三项PD阈值。
类似的,在为不同大小的PD阈值确定对应的流量优先值时,可以遵循如下规则:
按照PD阈值从小到大的顺序,一个PD阈值对应的流量优先级,在前一个PD阈值对应的流量优先级的基础上增加了一个或多个更高的流量优先级。
示例性的,若一项PD阈值对应的流量优先级为3,则可以将大于该项PD阈值的下一项PD阈值对应的流量优先级设为2、3,额外多出了更高的优先级2。
在完成PD阈值以及每项PD阈值具体对应的流量优先级的配置的情况下,在芯片实际进行报文转发的过程中,当一个接口占用的缓存资源量达到该接口对应的某一项PD阈值,即可对该接口上具有该PD阈值对应的流量优先值的报文进行丢弃;若该接口占用的缓存资源量继续提升、达到另一项PD阈值,则后续会针对该接口上具有该另一项PD阈值对应的流量优先值的报文进行丢弃,即,会额外丢弃具有更高的流量优先级的报文。
从而在本发明实施例中,随着一个接口占用的缓存资源量逐渐提升,会先针对具有较低优先级的业务报文进行丢包处理,在该接口占用的缓存资源量在后续提升至一定值的情况下,才会对具有更高优先级的业务报文进行丢包处理,能够实现对于不同业务的差异化服务、避免流量控制过程对高优先级的业务造成明显影响。
为了便于理解,下面结合具体的示例对本发明实施例涉及的针对芯片进行进行流量控制的过程进行具体说明。参见图2,其中示意出了本发明实施例针对每个接口配置的流量控制阈值,可以看出,每个接口对应的流量控制阈值具体包括:TD阈值、分层级的多项PD阈值、分层级的多项FC阈值。从而,也可以理解为这些流量控制阈值将单个接口对分配给该接口的总资源量的占用情况、区分为了图中示意出的多种状态。
图2中涉及的不同状态,以及每一状态所对应流量控制行为具体如下表所示:
表1
;
其中,PD state0和FC state4可以理解为是一项状态,对应的流量控制行为是分别针对部分丢包处理和上游流控策略列举的。TD state这一状态则表征接口已经占满对应的最大资源量。
结合图2及表1可以看出,在芯片实际进行报文转发的过程中,根据芯片的接口实时占用的缓存资源量的大小,该接口将落入表1中列举的各项状态中的特定一项,在接口处于该状态期间,针对该接口执行表1中对应的流量控制行为即可。
具体而言,接口在初始情况下处于FC states0,无需进行流量控制。随着接口占用的缓存资源逐渐提升,通过对占用的缓存资源量与图2中4项FC阈值进行比较,该接口具体可能处于FC state0至FC state4五种状态之一,若该接口处于FC state1至FC state4四种状态之一,需要指示上游设备针对该接口进行数据流限速处理,且这四种状态具体针对于具有不同流量优先级的报文;若接口占用的缓存资源在最高的一项FC阈值以上,通过对占用的缓存资源量与图2中3项PD阈值进行比较,该接口具体可能处于PD state0至PD state3四种状态之一,若该接口处于PD state1至PD state3三种状态之一,需要针对该接口上的报文执行基于优先级的丢包处理,这三种状态具体针对于具有不同流量优先级的报文。
基于该示例可以看出,本发明实施例通过针对单个接口设定依次递增的FC阈值、PD阈值及TD阈值,将单个接口对相应的资源量的占用量区分为了多种不同的状态。随着接口占用的缓存资源量逐渐提升,将依次执行:上游流控策略、基于优先级的丢包处理、无差别丢包处理。能够在接口仅出现轻微数据拥塞的情况下,适应性地执行上游流控策略,避免接口后续用尽相应的资源量,在数据拥塞严重时才会进行丢包处理。相较于在接口占满相应的最大资源量之后直接进行无差别丢包,这一分层次进行流量控制的过程能够减少对应芯片中正常业务处理的影响、实现对于不同业务的差异化服务。
在本发明的一个实施例中,接口的最大资源量为:接口的带宽在第一带宽中的比例与总缓存资源量的乘积;第一带宽为目标芯片支持的最大带宽。
示例性的,可以基于如下方式来确定芯片的每一接口对应的最大资源量:
首先,可以通过查询芯片的硬件属性信息来确定芯片提供的总缓存资源量、以及芯片支持的最大带宽,在此基础上计算单位带宽的资源数。具体来说,单位带宽的资源量即:总缓存资源量与最大带宽的商。应当注意,芯片中的缓存资源除了用来缓存业务报文,还会用来存储如描述符和表项等信息,本发明实施例中涉及的芯片提供的总缓存资源量,仅指用于缓存业务报文的缓存资源。
在获得单位带宽的资源量之后,即可遍历当前已在芯片上配置的接口,针对其中每个接口,根据该接口的带宽和单位带宽的资源量计算该接口的最大资源量。具体来说,该接口的最大资源量即:该接口的带宽与单位带宽的资源量之积。
具体的,在已配置好接口的芯片正常进行业务转发的过程中,还可以针对芯片执行热插拔操作,热插拔操作具体可以包括:新增接口操作、删除接口操作、针对已配置接口的带宽变更操作。在出现上述热插拔操作的情况下,有必要针对芯片中缓存资源的规划进行调整。而本发明实施例在确定每个接口的最大资源量时具体以接口的带宽在芯片支持的最大带宽中的比例为依据,而芯片支持的最大带宽表征芯片本身的硬件性能对于芯片中各个接口具有的最大总带宽的约束,从而在基于热插拔操作为芯片新增接口、或是基于热插拔操作变更接口带宽时,接口情况发生变更后的芯片仍需要满足这一约束。从而,基于此方案来配置接口的最大缓存资源量,能够为热插拔操作下缓存资源的动态配置留有余地,针对这一问题,本发明还进一步针对上述的三种热插拔操作均提出了对应的处理方案,以实现在芯片运行过程中的缓存资源动态配置。
从而在本发明的实施例中,上述的芯片中缓存资源的管理方法还包括:
响应于目标芯片上的热插拔新增接口操作,为该新增接口配置对应的最大资源量;该最大资源量为:该新增接口的带宽在第一带宽中的比例与总缓存资源量的乘积。
前文中提及,在基于热插拔操作为芯片新增接口、或是基于热插拔操作变更接口带宽时,接口情况发生变更后的芯片仍需要满足芯片所能够支持的最大带宽的约束。因此,可以认为本发明实施例在芯片初始化阶段已经考虑到了需要为芯片能够支持的每一单位的带宽均规划相应的缓存资源量,实现了对于单接口独享资源和全局共享资源的分配,还未分配至特定接口的全局共享资源即可作为后续出现热插拔操作时可供进一步分配的缓存资源。
因此在出现热插拔新增接口操作时,与芯片初始化阶段确定接口的最大资源量的方式类似,基于该新增接口的带宽在芯片支持的最大带宽中的比例、以及芯片提供的总缓存资源量即可确定出该新增接口的最大资源量。基于前文中的说明能够看出,该最大资源量与在芯片初始化阶段已经规划给其它接口的缓存资源之间不存在冲突。
在确定出该新增接口的最大资源量的基础上,即可按照本发明前述任意实施例中的说明,根据该新增接口实时占用的缓存资源量和该最大资源量,针对该接口进行流量控制。
示例性的,可以将确定出的最大资源量作为该新增接口的TD阈值,在该TD阈值的基础上,结合FC乘数因子和PD乘数因子确定该接口对应的表1中的各项流量控制阈值,然后基于这些流量控制阈值针对该接口参照表1执行相应的流量控制。
对于热插拔带宽变更操作,在本发明的一个实施例中,上述的芯片中缓存资源的管理方法还包括:
响应于针对任一接口的热插拔带宽变更操作,为该接口确定新的最大资源量,将针对该接口配置的最大资源量更新为新的最大资源量;新的最大资源量为:该接口变更后的带宽在第一带宽中的比例与总缓存资源量的乘积。
具体的,在任一接口的带宽发生变更的情况下,根据变更后的带宽在芯片支持的最大带宽中的比例、以及芯片提供的总缓存资源量重新为该接口配置最大资源量即可。
与新增接口操作同理,在针对带宽发生变更的接口确定好新的最大资源量之后,按照本发明前述任意实施例中的说明,根据新增接口实时占用的缓存资源量和新配置的最大资源量,针对该接口进行流量控制即可。
此外,针对热插拔删除接口操作,则可以不必执行任何操作。具体来说,若已经为被删除的接口预留了部分缓存资源,则可以对这部分缓存资源进行释放,在后续出现热插拔新增接口操作或是带宽变更操作时,可以将这部分资源作为全局共享资源进行分配。
基于上述关于针对热插拔操作的处理的说明能够看出,本发明实施例在芯片初始化阶段,根据已配置的接口的带宽在芯片支持的最大带宽中的比例,对芯片提供的总缓存资源量进行了单接口独享资源和全局共享资源的合理分配。并在芯片运行过程当中,通过流量控制手段保证了每个接口能够占用的缓存资源量受到最大资源量的严格限制,即,在每个接口仅能够占用单接口独享资源,而不会去占用全局共享资源。
从而在出现热插拔操作的情况下,能够以全局共享资源作为进行进一步的资源分配的基础,为新增接口分配相应的资源、或是为带宽发生变更后的接口的资源量大小进行调整,实现缓存资源的动态分配。由于全局共享资源不会被已配置的接口占用、且与单接口独享资源无冲突,也就无需针对已配置的接口享有的单接口独享资源进行资源释放或是资源重分配等流程。
在完成上述的动态分配过程之后,即可针对新增接口、带宽发生变更的接口按照本发明前述任意实施例提供的流程进行流量控制,从而新增接口、带宽发生变更的接口能够正常参与业务转发,且不会对原有接口的转发性能造成影响。能够通过动态调整资源分配的方式,在热插拔操作完成后仍保证全芯片流量的稳定性,应对突发流量的能力较强。
在具体实现时,可以在芯片中加入一个单独的流量控制模块(Flow CountrolUnit),由该流量控制模块通过软件流程自动进行缓存资源的分配及动态调整,实现本发明上述任意实施例提供的芯片中缓存资源的管理方法。具体的,可以在该流量控制模块中设定一定数量的Src_tag,单个Src_tag具体为用于与某个接口或该接口对应的通道绑定、记录该接口对应的流量控制阈值和已占用的缓存资源量的统计结果的标记,Src_tag与接口一一对应。示例性的,具体可以设定256个Src_tag。
在具体应用时,可以将图2中所示意的每个接口的不同流量控制阈值配置在该接口对应的Src_tag当中,并在后续对所绑定的对象实时占用的缓存资源量进行统计。芯片中的流量控制模块通过对接口实时占用的缓存资源量以及对应的Src_tag中配置的流量控制阈值,即可生成表1中所示意的对应于不同状态的流量控制信息,将这些信息发送给其它模块进行进一步处理。具体的,针对数据流限速处理的信息发送到芯片所在设备的上游设备进行响应,针对丢包处理的信息则发送到本端设备的入口进行响应,从而能够实现芯片的全局流量控制。
为了便于理解,下面结合图3对本发明实施例提供的针对芯片中缓存资源的分配算法进行示例性说明。基于图3可以看出,本发明实施例针对芯片中缓存资源的分配主要分为两个阶段:芯片初始化时的资源分配流程、芯片热插拔时的资源分配流程。下面对这两个阶段进行分别说明:
芯片初始化时的资源分配流程具体包括以下步骤:
步骤A1:根据总资源量和支持的最大带宽计算单位带宽的资源量。
步骤A2:遍历已配置的接口,根据接口带宽和单位带宽的资源量得到该接口最大资源量,配置到对应的Src_tag,作为最上层丢包阈值Tail_Drop。
步骤A3:以最上层丢包阈值Tail_Drop和PD乘数因子计算PD阈值,乘数因子可根据实际使用场景配置。
步骤A4:以最上层丢包阈值Tail_Drop和FC乘数因子计算FC阈值,乘数因子可根据实际使用场景配置。
上述的步骤A1-A4在前文中均已涉及,此处不再赘述。
在完成芯片初始化之后,即可执行步骤B:接口打流流量,芯片正常转发各类业务报文。
在执行步骤B的过程中,具体可以根据步骤A1-A4中配置好的流量控制阈值、结合表1中列举的内容针对芯片的各接口执行流量控制。
针对热插拔新增接口操作,芯片热插拔时的资源分配流程具体包括以下步骤:
步骤C11:根据新增接口带宽和单位带宽的资源量得到该接口最大资源量,配置到对应的Src_tag,作为最上层丢包阈值Tail_Drop。
步骤C12:以最上层丢包阈值Tail_Drop和PD乘数因子计算PD阈值,乘数因子可根据实际使用场景配置。
步骤C13:以最上层丢包阈值Tail_Drop和FC乘数因子计算FC阈值,乘数因子可根据实际使用场景配置。
其中,上述的步骤C12-C13与初始化阶段的步骤A3-A4对应,完成步骤C13之后,新增接口即可基于步骤B正常参与业务转发。
针对热插拔删除接口操作,芯片热插拔时的资源分配流程具体包括以下步骤:
步骤C21:接口删除后,原Src_tag不再与接口绑定,其分配的资源也不被使用,可以不做处理,一旦有新的接口需要绑定此Src_tag,会重新分配阈值。
针对热插拔带宽变更操作,芯片热插拔时的资源分配流程具体包括以下步骤:
步骤C31:根据新的接口带宽和单位带宽的资源量得到该接口最大资源数,替代原接口Src_tag的Tail_Drop作为最上层丢包阈值。
步骤C32:以最上层丢包阈值Tail_Drop和PD乘数因子计算PD阈值,乘数因子可根据实际使用场景配置。
步骤C33:以最上层丢包阈值Tail_Drop和FC乘数因子计算FC阈值,乘数因子可根据实际使用场景配置。
其中,上述的步骤C32-C33与初始化阶段的步骤A3-A4对应,完成步骤C13之后,带宽变更后的接口即可基于步骤B正常参与业务转发。
可以看出,上述示例能够在芯片初始化阶段针对已配置的接口完成缓存资源的合理分配,避免流量突发情况下接口之间的互相影响。在发生接口热插拔操作的情况下,也可以适用性地实现缓存资源的动态调整,保证热插拔操作针对的接口能够正常参与业务转发,且不影响原有接口的转发性能。
基于相同的发明构思,本发明实施例还提供了一种芯片中缓存资源的管理装置,如图4所示,该装置包括:
监控模块401,用于监控目标芯片的每一接口占用的缓存资源量;
控制模块402,用于基于当前监控到的缓存资源量、以及针对每一接口分别配置的最大资源量,对各接口进行流量控制;其中,每一接口的最大资源量与接口的带宽成正比,且各接口的最大资源量之和不超过目标芯片提供的总缓存资源量。
本发明实施例提供的芯片中缓存资源的管理装置,根据每个接口的带宽对每个接口所能够占用的最大资源量进行了限制,该最大资源量具体与接口的带宽成正比。相当于是通过最大资源量的形式,以接口的带宽的大小为依据将芯片中的全局资源分配给了不同的接口,保证了每个接口能够占用的最大资源量的大小与该接口在实际应用中对于缓存资源的需求程度相适应。
在芯片的接口实际进行业务转发的过程中,若部分接口上出现数据拥塞情况,具体会根据接口实时占用的缓存资源量、与接口对应的最大资源量,针对这些接口执行流量控制,保证这部分接口实际占用的缓存资源量满足预先配置的最大资源量的限制,从而这部分存在数据拥塞问题的接口不会去占用已经预先规则给其它接口的缓存资源、进而不会对其它接口上正常的业务转发造成影响,能够有效保证芯片的全局转发性能、规避流量突发情况下不同接口之间的相互影响。
在本发明的一个实施例中,针对每一接口,配置有至少一项不大于该接口对应的最大资源量的流量控制阈值;
控制模块402,具体用于:
响应于任一接口占用的缓存资源量达到为该接口配置的流量控制阈值,针对该接口执行与该流量控制阈值对应的流量控制策略。
在本发明的一个实施例中,针对每一接口,流量控制阈值包括:上游流控阈值和部分丢包阈值中的至少一项,上游流控阈值小于部分丢包阈值,且部分丢包阈值和上游流控阈值均小于最大资源量;
控制模块402,具体用于:
响应于任一接口占用的缓存资源量达到针对该接口配置的上游流控阈值,向上游设备发送流量控制消息,以使上游设备针对该接口进行数据流限速处理;
和/或,
响应于任一接口占用的缓存资源量达到针对该接口配置的部分丢包阈值,对到达该接口的部分报文进行丢包处理。
在本发明的一个实施例中,针对每一接口,流量控制阈值包括:全丢包阈值,全丢包阈值不超过最大资源量;
控制模块402,具体用于:
响应于任一接口占用的缓存资源量达到针对该接口配置的全丢包阈值,对到达该接口的全部报文进行丢包处理。
在本发明的一个实施例中,针对每一接口,上游流控阈值包括多个依次递增的第一分级阈值,每一第一分级阈值均预先对应于一个或多个流量优先级;
控制模块402,具体用于:
响应于任一接口占用的缓存资源量达到该接口对应的任一第一分级阈值,向上游设备发送相应的流量控制消息,以使上游设备针对该接口对具有该第一分级阈值对应的流量优先级的报文进行数据流限速处理。
在本发明的一个实施例中,针对每一接口,部分丢包阈值包括多个依次递增的第二分级阈值,每一第二分级阈值均预先对应于一个或多个流量优先级;
控制模块402,具体用于:
响应于任一接口占用的缓存资源量达到该接口对应的任一第二分级阈值,对到达该接口的具有该第二分级阈值对应的流量优先级的报文进行丢包处理。
在本发明的一个实施例中,针对每一所述接口,上游流控阈值和/或部分丢包阈值是在最大资源量的基础上,结合预设乘数因子确定的。
在本发明的一个实施例中,接口的最大资源量为:接口的带宽在第一带宽中的比例与总缓存资源量的乘积;第一带宽为目标芯片支持的最大带宽。
在本发明的一个实施例中,该装置还包括:
配置模块,用于响应于目标芯片上的热插拔新增接口操作,为该新增接口配置对应的最大资源量;该最大资源量为:该新增接口的带宽在第一带宽中的比例与总缓存资源量的乘积。
在本发明的一个实施例中,该装置还包括:
更新模块,用于响应于针对任一接口的热插拔带宽变更操作,为该接口确定新的最大资源量,将针对该接口配置的最大资源量更新为新的最大资源量;新的最大资源量为:该接口变更后的带宽在第一带宽中的比例与总缓存资源量的乘积。
在本发明的一个实施例中,还提供了一种电子设备,该电子设备包括具有流量控制模块的芯片,流量控制模块用于执行上述任一芯片中缓存资源的管理方法的步骤。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一芯片中缓存资源的管理方法的步骤。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一芯片中缓存资源的管理方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk (SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于芯片中缓存资源的管理装置、芯片、计算机可读存储介质而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (14)
1.一种芯片中缓存资源的管理方法,其特征在于,包括:
监控目标芯片的每一接口占用的缓存资源量;
基于当前监控到的缓存资源量、以及针对每一所述接口分别配置的最大资源量,对各所述接口进行流量控制;其中,所述接口的最大资源量与所述接口的带宽成正比,且各所述接口的最大资源量之和不超过所述目标芯片提供的总缓存资源量。
2.根据权利要求1所述的方法,其特征在于,针对每一所述接口,配置有至少一项不大于该接口对应的最大资源量的流量控制阈值;
所述基于当前监控到的缓存资源量、以及针对每一所述接口分别配置的最大资源量,对各所述接口进行流量控制,包括:
响应于任一所述接口占用的缓存资源量达到为该接口配置的流量控制阈值,针对该接口执行与该流量控制阈值对应的流量控制策略。
3.根据权利要求2所述的方法,其特征在于,针对每一所述接口,所述流量控制阈值包括:上游流控阈值和部分丢包阈值中的至少一项,所述上游流控阈值小于所述部分丢包阈值,且所述部分丢包阈值和所述上游流控阈值均小于所述最大资源量;
所述响应于任一所述接口占用的缓存资源量达到为该接口配置的流量控制阈值,针对该接口执行与该流量控制阈值对应的流量控制策略,包括:
响应于任一所述接口占用的缓存资源量达到针对该接口配置的上游流控阈值,向上游设备发送流量控制消息,以使所述上游设备针对该接口进行数据流限速处理;
和/或,
响应于任一所述接口占用的缓存资源量达到针对该接口配置的部分丢包阈值,对到达该接口的部分报文进行丢包处理。
4.根据权利要求2所述的方法,其特征在于,针对每一所述接口,所述流量控制阈值包括:全丢包阈值,所述全丢包阈值不超过所述最大资源量;
所述响应于任一所述接口占用的缓存资源量达到为该接口配置的流量控制阈值,针对该接口执行与该流量控制阈值对应的流量控制策略,包括:
响应于任一所述接口占用的缓存资源量达到针对该接口配置的全丢包阈值,对到达该接口的全部报文进行丢包处理。
5.根据权利要求3所述的方法,其特征在于,针对每一所述接口,所述上游流控阈值包括多个依次递增的第一分级阈值,每一所述第一分级阈值均预先对应于一个或多个流量优先级;
所述响应于任一所述接口占用的缓存资源量达到针对该接口配置的上游流控阈值,向上游设备发送流量控制消息,包括:
响应于任一所述接口占用的缓存资源量达到该接口对应的任一第一分级阈值,向所述上游设备发送相应的流量控制消息,以使所述上游设备针对该接口对具有该第一分级阈值对应的流量优先级的报文进行数据流限速处理。
6.根据权利要求3所述的方法,其特征在于,针对每一所述接口,所述部分丢包阈值包括多个依次递增的第二分级阈值,每一所述第二分级阈值均预先对应于一个或多个流量优先级;
所述响应于任一所述接口占用的缓存资源量达到针对该接口配置的部分丢包阈值,对到达该接口的部分报文进行丢包处理,包括:
响应于任一所述接口占用的缓存资源量达到该接口对应的任一第二分级阈值,对到达该接口的具有该第二分级阈值对应的流量优先级的报文进行丢包处理。
7.根据权利要求3所述的方法,其特征在于,针对每一所述接口,所述上游流控阈值和/或所述部分丢包阈值是在所述最大资源量的基础上,结合预设乘数因子确定的。
8.根据权利要求1所述的方法,其特征在于,所述接口的最大资源量为:所述接口的带宽在第一带宽中的比例与所述总缓存资源量的乘积;所述第一带宽为所述目标芯片支持的最大带宽。
9.根据权利要求8所述的方法,其特征在于,还包括:
响应于所述目标芯片上的热插拔新增接口操作,为该新增接口配置对应的最大资源量;该最大资源量为:该新增接口的带宽在所述第一带宽中的比例与所述总缓存资源量的乘积。
10.根据权利要求8所述的方法,其特征在于,还包括:
响应于针对任一所述接口的热插拔带宽变更操作,为该接口确定新的最大资源量,将针对该接口配置的最大资源量更新为所述新的最大资源量;所述新的最大资源量为:该接口变更后的带宽在所述第一带宽中的比例与所述总缓存资源量的乘积。
11.一种芯片中缓存资源的管理装置,其特征在于,包括:
监控模块,用于监控目标芯片的每一接口占用的缓存资源量;
控制模块,用于基于当前监控到的缓存资源量、以及针对每一所述接口分别配置的最大资源量,对各所述接口进行流量控制;其中,所述接口的最大资源量与所述接口的带宽成正比,且各所述接口的最大资源量之和不超过所述目标芯片提供的总缓存资源量。
12.一种芯片,其特征在于,包括流量控制模块,所述流量控制模块用于执行权利要求1-10中任一项所述的方法。
13.一种电子设备,其特征在于,包括具有流量控制模块的芯片,所述流量控制模块用于执行权利要求1-10中任一项所述的方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-10任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410369957.7A CN117971769B (zh) | 2024-03-29 | 2024-03-29 | 芯片中缓存资源的管理方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410369957.7A CN117971769B (zh) | 2024-03-29 | 2024-03-29 | 芯片中缓存资源的管理方法及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117971769A true CN117971769A (zh) | 2024-05-03 |
CN117971769B CN117971769B (zh) | 2024-06-25 |
Family
ID=90858359
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410369957.7A Active CN117971769B (zh) | 2024-03-29 | 2024-03-29 | 芯片中缓存资源的管理方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117971769B (zh) |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030046396A1 (en) * | 2000-03-03 | 2003-03-06 | Richter Roger K. | Systems and methods for managing resource utilization in information management environments |
CN1984067A (zh) * | 2006-06-13 | 2007-06-20 | 华为技术有限公司 | 一种上行流量控制方法 |
CN101159700A (zh) * | 2007-11-27 | 2008-04-09 | 杭州华三通信技术有限公司 | 一种流量控制方法和控制设备 |
CN102223675A (zh) * | 2011-06-08 | 2011-10-19 | 大唐移动通信设备有限公司 | 拥塞告警及处理方法、系统和设备 |
CN102325092A (zh) * | 2011-10-27 | 2012-01-18 | 杭州华三通信技术有限公司 | 一种报文处理方法和设备 |
CN105812285A (zh) * | 2016-04-29 | 2016-07-27 | 华为技术有限公司 | 一种端口拥塞管理方法及装置 |
CN105991470A (zh) * | 2015-02-10 | 2016-10-05 | 杭州华三通信技术有限公司 | 以太网设备缓存报文的方法及装置 |
TW201828059A (zh) * | 2017-01-24 | 2018-08-01 | 阿里巴巴集團服務有限公司 | 訊息流量控制方法、裝置及相關系統 |
CN109327403A (zh) * | 2018-12-04 | 2019-02-12 | 锐捷网络股份有限公司 | 一种流控方法、装置、网络设备及存储介质 |
US20210182194A1 (en) * | 2020-12-26 | 2021-06-17 | Intel Corporation | Processor unit resource exhaustion detection and remediation |
CN113824649A (zh) * | 2021-09-17 | 2021-12-21 | 上海航天计算机技术研究所 | 面向固定帧长的数据流量控制装置 |
CN116319590A (zh) * | 2021-12-21 | 2023-06-23 | 华为技术有限公司 | 一种队列控制的方法及装置 |
WO2023165419A1 (zh) * | 2022-03-01 | 2023-09-07 | 华为技术有限公司 | 控制网络设备休眠的方法、装置、网络设备和存储介质 |
US20230300082A1 (en) * | 2022-03-18 | 2023-09-21 | Huawei Technologies Co., Ltd. | Flow control method, apparatus, and device, and computer-readable storage medium |
CN116996600A (zh) * | 2023-07-18 | 2023-11-03 | 南京金阵微电子技术有限公司 | 以太网芯片自适应资源管理方法、芯片、装置和介质 |
CN117527722A (zh) * | 2023-11-07 | 2024-02-06 | 苏州盛科通信股份有限公司 | 流量管理方法、系统、设备及可读存储装置 |
-
2024
- 2024-03-29 CN CN202410369957.7A patent/CN117971769B/zh active Active
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030046396A1 (en) * | 2000-03-03 | 2003-03-06 | Richter Roger K. | Systems and methods for managing resource utilization in information management environments |
CN1984067A (zh) * | 2006-06-13 | 2007-06-20 | 华为技术有限公司 | 一种上行流量控制方法 |
CN101159700A (zh) * | 2007-11-27 | 2008-04-09 | 杭州华三通信技术有限公司 | 一种流量控制方法和控制设备 |
CN102223675A (zh) * | 2011-06-08 | 2011-10-19 | 大唐移动通信设备有限公司 | 拥塞告警及处理方法、系统和设备 |
CN102325092A (zh) * | 2011-10-27 | 2012-01-18 | 杭州华三通信技术有限公司 | 一种报文处理方法和设备 |
CN105991470A (zh) * | 2015-02-10 | 2016-10-05 | 杭州华三通信技术有限公司 | 以太网设备缓存报文的方法及装置 |
CN105812285A (zh) * | 2016-04-29 | 2016-07-27 | 华为技术有限公司 | 一种端口拥塞管理方法及装置 |
TW201828059A (zh) * | 2017-01-24 | 2018-08-01 | 阿里巴巴集團服務有限公司 | 訊息流量控制方法、裝置及相關系統 |
CN109327403A (zh) * | 2018-12-04 | 2019-02-12 | 锐捷网络股份有限公司 | 一种流控方法、装置、网络设备及存储介质 |
US20210182194A1 (en) * | 2020-12-26 | 2021-06-17 | Intel Corporation | Processor unit resource exhaustion detection and remediation |
CN113824649A (zh) * | 2021-09-17 | 2021-12-21 | 上海航天计算机技术研究所 | 面向固定帧长的数据流量控制装置 |
CN116319590A (zh) * | 2021-12-21 | 2023-06-23 | 华为技术有限公司 | 一种队列控制的方法及装置 |
WO2023165419A1 (zh) * | 2022-03-01 | 2023-09-07 | 华为技术有限公司 | 控制网络设备休眠的方法、装置、网络设备和存储介质 |
US20230300082A1 (en) * | 2022-03-18 | 2023-09-21 | Huawei Technologies Co., Ltd. | Flow control method, apparatus, and device, and computer-readable storage medium |
CN116996600A (zh) * | 2023-07-18 | 2023-11-03 | 南京金阵微电子技术有限公司 | 以太网芯片自适应资源管理方法、芯片、装置和介质 |
CN117527722A (zh) * | 2023-11-07 | 2024-02-06 | 苏州盛科通信股份有限公司 | 流量管理方法、系统、设备及可读存储装置 |
Non-Patent Citations (1)
Title |
---|
赖金志: "基于非易失性存储器的片上网络路由器缓存功耗优化研究", 中国博士学位论文全文数据库信息科技辑, 15 December 2023 (2023-12-15), pages 135 - 11 * |
Also Published As
Publication number | Publication date |
---|---|
CN117971769B (zh) | 2024-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11646967B2 (en) | Packet control method and network apparatus | |
US10243865B2 (en) | Combined hardware/software forwarding mechanism and method | |
US8619793B2 (en) | Dynamic assignment of traffic classes to a priority queue in a packet forwarding device | |
US6917591B2 (en) | Methods, systems and computer program products for bandwidth allocation in a multiple access system | |
JP4260631B2 (ja) | ネットワーク輻輳制御の方法および装置 | |
JP5659125B2 (ja) | 中継装置、中継方法 | |
US9400606B2 (en) | System and method for efficient buffer management for banked shared memory designs | |
CN106789729A (zh) | 一种网络设备中的缓存管理方法及装置 | |
US20040003069A1 (en) | Selective early drop method and system | |
JP2009170976A (ja) | パケット中継装置、制御方法およびパケット中継プログラム | |
EP2670085B1 (en) | System for performing Data Cut-Through | |
CN101547159A (zh) | 一种避免网络拥塞的方法和设备 | |
US7269180B2 (en) | System and method for prioritizing and queuing traffic | |
CN117793583A (zh) | 报文转发方法、装置、电子设备及计算机可读存储介质 | |
CN117971769B (zh) | 芯片中缓存资源的管理方法及相关装置 | |
CN110365588B (zh) | 数据流调度方法、装置及sdn控制器 | |
CN112838992A (zh) | 报文调度方法及网络设备 | |
CN112615798B (zh) | 一种基于大象流预约的带宽分配方法和设备 | |
CN113765796B (zh) | 流量转发控制方法及装置 | |
CN114401235A (zh) | 一种队列管理中重载处理方法、系统、介质、设备及应用 | |
CN110708255B (zh) | 一种报文控制方法及节点设备 | |
CN111917666A (zh) | 基于服务等级协议的数据帧抢占式缓存管理方法 | |
EP2991295A1 (en) | System and method for handling data flows in an access network | |
JP2002305538A (ja) | 通信品質制御方法、サーバ及びネットワークシステム | |
US9860791B1 (en) | Long term evolution communication policies based on explicit congestion notification |
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 |