[发明专利]一种多核架构下流量限速无锁并发实现的方法在审
申请号: | 202110122692.7 | 申请日: | 2021-01-29 |
公开(公告)号: | CN112799861A | 公开(公告)日: | 2021-05-14 |
发明(设计)人: | 靳龙 | 申请(专利权)人: | 上海弘积信息科技有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54;H04L12/819 |
代理公司: | 北京盛凡智荣知识产权代理有限公司 11616 | 代理人: | 李朦 |
地址: | 201206 上海市浦*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 多核 架构 流量 限速 并发 实现 方法 | ||
本发明公开了一种多核架构下流量限速无锁并发实现的方法,将令牌桶设计成循环免锁队列,队列长度为N;每一个处理数据流的CPU核分配一个令牌桶,处理数据流的核数为M;一个单独CPU核轮询访问M个免锁队列,往队列添加令牌;以C0表示添加令牌的CPU核,C0周期轮询给各个队列添加令牌,每个周期C0首先计算各个队列消耗令牌比例,把这个周期要添加的令牌按比例添加到各个队列中;处理数据流的CPU核,通过计算数据报大小获取自己队列的令牌,如果令牌不够,根据策略选择缓存或丢弃数据报文;本发明通过把令牌桶分布在不用CPU处理核上,把生产令牌核消费令牌分别处理,通过免锁队列实现令牌计算。
技术领域
本发明涉及网络通信技术领域,具体是指一种多核架构下流量限速无锁并发实现的方法。
背景技术
流量限速和流量整形是数据通信设备的关键组件,例如,企业网络中,存在语音、视频和数据等多种不同的业务,当大量的业务流量进入网络侧时,可能会因为带宽不足产生拥塞,需要对三种业务提供不同的带宽,优先保证语音业务报文的转发,其次是视频业务,最后是数据业务。因此可以对不同业务进行不同的流量监督,为语音报文提供最大带宽,视频报文次之,数据报文带宽最小,从而在网络产生拥塞时,可以保证语音报文优先通过。
流量限速和流量整形是成熟的QoS(服务质量)技术,华为、锐捷和Juniper等主流企业的交换机和路由器都支持该技术,深信服的流量控制产品也基于流量限速和流量整形,所以,流量限速和流量整形技术应用非常广泛并且该技术也非常成熟,不同的是各个厂商在实现上各显神通,主要比拼的是控制的精度和处理的吞吐量。
流量限速和流量整形原理基本以令牌桶技术为基础,不同是各个厂家在实现上有所差别,令牌桶算法的基本过程是,每过1/R秒,令牌桶中增加一个令牌,桶中最多存放B个令牌,如果令牌桶满了,新放入的令牌会被丢弃,当一个N字节的数据包到达时,消耗N个令牌,然后发送该数据包,如果桶中可用令牌小于N,则该数据包将被缓存或丢弃。
目前处理器基本都是多核处理器,为了增加处理速度,数据流量流过设备时,设备多个CPU核要同时参与计算产生令牌和消费令牌的操作。为了防止对令牌桶数据的并发处理导致错误,一般通过自旋锁来保护多个CPU核共同处理的数据。
自旋锁的特点是,一个CPU执行spin_lock(自旋锁),其它CPU需要在执行spin_lock时被阻塞,被阻塞的CPU不能继续执行也不会被释放。这导致了两个问题:
1.由于被阻塞的CPU不被释放,导致CPU资源浪费;
2.由于执行被阻塞,被处理的数据等待自旋锁释放资源,该数据得不到及时处理,导致数据延迟和吞吐量下降。
所以,一种多核架构下流量限速无锁并发实现的方法成为人们亟待解决的问题。
发明内容
本发明的目的是通过在多核架构下,使每一个CPU核能单独处理同一个令牌桶数据,来实现流量限速和流量整形,对任何一个CPU处理数据报文时,访问令牌桶数据不需要对令牌桶加锁,避免数据报文传输的延迟和提升CPU核的利用率。
为实现上述目的,本发明提供的技术方案为:一种多核架构下流量限速无锁并发实现的方法,包括以下步骤:
步骤1:将令牌桶设计成循环免锁队列,队列长度为N;
步骤2:每一个处理数据流的CPU核分配一个令牌桶,处理数据流的核数为M;
步骤3:一个单独CPU核轮询访问M个免锁队列,往队列添加令牌;
步骤4:以C0表示添加令牌的CPU核,C1、C2……CM表示消耗令牌处理流量数据的CPU核,C0周期轮询给各个队列添加令牌,每个周期C0首先计算各个队列消耗令牌比例,把这个周期要添加的令牌按比例添加到各个队列中;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海弘积信息科技有限公司,未经上海弘积信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110122692.7/2.html,转载请声明来源钻瓜专利网。