CN113691461A - 一种多核设备的令牌桶管理方法及装置 - Google Patents
一种多核设备的令牌桶管理方法及装置 Download PDFInfo
- Publication number
- CN113691461A CN113691461A CN202110967168.XA CN202110967168A CN113691461A CN 113691461 A CN113691461 A CN 113691461A CN 202110967168 A CN202110967168 A CN 202110967168A CN 113691461 A CN113691461 A CN 113691461A
- Authority
- CN
- China
- Prior art keywords
- core
- token
- token bucket
- time slot
- tokens
- 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
Images
Classifications
-
- 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/215—Flow control; Congestion control using token-bucket
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供了一种多核设备的令牌桶管理方法及装置,应用于多核设备,多核设备包含多个单核,多核设备中设置有各个单核对应的单核令牌桶,以及以预设速率添加令牌的全局令牌桶,方法包括:在每个令牌投放时隙,将各个单核令牌桶中的剩余令牌全部回收至全局令牌桶;将全局令牌桶中的令牌全部分发至各个单核令牌桶,以使多核设备的各个单核在转发报文时,从各个单核对应的单核令牌桶中取令牌。以实现减少报文转发过程中,从令牌桶取令牌时加锁、解锁的开销,提高报文转发性能。
Description
技术领域
本发明涉及通信技术领域,特别是涉及一种多核设备的令牌桶管理方法及装置。
背景技术
令牌桶(Token Bucket)技术是一种常见的流量测量技术,常用于流量的限制和流量的整形,能够对流量的速率和突发进行测量。
为限制网络中网络设备的出口带宽,可利用令牌桶技术,对出口的容量进行限制。如图1所示,令牌桶由用户设定容量,并按设定的速度向桶中放置令牌,当令牌的数量超出令牌桶的容量的时候,令牌的数量不再增加。当报文由服务器传送至令牌桶节点时,如果令牌桶中有足够的令牌可以用来发送报文,则报文直接通过并继续发送,同时令牌桶中的令牌量按报文的长度做相应的减少;如果令牌桶中的令牌数量不足或为空,则无法得到足够令牌的报文将被丢弃或进行标记,此时令牌桶中的令牌数量不发生变化。
对于开启流量监管功能的多核设备,每个核从同一个令牌桶中取令牌,为了保证唯一性,需要对令牌操作进行加锁,那么必然会存在加锁、解锁的开销,大大降低了取令牌的性能,进而影响整个报文转发性能。
发明内容
本申请实施例的目的在于提供一种多核设备的令牌桶管理方法及装置,以实现减少报文转发过程中,从令牌桶取令牌时加锁、解锁的开销,提高报文转发性能。
为实现上述目的,本申请实施例提供了一种多核设备的令牌桶管理方法,应用于多核设备,所述多核设备包含多个单核,所述多核设备中设置有各个单核对应的单核令牌桶,以及以预设速率添加令牌的全局令牌桶,所述方法包括:
在每个令牌投放时隙,将各个单核令牌桶中的剩余令牌全部回收至全局令牌桶;
将所述全局令牌桶中的令牌全部分发至各个单核令牌桶,以使所述多核设备的各个单核在转发报文时,从各个单核对应的单核令牌桶中取令牌。
可选的,所述方法还包括:
在每个令牌投放时隙,基于各个单核令牌桶在上一令牌投放时隙与当前令牌投放时隙之间消耗令牌的数目,确定消耗令牌的数目不小于预设阈值的目标单核令牌桶;
所述将所述全局令牌桶中的令牌全部分发至各个单核令牌桶,包括:
将所述全局令牌桶中的令牌全部分发至各个目标单核令牌桶。
可选的,所述方法还包括:
在每个令牌投放时隙,统计所述目标单核令牌桶的数目;
所述将所述全局令牌桶中的令牌全部分发至各个目标单核令牌桶,包括:
基于所述目标单核令牌桶的数目,将所述全局令牌桶中的令牌平均分发至各个目标单核令牌桶。
可选的,所述在每个令牌投放时隙,统计所述目标单核令牌桶的数目,包括:
在每个令牌投放时隙,将消耗令牌的数目小于所述预设阈值的单核令牌桶标记为空闲状态;
确定在当前时隙被标记为空闲状态的单核令牌桶的第一数目,并确定在当前时隙取消标记空闲状态的单核令牌桶的第二数目;其中,被标记为空闲状态的单核令牌桶经过预设多个令牌投放时隙后取消标记;
基于上一时隙所确定的目标单核令牌桶的数目,以及所述第一数目和所述第二数目,计算当前时隙的目标单核令牌桶的数目。
可选的,所述基于上一时隙所确定的目标单核令牌桶的数目,以及所述第一数目和所述第二数目,计算当前时隙的目标单核令牌桶的数目的步骤,包括:
在基于上一时隙所确定的目标单核令牌桶的数目基础上,减去所述第一数目,加上所述第二数目,得到当前时隙的目标单核令牌桶的数目。
为实现上述目的,本申请实施例还提供了一种多核设备的令牌桶管理装置,应用于多核设备,所述多核设备包括多个单核,所述多核设备中设置有各个单核对应的单核令牌桶,以及以预设速率添加令牌的全局令牌桶,所述装置包括:
回收模块,用于在每个令牌投放时隙,将各个单核令牌桶中的剩余令牌全部回收至全局令牌桶;
分发模块,用于将所述全局令牌桶中的令牌全部分发至各个单核令牌桶,以使所述多核设备的各个单核在转发报文时,从各个单核对应的单核令牌桶中取令牌。
可选的,所述装置还包括:
确定模块,用于在每个令牌投放时隙,基于各个单核令牌桶在上一令牌投放时隙与当前令牌投放时隙之间消耗令牌的数目,确定消耗令牌的数目不小于预设阈值的目标单核令牌桶;
所述分发模块,具体用于:将所述全局令牌桶中的令牌全部分发至各个目标单核令牌桶。
可选的,所述装置还包括:
统计模块,用于在每个令牌投放时隙,统计所述目标单核令牌桶的数目;
所述分发模块,具体用于:基于所述目标单核令牌桶的数目,将所述全局令牌桶中的令牌平均分发至各个目标单核令牌桶。
可选的,所述统计模块,包括:
标记子模块,用于在每个令牌投放时隙,将消耗令牌的数目小于所述预设阈值的单核令牌桶标记为空闲状态;
确定子模块,用于确定在当前时隙被标记为空闲状态的单核令牌桶的第一数目,并确定在当前时隙取消标记空闲状态的单核令牌桶的第二数目;其中,被标记为空闲状态的单核令牌桶经过预设多个令牌投放时隙后取消标记;
计算子模块,用于基于上一时隙所确定的目标单核令牌桶的数目,以及所述第一数目和所述第二数目,计算当前时隙的目标单核令牌桶的数目。
可选的,所述计算子模块,具体用于:
在基于上一时隙所确定的目标单核令牌桶的数目基础上,减去所述第一数目,加上所述第二数目,得到当前时隙的目标单核令牌桶的数目。
为实现上述目的,本申请实施例还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一多核设备的令牌桶管理方法步骤。
为实现上述目的,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一多核设备的令牌桶管理方法步骤。
本发明实施例有益效果:
本申请实施例提供的多核设备的令牌桶管理方法及装置,应用于多核设备,多核设备中设置有各个单核对应的单核令牌桶,以及以预设速率添加令牌的全局令牌桶,在每个令牌投放时隙,将各个单核令牌桶中的剩余令牌全部回收至全局令牌桶,并将全局令牌桶中的令牌全部分发至各个单核令牌桶,由于单核和单核令牌桶是一一对应的,因此各个单核在转发报文时,若需要取令牌,从自身对应的单核令牌桶中取令牌,无需对单核令牌桶进行加锁、解锁,也无需对取令牌的操作进行加锁、解锁,从而减少了锁的开销,提高报文转发性能。
并且,在每个令牌投放时隙,都回收各单核令牌桶在上一令牌投放周期内剩余的所有令牌,因此不会浪费令牌,能够保证流量少的核消耗较少的令牌,流量多的核消耗较多的令牌,能够正常实现多核设备的流量监管功能。
当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的实施例。
图1为基于令牌桶进行浏览监管的报文转发的示意图;
图2为多核设备中单核从令牌桶取令牌的一种示意图;
图3为本申请实施例提供的多核设备的令牌桶管理方法的一种流程示意图;
图4为本申请实施例提供的多核设备的令牌桶管理方法的一种示意图;
图5为本申请实施例提供的多核设备的令牌桶管理装置的一种结构示意图;
图6为本申请实施例提供的电子设备的一种结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员基于本申请所获得的所有其他实施例,都属于本申请保护的范围。
为了便于理解,先对本申请的应用场景进行简要介绍。
对于网络业务,影响QoS(Quality of Service,服务质量)的因素包括传输的带宽、传送的时延、数据的丢包率等。在网络中可以通过保证传输的带宽、降低传送的时延、降低数据的丢包率以及时延抖动等措施来提高服务质量。网络资源总是有限的,在保证某类业务的服务质量的同时,可能就是在损害其它业务的服务质量。因此,网络管理者需要根据各种业务的特点来对网络资源进行合理的规划和分配,从而使网络资源得到高效利用。
通常QoS提供以下三种服务模型:
1)Best-Effort service(尽力而为服务模型),Best-Effort service是一个单一的服务模型,也是最简单的服务模型。对Best-Effort service服务模型,网络尽最大的可能性来发送报文,但对时延、可靠性等性能不提供任何保证。
2)Integrated service(综合服务模型,简称IntServ),IntServ是一个综合服务模型,可以满足多种QoS需求。该模型使用RSVP(Resorce reSerVation Protocol,资源预留协议),RSVP运行在从源端到目的端的每个设备上,可以监视每个流,以防止其消耗资源过多。这种体系能够明确区分并保证每一个业务流的服务质量,为网络提供最细粒度化的服务质量区分。但是,IntServ模型对设备的要求很高,当网络中的数据流数量很大时,设备的存储和处理能力会遇到很大的压力。IntServ模型可扩展性很差,难以在Internet核心网络实施。
3)Differentiated service(区分服务模型,简称DiffServ),DiffServ是一个多服务模型,可以满足不同的QoS需求。与IntServ不同,不需要通知网络为每个业务预留资源,区分服务实现简单,扩展性较好。
本申请提供的多核设备的令牌桶管理方法可以基于DiffServ服务模型。
如果不限制用户发送的流量,那么大量用户不断突发的数据会使网络拥塞。为了使有限的网络资源能够更好地发挥效用,更好地为更多的用户服务,必须对用户的流量加以限制。
流量监管、流量整形和限速可以实现流量的速率限制功能,而要实现此功能就必须对通过设备的流量进行度量。一般采用令牌桶(Token Bucket)对流量进行度量。
令牌桶可以看作是一个存放一定数量令牌的容器,系统按设定的速度向桶中放置令牌,当桶中令牌满时,多出的令牌溢出,桶中令牌不再增加。
当报文由服务器传送至令牌桶节点时,如果令牌桶中有足够的令牌可以用来发送报文,则报文直接通过并继续发送,同时令牌桶中的令牌量按报文的长度做相应的减少;如果令牌桶中的令牌数量不足或为空,则无法得到足够令牌的报文将被丢弃或进行标记,此时令牌桶中的令牌数量不发生变化。
对于开启流量监管功能的多核设备,每个核从同一个令牌桶中取令牌,具体可以参见图2,图2为多核设备中单核从令牌桶取令牌的一种示意图,如图2所示,对于4核设备,每个核都从同一个令牌桶中取令牌。其中,箭头方向表示令牌流动方向。
由于每个核都从同一个令牌桶中取令牌,为了保证唯一性,需要对令牌操作进行加锁,那么必然会存在加锁、解锁的开销,大大降低了取令牌的性能,进而影响报文转发性能。
针对多核设备,为了减少取令牌时加锁、解锁的开销,本申请实施例提供了一种多核设备的令牌桶管理方法及装置。该方法应用于多核设备,多核设备包含多个单核。
区别于现有技术,本申请实施例中,多核设备中除设置全局令牌桶之外,额外设置各个单核对应的单核令牌桶。
参见图3,图3为本申请实施例提供的多核设备的令牌桶管理方法的一种流程示意图,如图3所示,方法可以包括以下步骤:
S301:在每个令牌投放时隙,将各个单核令牌桶中的剩余令牌全部回收至全局令牌桶。
S302:将全局令牌桶中的令牌全部分发至各个单核令牌桶,以使多核设备的各个单核在转发报文时,从各个单核对应的单核令牌桶中取令牌。
本申请实施例中,可以以预设速率向全局令牌桶添加令牌,该速率的单位可以是比特/秒。
对于单核令牌桶,可以周期性分发令牌,相邻两个令牌投放时隙之间的时间间隔即为令牌投放周期。
每次达到令牌投放时隙,执行一次上述S201-S202步骤。
例如,令牌投放周期为1秒,则每隔1秒,将各个单核令牌桶中的剩余令牌回收全部至全局令牌桶,再将全局令牌桶中的令牌全部分发至各个单核令牌桶。
下面对本申请实施例提供的多核设备的令牌桶管理方法进行详细介绍。
本申请实施例中,在每个令牌投放时隙,可以执行回收命令,响应于回收命令,回收各个单核令牌桶中的剩余令牌,并将回收的令牌投放至全局令牌桶。
随后将全局令牌桶中的令牌分发至各个单核令牌桶,由于全局令牌桶中,以预设恒定速递不断添加令牌,因此,所分发的全局令牌桶中的令牌包括:一个令牌投放周期内以预设恒定速率向全局令牌桶中添加的令牌,以及当前令牌投放时隙从各个单核令牌桶中回收的剩余令牌总和。
作为一个示例,每个令牌投放周期内,以预设恒定速率向全局令牌桶中添加的令牌为T,多核设备的总核数为n,当前令牌投放时隙从各个单核令牌桶回收的剩余令牌分别为t1,t2…tn,则当前令牌投放时隙向各个单核令牌桶分发的令牌总数为T+t1+t2+…+tn。
此外,由于全局令牌桶存在令牌的存储上限,当一个令牌投放周期内以预设恒定速率向全局令牌桶中添加的令牌,加上当前时隙从各个单核令牌桶中回收的剩余令牌总和,超过了全局令牌桶中令牌的上限,则超出的令牌溢出。
承接上例,如果全局令牌桶的令牌存储上限为M,若T+t1+t2+…+tn>M,则多出的令牌溢出,也就是说,在当前令牌投放时隙向各个单核令牌桶分发的令牌总数为令牌存储上限M。
本申请实施例中,在每个令牌投放时隙,向各个单核令牌桶分发令牌,由于每个单核令牌桶对应一个单核,则多核设备中的各个单核在转发报文时,从自身对应的单核令牌桶中取令牌即可,由于单核和单核令牌桶是一一对应的,因此在取令牌时无需加锁。
本申请实施例提供的多核设备的令牌桶管理方法及装置,应用于多核设备,多核设备中设置有各个单核对应的单核令牌桶,以及以预设速率添加令牌的全局令牌桶,在每个令牌投放时隙,将各个单核令牌桶中的剩余令牌全部回收至全局令牌桶,并将全局令牌桶中的令牌全部分发至各个单核令牌桶,由于单核和单核令牌桶是一一对应的,因此各个单核在转发报文时,若需要取令牌,从自身对应的单核令牌桶中取令牌,无需对单核令牌桶进行加锁、解锁,也无需对取令牌的操作进行加锁、解锁,从而减少了锁的开销,提高报文转发性能。
并且,在每个令牌投放时隙,都回收各单核令牌桶在上一令牌投放周期内剩余的所有令牌,因此不会浪费令牌,能够保证流量少的核消耗较少的令牌,流量多的核消耗较多的令牌,能够正常实现多核设备的流量监管功能。
为了便于理解,下面结合图4对本申请提供的多核设备的令牌桶管理方法进行进一步说明。
图4为本申请实施例提供的多核设备的令牌桶管理方法的一种示意图,图中箭头方向表示令牌流动方向。如图4所示,设置有以恒定速率添加令牌的全局令牌桶,此外针对每个单核,都设置单核令牌桶。在每个令牌投放时隙,全局令牌桶回收各个单核令牌桶中的剩余令牌,再将全局令牌桶中积累的总令牌(以恒定速率添加的令牌和从各单核令牌桶回收的令牌)分发至各个单核令牌桶。每个单核需要转发报文时,从单核对应的单核令牌桶中取令牌即可,无需进行加锁、解锁操作。
在本申请的一种实施例中,为了防止令牌在流量少的单核令牌桶空转,可以增加一种令牌探测机制。该探测机制为:在每次回收令牌时,针对单核令牌桶,如果回收的令牌与上次分发至该单核令牌桶的令牌数量相差不大,说明在上一令牌投放周期内,该单核令牌桶消耗令牌的数目较少。在这种情况下,本次分发令牌时,不对该单核分发令牌,直到探测周期到期后,再重新给该单核分发令牌,其中探测周期可以是令牌投放周期的整数倍。
具体的,在每个令牌投放时隙,基于各个单核令牌桶在上一令牌投放时隙与当前令牌投放时隙之间消耗令牌的数目,确定消耗令牌的数目不小于预设阈值的目标单核令牌桶。
其中,单核令牌桶在上一令牌投放时隙与当前令牌投放时隙之间消耗令牌的数目,也就是单核令牌桶在上一令牌投放周期内消耗令牌的数目,如果该数目不小于预设阈值,表示该单核令牌桶的流量较多,则将该单核令牌桶确定为目标单核令牌桶。
相应的,将全局令牌桶中的令牌全部分发至各个单核令牌桶,具体为:将全局令牌桶中的令牌全部分发至各个目标单核令牌桶。
在本申请的一种实施例中,可以在每个令牌投放时隙,统计目标单核令牌桶的数目。相应的,将全局令牌桶中的令牌全部分发至各个目标单核令牌桶,具体可以为:基于目标单核令牌桶的数目,将全局令牌桶中的令牌平均分发至各个目标单核令牌桶。
也就是说,可以将全局令牌桶自身添加的令牌,以及从各单核令牌桶中回收的令牌,平均分发至各个目标单核令牌桶。
此外,也可以采用其他方式分发令牌,例如,为每个单核设置流量权重,基于流量权重向单核对应的目标单核令牌桶分发令牌,流量权重越大,则分发的令牌数越多。
在平均分发令牌的情况下,需要统计目标单核令牌桶的数目。
在本申请的一种实施例中,为了便于统计目标单核令牌桶的数目,在每个令牌投放时隙,将消耗令牌的数目小于预设阈值的单核令牌桶标记为空闲状态;确定在当前时隙被标记为空闲状态的单核令牌桶的第一数目,并确定在当前时隙取消标记空闲状态的单核令牌桶的第二数目;其中,被标记为空闲状态的单核令牌桶经过预设多个令牌投放时隙后取消标记;基于上一时隙所确定的目标单核令牌桶的数目,以及第一数目和第二数目,计算当前时隙的目标单核令牌桶的数目。
具体的,在每个令牌投放时隙,将消耗令牌的数目小于预设阈值的单核令牌桶标记为空闲状态,该标记可以持续预设多个令牌投放周期。
在每个令牌投放时隙,统计在当前时隙被标记为空闲状态的单核令牌桶的第一数目。此外,统计在当前时隙取消标记空闲状态的单核令牌桶的第二数目。
从而,在上一时隙的目标单核令牌桶的数目的基础上,减去上述第一数目,再加上上述第二数目,即可确定当前时隙的目标单核令牌桶的数目。
参见图5,图5为本申请实施例提供的多核设备的令牌桶管理装置的一种结构示意图,本申请实施例还提供了一种多核设备的令牌桶管理装置,应用于多核设备,所述多核设备包括多个单核,所述多核设备中设置有各个单核对应的单核令牌桶,以及以预设速率添加令牌的全局令牌桶,所述装置包括:
回收模块501,用于在每个令牌投放时隙,将各个单核令牌桶中的剩余令牌全部回收至全局令牌桶;
分发模块502,用于将所述全局令牌桶中的令牌全部分发至各个单核令牌桶,以使所述多核设备的各个单核在转发报文时,从各个单核对应的单核令牌桶中取令牌。
在本申请的一种实施例中,所述装置还包括:
确定模块,用于在每个令牌投放时隙,基于各个单核令牌桶在上一令牌投放时隙与当前令牌投放时隙之间消耗令牌的数目,确定消耗令牌的数目不小于预设阈值的目标单核令牌桶;
所述分发模块,具体用于:将所述全局令牌桶中的令牌全部分发至各个目标单核令牌桶。
在本申请的一种实施例中,所述装置还包括:
统计模块,用于在每个令牌投放时隙,统计所述目标单核令牌桶的数目;
所述分发模块,具体用于:基于所述目标单核令牌桶的数目,将所述全局令牌桶中的令牌平均分发至各个目标单核令牌桶。
在本申请的一种实施例中,所述统计模块,包括:
标记子模块,用于在每个令牌投放时隙,将消耗令牌的数目小于所述预设阈值的单核令牌桶标记为空闲状态;
确定子模块,用于确定在当前时隙被标记为空闲状态的单核令牌桶的第一数目,并确定在当前时隙取消标记空闲状态的单核令牌桶的第二数目;其中,被标记为空闲状态的单核令牌桶经过预设多个令牌投放时隙后取消标记;
计算子模块,用于基于上一时隙所确定的目标单核令牌桶的数目,以及所述第一数目和所述第二数目,计算当前时隙的目标单核令牌桶的数目。
在本申请的一种实施例中,所述计算子模块,具体用于:
在基于上一时隙所确定的目标单核令牌桶的数目基础上,减去所述第一数目,加上所述第二数目,得到当前时隙的目标单核令牌桶的数目。
本申请实施例提供的多核设备的令牌桶管理装置,应用于多核设备,多核设备中设置有各个单核对应的单核令牌桶,以及以预设速率添加令牌的全局令牌桶,在每个令牌投放时隙,将各个单核令牌桶中的剩余令牌全部回收至全局令牌桶,并将全局令牌桶中的令牌全部分发至各个单核令牌桶,由于单核和单核令牌桶是一一对应的,因此各个单核在转发报文时,若需要取令牌,从自身对应的单核令牌桶中取令牌,无需对单核令牌桶进行加锁、解锁,也无需对取令牌的操作进行加锁、解锁,从而减少了锁的开销,提高报文转发性能。
并且,在每个令牌投放时隙,都回收各单核令牌桶在上一令牌投放周期内剩余的所有令牌,因此不会浪费令牌,能够保证流量少的核消耗较少的令牌,流量多的核消耗较多的令牌,能够正常实现多核设备的流量监管功能。
本发明实施例还提供了一种电子设备,如图6所示,包括处理器601、通信接口602、存储器603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信,
存储器603,用于存放计算机程序;
处理器601,用于执行存储器603上所存放的程序时,实现如下步骤:
在每个令牌投放时隙,将各个单核令牌桶中的剩余令牌全部回收至全局令牌桶;
将所述全局令牌桶中的令牌全部分发至各个单核令牌桶,以使所述多核设备的各个单核在转发报文时,从各个单核对应的单核令牌桶中取令牌。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
应用本申请实施例提供的电子设备,在每个令牌投放时隙,将各个单核令牌桶中的剩余令牌全部回收至全局令牌桶,并将全局令牌桶中的令牌全部分发至各个单核令牌桶,由于单核和单核令牌桶是一一对应的,因此各个单核在转发报文时,若需要取令牌,从自身对应的单核令牌桶中取令牌,无需对单核令牌桶进行加锁、解锁,也无需对取令牌的操作进行加锁、解锁,从而减少了锁的开销,提高报文转发性能。
并且,在每个令牌投放时隙,都回收各单核令牌桶在上一令牌投放周期内剩余的所有令牌,因此不会浪费令牌,能够保证流量少的核消耗较少的令牌,流量多的核消耗较多的令牌,能够正常实现多核设备的流量监管功能。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一多核设备的令牌桶管理方法的步骤。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一多核设备的令牌桶管理方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于多核设备的令牌桶管理装置、电子设备、计算机可读存储介质、计算机程序产品实施例而言,由于其基本相似于多核设备的令牌桶管理方法实施例,所以描述的比较简单,相关之处参见多核设备的令牌桶管理方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种多核设备的令牌桶管理方法,其特征在于,应用于多核设备,所述多核设备包含多个单核,所述多核设备中设置有各个单核对应的单核令牌桶,以及以预设速率添加令牌的全局令牌桶,所述方法包括:
在每个令牌投放时隙,将各个单核令牌桶中的剩余令牌全部回收至全局令牌桶;
将所述全局令牌桶中的令牌全部分发至各个单核令牌桶,以使所述多核设备的各个单核在转发报文时,从各个单核对应的单核令牌桶中取令牌。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在每个令牌投放时隙,基于各个单核令牌桶在上一令牌投放时隙与当前令牌投放时隙之间消耗令牌的数目,确定消耗令牌的数目不小于预设阈值的目标单核令牌桶;
所述将所述全局令牌桶中的令牌全部分发至各个单核令牌桶,包括:
将所述全局令牌桶中的令牌全部分发至各个目标单核令牌桶。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在每个令牌投放时隙,统计所述目标单核令牌桶的数目;
所述将所述全局令牌桶中的令牌全部分发至各个目标单核令牌桶,包括:
基于所述目标单核令牌桶的数目,将所述全局令牌桶中的令牌平均分发至各个目标单核令牌桶。
4.根据权利要求3所述的方法,其特征在于,所述在每个令牌投放时隙,统计所述目标单核令牌桶的数目,包括:
在每个令牌投放时隙,将消耗令牌的数目小于所述预设阈值的单核令牌桶标记为空闲状态;
确定在当前时隙被标记为空闲状态的单核令牌桶的第一数目,并确定在当前时隙取消标记空闲状态的单核令牌桶的第二数目;其中,被标记为空闲状态的单核令牌桶经过预设多个令牌投放时隙后取消标记;
基于上一时隙所确定的目标单核令牌桶的数目,以及所述第一数目和所述第二数目,计算当前时隙的目标单核令牌桶的数目。
5.根据权利要求4所述的方法,其特征在于,所述基于上一时隙所确定的目标单核令牌桶的数目,以及所述第一数目和所述第二数目,计算当前时隙的目标单核令牌桶的数目的步骤,包括:
在基于上一时隙所确定的目标单核令牌桶的数目基础上,减去所述第一数目,加上所述第二数目,得到当前时隙的目标单核令牌桶的数目。
6.一种多核设备的令牌桶管理装置,其特征在于,应用于多核设备,所述多核设备包括多个单核,所述多核设备中设置有各个单核对应的单核令牌桶,以及以预设速率添加令牌的全局令牌桶,所述装置包括:
回收模块,用于在每个令牌投放时隙,将各个单核令牌桶中的剩余令牌全部回收至全局令牌桶;
分发模块,用于将所述全局令牌桶中的令牌全部分发至各个单核令牌桶,以使所述多核设备的各个单核在转发报文时,从各个单核对应的单核令牌桶中取令牌。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
确定模块,用于在每个令牌投放时隙,基于各个单核令牌桶在上一令牌投放时隙与当前令牌投放时隙之间消耗令牌的数目,确定消耗令牌的数目不小于预设阈值的目标单核令牌桶;
所述分发模块,具体用于:将所述全局令牌桶中的令牌全部分发至各个目标单核令牌桶。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
统计模块,用于在每个令牌投放时隙,统计所述目标单核令牌桶的数目;
所述分发模块,具体用于:基于所述目标单核令牌桶的数目,将所述全局令牌桶中的令牌平均分发至各个目标单核令牌桶。
9.根据权利要求8所述的装置,其特征在于,所述统计模块,包括:
标记子模块,用于在每个令牌投放时隙,将消耗令牌的数目小于所述预设阈值的单核令牌桶标记为空闲状态;
确定子模块,用于确定在当前时隙被标记为空闲状态的单核令牌桶的第一数目,并确定在当前时隙取消标记空闲状态的单核令牌桶的第二数目;其中,被标记为空闲状态的单核令牌桶经过预设多个令牌投放时隙后取消标记;
计算子模块,用于基于上一时隙所确定的目标单核令牌桶的数目,以及所述第一数目和所述第二数目,计算当前时隙的目标单核令牌桶的数目。
10.根据权利要求9所述的装置,其特征在于,所述计算子模块,具体用于:
在基于上一时隙所确定的目标单核令牌桶的数目基础上,减去所述第一数目,加上所述第二数目,得到当前时隙的目标单核令牌桶的数目。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110967168.XA CN113691461B (zh) | 2021-08-23 | 2021-08-23 | 一种多核设备的令牌桶管理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110967168.XA CN113691461B (zh) | 2021-08-23 | 2021-08-23 | 一种多核设备的令牌桶管理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113691461A true CN113691461A (zh) | 2021-11-23 |
CN113691461B CN113691461B (zh) | 2023-03-24 |
Family
ID=78581433
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110967168.XA Active CN113691461B (zh) | 2021-08-23 | 2021-08-23 | 一种多核设备的令牌桶管理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113691461B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113886196A (zh) * | 2021-12-07 | 2022-01-04 | 上海燧原科技有限公司 | 片上功耗管理方法、电子设备及存储介质 |
CN115225580A (zh) * | 2022-06-10 | 2022-10-21 | 新浪网技术(中国)有限公司 | 一种针对多处理器核的业务隔离限速方法和装置 |
WO2024108328A1 (en) * | 2022-11-21 | 2024-05-30 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods and devices for allocating transmission resources using an extended token bucket algorithm |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101227410A (zh) * | 2008-02-03 | 2008-07-23 | 杭州华三通信技术有限公司 | 流量监管方法及流量监管设备 |
CN101478491A (zh) * | 2009-02-10 | 2009-07-08 | 中兴通讯股份有限公司 | 一种实现分组业务区分服务的方法及装置 |
US20140112147A1 (en) * | 2012-10-19 | 2014-04-24 | Broadcom Corporation | Refresh mechanism for a token bucket |
CN104518987A (zh) * | 2013-09-30 | 2015-04-15 | 华为技术有限公司 | 并行多线程报文处理的方法和装置 |
CN106453127A (zh) * | 2016-11-18 | 2017-02-22 | 杭州华三通信技术有限公司 | 一种令牌处理方法和装置 |
CN108768873A (zh) * | 2018-05-29 | 2018-11-06 | 腾讯科技(深圳)有限公司 | 一种流量控制方法及相关设备 |
CN109981478A (zh) * | 2019-02-18 | 2019-07-05 | 新华三信息安全技术有限公司 | 一种报文处理方法及装置 |
CN110213173A (zh) * | 2019-06-06 | 2019-09-06 | 北京百度网讯科技有限公司 | 流量控制方法及装置、系统、服务器、计算机可读介质 |
CN112367270A (zh) * | 2020-10-30 | 2021-02-12 | 锐捷网络股份有限公司 | 一种报文发送的方法和设备 |
-
2021
- 2021-08-23 CN CN202110967168.XA patent/CN113691461B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101227410A (zh) * | 2008-02-03 | 2008-07-23 | 杭州华三通信技术有限公司 | 流量监管方法及流量监管设备 |
CN101478491A (zh) * | 2009-02-10 | 2009-07-08 | 中兴通讯股份有限公司 | 一种实现分组业务区分服务的方法及装置 |
US20140112147A1 (en) * | 2012-10-19 | 2014-04-24 | Broadcom Corporation | Refresh mechanism for a token bucket |
CN104518987A (zh) * | 2013-09-30 | 2015-04-15 | 华为技术有限公司 | 并行多线程报文处理的方法和装置 |
CN106453127A (zh) * | 2016-11-18 | 2017-02-22 | 杭州华三通信技术有限公司 | 一种令牌处理方法和装置 |
CN108768873A (zh) * | 2018-05-29 | 2018-11-06 | 腾讯科技(深圳)有限公司 | 一种流量控制方法及相关设备 |
CN109981478A (zh) * | 2019-02-18 | 2019-07-05 | 新华三信息安全技术有限公司 | 一种报文处理方法及装置 |
CN110213173A (zh) * | 2019-06-06 | 2019-09-06 | 北京百度网讯科技有限公司 | 流量控制方法及装置、系统、服务器、计算机可读介质 |
CN112367270A (zh) * | 2020-10-30 | 2021-02-12 | 锐捷网络股份有限公司 | 一种报文发送的方法和设备 |
Non-Patent Citations (1)
Title |
---|
李博伦等: "网络流量监管CAR技术研究", 《无线互联科技》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113886196A (zh) * | 2021-12-07 | 2022-01-04 | 上海燧原科技有限公司 | 片上功耗管理方法、电子设备及存储介质 |
CN115225580A (zh) * | 2022-06-10 | 2022-10-21 | 新浪网技术(中国)有限公司 | 一种针对多处理器核的业务隔离限速方法和装置 |
CN115225580B (zh) * | 2022-06-10 | 2024-02-02 | 新浪技术(中国)有限公司 | 一种针对多处理器核的业务隔离限速方法和装置 |
WO2024108328A1 (en) * | 2022-11-21 | 2024-05-30 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods and devices for allocating transmission resources using an extended token bucket algorithm |
Also Published As
Publication number | Publication date |
---|---|
CN113691461B (zh) | 2023-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113691461B (zh) | 一种多核设备的令牌桶管理方法及装置 | |
US11546644B2 (en) | Bandwidth control method and apparatus, and device | |
JP4474192B2 (ja) | ネットワークにおけるサービス品質の暗黙的弁別のための方法及び装置 | |
Khazaei et al. | Performance analysis of cloud computing centers using m/g/m/m+ r queuing systems | |
US8000235B2 (en) | Bandwidth allocation method and apparatus | |
JP3526269B2 (ja) | ネットワーク間中継装置及び該中継装置における転送スケジューリング方法 | |
US7257632B2 (en) | Method and apparatus for a bandwidth broker in a packet network | |
US10419965B1 (en) | Distributed meters and statistical meters | |
CN110505101B (zh) | 一种网络切片编排方法及装置 | |
TWI521899B (zh) | 在被動式光纖網路中多封包分類之支援差異性效能的方法及裝置 | |
US20090055835A1 (en) | System and Method for Managing License Capacity in a Telecommunication Network | |
CN113992594A (zh) | 流量控制方法、装置、电子设备和计算机可读存储介质 | |
CN113225253B (zh) | 一种报文转发方法及装置 | |
CN112152863B (zh) | 分布式带宽分配方法及装置 | |
CN114500381A (zh) | 网络带宽限制方法、系统、电子设备及可读存储介质 | |
Menth et al. | Performance of PCN-based admission control under challenging conditions | |
CN113032410A (zh) | 数据处理方法、装置、电子设备及计算机存储介质 | |
US6754182B1 (en) | Method and apparatus for policing cell-based traffic | |
WO2017041652A1 (zh) | 一种网络资源的使用限额的控制方法、装置及系统 | |
CN112671667B (zh) | 一种虚拟转发设备的转发限速方法及系统 | |
JP4390731B2 (ja) | 呼受付判定方法とシステムおよびプログラム | |
Guillemin et al. | Extremal traffic and bounds for the mean delay of multiplexed regulated traffic streams | |
RU2547631C2 (ru) | Способ эффективного использования коммуникационных ресурсов мультисервисной сети в условиях перегрузки | |
US7593334B1 (en) | Method of policing network traffic | |
Menth et al. | PCN-based marked flow termination |
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 |