[发明专利]使用多核CPU处理QoS业务的方法、装置和设备有效

专利信息
申请号: 200810084356.2 申请日: 2008-03-19
公开(公告)号: CN101272334A 公开(公告)日: 2008-09-24
发明(设计)人: 戴霖 申请(专利权)人: 杭州华三通信技术有限公司
主分类号: H04L12/56 分类号: H04L12/56;H04L12/58;G06F9/46
代理公司: 北京挺立专利事务所 代理人: 叶树明
地址: 310053浙江省杭州市高新技术产业*** 国省代码: 浙江;33
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 使用 多核 cpu 处理 qos 业务 方法 装置 设备
【说明书】:

技术领域

发明涉及通信技术领域,尤其涉及一种使用多核CPU(Center ProcessingUnit,中央处理单元)处理QoS(Quality of Service,服务质量)业务的方法、装置和设备。

背景技术

随着信息产业的发展,网络宽带化已经成为主流。尤其是近年来宽带城域网的发展,使以太网形式的上连接口也快速普及。这种趋势对路由器性能提出了更高的要求,而与路由器性能表现密切相关的业务就是QoS。QoS业务应用于流量转发的过程中,其核心功能是“流量调度”。为了实现该功能,QoS需要使用FIFO(First in First out,先入先出)队列,其示意图如图1所示。QoS业务有两个核心动作:即入队列和出队列,可以理解为QoS业务的接收和发送。其中,QoS入队列又分为两种情况:被动入队列和主动入队列。所谓被动入队列,是指设备在接口只配置了默认的缓存队列,没有配置其它QoS策略,流量直接经由该接口转发,当流量过大导致接口转发失败时,转发失败的流量将进入默认的缓存队列。所谓主动入队列,是指设备在接口上配置了QoS策略,如优先级队列等,当流量需要经由该接口转发时,将根据配置的策略主动将流量分配到接口上相应的QoS队列。

传统路由器通常采用单核CPU作为转发引擎和业务处理引擎,并且拥有丰富的业务单板,可以满足客户不同的业务需求。如果想提高路由器的性能,其唯一的途径就是提高CPU的性能。在单核CPU的性能几乎已经发展到极限的情况下,采用日趋成熟的多核CPU成为了进一步提高性能的一种可能方法。在多核CPU中包括有多个Core(核),每个Core负责完成一个传统CPU的功能。

于是,如何在多核CPU平台上实现QoS业务的高性能成为了一个新的课题。为了实现QoS业务的高性能,需要保证QoS业务能够并发出队列,其中队列的收发均衡是关键。

现有技术中提供了一种利用多个CPU Core进行QoS队列处理的方法。其中入队列的操作如图2所示,多个CPU Core并发执行QoS入队列的操作。具体的,CPU Core向QoS队列写入数据的过程如下:当设备接口接收到需要处理的流时,根据接收的流的特征,将流分发到各个CPU Core。各个CPU Core在对接收到的流中的数据包进行处理之后,根据预先配置的策略,将数据包分配到对应的QoS队列,具体分为被动入队列和主动入队列两种情况。

此时由于QoS业务的接收速度很快,而QoS队列的大小有限,因此需要很高的QoS业务发送速度以保证收发均衡。为了实现该要求,如图3所示,现有技术中若一个设备接口的QoS队列中存在数据包,则该设备接口发动所有的CPU Core并发出队列。所谓的QoS出队列,是指CPU Core将QoS队列中的数据包取出经由设备接口转发出去。QoS出队列操作有两个终止条件:一、连续出队列,QoS队列中的数据包全部清空;二、QoS出队的速度超过接口速度之后,出队失败。如果遇到第二种情况,就等待CPU Core下次继续触发QoS出队列操作。

现有技术中存在的问题在于,即使设备上某接口的流量很少,也要发动所有的CPU Core对该接口进行并发处理。此时,所有的CPU Core都被一个流量很少的接口占用后,则不能去执行其它任务,无疑是对CPU Core资源的巨大浪费。当存在很多设备接口时,CPU Core不仅将不堪重负,设备接口之间的相互影响也很明显。

发明内容

本发明提供一种使用多核CPU处理QoS业务的方法、装置和设备,用于提高现有多核CPU对QoS业务的处理效率和处理性能。

为达到上述目的,本发明提供一种使用多核CPU处理QoS业务的方法,包括以下步骤:

获取事件缓存队列中存在事件的CPU Core;

根据所述CPU Core的事件缓存队列中存在的事件,获取所述CPU Core处理后的流转发出去所使用的接口;

调度所述CPU Core对所述接口中的QoS队列进行出队列操作。

其中,所述获取事件缓存队列中存在事件的CPU Core前还包括:

为每个CPU Core建立事件缓存队列;

当某个CPU Core进行流处理时,每处理流中的一个数据包,就在该CPUCore的事件缓存队列中写入一个事件。

其中,所述事件的内容包括:所述CPU Core处理后的流转发出去所使用的接口。

其中,对于所述接口中的QoS队列进行出队列操作的CPU Core数量,等于对所述接口中的QoS队列进行入队列操作的CPU Core数量。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州华三通信技术有限公司,未经杭州华三通信技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/200810084356.2/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top