CN101272334A - 使用多核CPU处理QoS业务的方法、装置和设备 - Google Patents

使用多核CPU处理QoS业务的方法、装置和设备 Download PDF

Info

Publication number
CN101272334A
CN101272334A CNA2008100843562A CN200810084356A CN101272334A CN 101272334 A CN101272334 A CN 101272334A CN A2008100843562 A CNA2008100843562 A CN A2008100843562A CN 200810084356 A CN200810084356 A CN 200810084356A CN 101272334 A CN101272334 A CN 101272334A
Authority
CN
China
Prior art keywords
incident
cpu core
cpu
qos
interface
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
Application number
CNA2008100843562A
Other languages
English (en)
Other versions
CN101272334B (zh
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.)
Beijing Ziguang Communication Technology Group Co ltd
Original Assignee
Hangzhou H3C Technologies 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 Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN2008100843562A priority Critical patent/CN101272334B/zh
Publication of CN101272334A publication Critical patent/CN101272334A/zh
Application granted granted Critical
Publication of CN101272334B publication Critical patent/CN101272334B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Advance Control (AREA)

Abstract

本发明公开了一种使用多核CPU处理QoS业务的方法、装置和设备。该方法包括以下步骤:获取事件缓存队列中存在事件的CPU Core;根据所述CPU Core的事件缓存队列中存在的事件,获取所述CPU Core处理后的流转发出去所使用的接口;调度所述CPU Core对所述接口中的QoS队列进行出队列操作。通过使用本发明提供的方法、装置和设备,实现了设备任一接口上QoS队列的收发均衡,且提高了多核CPU对QoS业务的处理效率,提升了多核CPU设备的性能。

Description

使用多核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数量。
其中,所述调度所述CPU Core对所述接口中的QoS队列进行出队列操作后,还包括:
对所述接口中的QoS队列的出队列操作终止时,删除出队列操作终止CPU Core的事件缓存队列中与所述接口对应的一事件。
本发明还提供一种使用多核CPU处理QoS业务的装置,包括:
事件缓存队列单元,用于为每个CPU Core建立事件缓存队列;
第一获取单元,用于获取所述事件缓存队列单元为每个CPU Core建立的事件缓存队列中存在事件的CPU Core;
第二获取单元,用于根据所述第一获取单元获取的CPU Core的事件缓存队列中存在的事件,获取所述CPU Core处理后的流转发出去所使用的接口;
调度单元,用于调度所述第一获取单元获取的CPU Core对所述第二获取单元获取的接口中的QoS队列进行出队列操作。
其中,还包括:
事件添加单元,用于当某个CPU Core进行流处理时,每处理流中的一个数据包,就在所述事件缓存队列单元中所述CPU Core的事件缓存队列中写入一个事件;所述事件的内容包括:所述CPU Core处理后的流转发出去所使用的接口
其中,还包括:
事件删除单元,用于当所述第一获取单元获取的CPU Core对所述第二获取单元获取的接口中的QoS队列进行出队列操作终止时,在所述事件缓存队列单元中,删除出队列操作终止CPU Core的事件缓存队列中与所述接口对应的一事件。
本发明还提供一种使用多核CPU处理QoS业务的装置,包括:多个CPUCore、设备接口模块以及调度模块;
所述CPU Core,用于接受所述调度模块的调度对所述设备接口模块维护的QoS队列进行出队列操作;
所述调度模块,用于获取事件缓存队列中存在事件的CPU Core;根据所述CPU Core的事件缓存队列中存在的事件,获取所述CPU Core处理后的流转发出去所使用的设备接口模块;调度所述CPU Core对所述设备接口模块中的QoS队列进行出队列操作;
设备接口模块,用于维护接口的QoS队列。
其中,所述调度模块进一步包括:
事件缓存队列单元,用于为每个CPU Core建立事件缓存队列;
第一获取单元,用于获取所述事件缓存队列单元为每个CPU Core建立的事件缓存队列中存在事件的CPU Core;
第二获取单元,用于根据所述第一获取单元获取的CPU Core的事件缓存队列中存在的事件,获取所述CPU Core处理后的流转发出去所使用的接口;
调度单元,用于调度所述第一获取单元获取CPU Core对所述第二获取单元获取的接口中的QoS队列进行出队列操作。
与现有技术相比,本发明具有以下优点:
通过使用本发明提供的方法和装置,提供了一种在多核CPU上实现QoS业务并发出队列的方法。方法的核心思想是合理高效的使用CPU Core资源——CPU Core资源的使用与设备接口的数量无关,只与流的多少有关。当一个或者多个接口有多条流经由多个CPU Core进行处理时,就使用所述多个CPUCore对这一个或者多个接口进行QoS出队列操作。对于任意时刻的任一接口,对该接口中的QoS队列进行出队列操作的CPU Core数量等于对该接口中的QoS队列进行入队列操作的CPU Core数量。本发明实现了接口中QoS队列的收发均衡,且提高了多核CPU对QoS业务的处理效率,提升了多核CPU设备的整体性能。
附图说明
图1是现有技术中QoS队列的示意图;
图2是现有技术中使用多个CPU Core并发执行QoS入队列的示意图;
图3是现有技术中使用多个CPU Core并发执行QoS出队列的示意图;
图4是本发明中使用多核CPU处理QoS业务的方法流程图;
图5是本发明中CPU Core的事件缓存队列的示意图;
图6A是本发明应用场景中T1时刻多个CPU Core并发执行QoS出队列操作的示意图;
图6B是本发明应用场景中T2时刻多个CPU Core并发执行QoS出队列操作的示意图;
图6C是本发明应用场景中T3时刻多个CPU Core并发执行QoS出队列操作的示意图;
图7是本发明中使用多核CPU处理QoS业务的装置示意图。
具体实施方式
本发明提供一种使用多核CPU处理QoS业务的方法,其核心思想在于:使得CPU Core资源的使用与设备接口的数量无关,而只与流的多少有关。当一个或者多个接口有多条流经由多个CPU Core进行处理时,就使用所述多个CPU Core对这一个或者多个接口进行QoS出队列操作。对于任意时刻的任一接口,对该接口中的QoS队列进行出队列操作的CPU Core数量等于对该接口中的QoS队列进行入队列操作的CPU Core数量,从而实现QoS队列的收发均衡,从而合理高效的使用CPU Core资源。
具体的,本发明中一种使用多核CPU处理QoS业务的方法如图4所示,包括以下步骤:
步骤s101、为每个CPU Core建立事件缓存队列,当CPU Core进行流处理时,在该CPU Core的事件缓存队列中写入事件。
具体的,事件缓存队列的示意图如图5所示。对于需要处理的每条流,每处理流中的一个数据包,就向该CPU Core的事件缓存队列中写入一个事件;该事件内容包括:该CPU Core所处理的流转发出去所使用的接口。对某一CPUCore而言,其在事件缓存队列中记录的事件个数与其处理的数据包个数是相等的,是一一对应关系。
步骤s102、对于事件缓存队列中存在事件的CPU Core,获取该CPU Core处理后的流转发出去所使用的接口。
具体的,可以采用轮询的方式对CPU Core的事件缓存队列进行监视。当某CPU Core的事件缓存队列中存在事件时,获取该CPU Core处理后的流转发出去所使用的接口。
步骤s103、调度该CPU Core对该接口中的QoS队列进行出队列操作。
具体的,某一CPU Core对流进行处理时,就使用该CPU Core对其自身处理后的流转发出去所使用的接口进行出队列操作。即,对于特定的接口,如果只有一个CPU Core使用该接口转发流量,就调度该CPU Core对该接口中的QoS队列进行出队列操作;如果有多个CPU Core使用该接口转发流量,就调度所述多个CPU Core对该接口中的QoS队列进行出队列操作。该步骤保证了任意时刻对一接口的QoS队列进行出队列操作的CPU Core数量等于对该接口的QoS队列进行入队列操作的CPU Core数量,从而实现任一接口中QoS队列的收发均衡,同时避免了无条件发动所有CPU Core对同一接口并发出队列所带来的资源浪费。
具体的,设备的每个接口上包括一个或者多个QoS队列,且每个接口上都配置有一个QoS出队列函数。该QoS出队列函数负责对接口上包括的一个或者多个QoS队列按照策略进行出队列操作。具体的,CPU Core对特定的QoS队列进行的出队列操作通过调用该QoS队列所属接口的QoS出队列函数进行。QoS出队列函数有两个终止条件:一、连续出队列,直至QoS队列中的数据包全部清空;二、QoS出队列的速度超过接口速度,出队列失败。如果遇到第二种情况,本次出队列终止,等待CPU Core下次调用QoS出队列函数继续触发QoS出队列操作。
当多个CPU Core对同一个QoS队列进行出队列操作时,所述QoS队列对于所述多个CPU Core来说是临界资源。此时,所述QoS出队列函数在多个CPU Core上并发运行,自行协调所述多个CPU Core将所述QoS队列中的数据包通过设备接口转发出去。该步骤中需要说明的是,当所述QoS出队列函数在所述多个CPU Core上并发运行时,所述多个CPU Core平等竞争所述QoS队列中的数据包。当其中某个CPU Core赢得竞争并获取到所述QoS队列中的数据包时,便通过所述设备接口转发出去。即不需要保证通过某一CPUCore进入所述QoS队列的数据包在出队列时仍由该CPU Core转发出去。
步骤s104、当该CPU Core触发的QoS出队列操作每终止一次,就将该CPUCore的事件缓存队列中与该接口对应的一个事件删除。
具体的,CPU Core在调用QoS出队列函数进行QoS出队列操作时,尽力一次将QoS队列中尽量多的数据包从接口中转发出去。该出队列操作每终止一次,就将出队列操作终止CPU Core的事件缓存队列中与该接口对应的一个事件删除,这里的对应事件是指CPU Core在将数据包进行该接口中QoS队列的入队列操作时在该CPU Core的事件缓存队列中所添加的事件。当接口的QoS队列全部被从接口中转发出去后,CPU Core的事件缓存队列中还可能存在若干事件,此时调度该CPU Core对该接口的QoS队列进行出队列的操作为对空队列的操作,对空队列的出队列操作每进行一次,CPU Core的事件缓存队列中的事件就被删除一个,直至CPU Core的事件缓存队列中的事件全部被删除,则停止对该CPU Core的调用。
以下结合一具体的应用场景,描述本发明中使用多核CPU处理QoS业务的具体实施方式。假设包括一多核CPU包括4个CPU Core,分别为CPUCore1、CPU Core2、CPU Core3以及CPU Core4。QoS队列处理中所使用的设备的接口为接口1,接口1上包括两个QoS队列,分别为高优先级的QoS队列L1,以及低优先级的QoS队列L2。即接口1将采用主动入队列方式。
在某一时刻T1,如图6A所示,CPU Core1以及CPU Core2分别有流需要处理,且设CPU Core1处理后的流进入接口1的QoS队列L1,CPU Core2处理后的流进入接口1的QoS队列L2;则在CPU Core1以及CPU Core2的事件缓存队列中分别写入与接口1对应的事件。根据写入的事件,可以调度CPU Core1以及CPU Core2对该接口1中的QoS队列进行出队列操作。此时CPU Core3以及CPU Core4或者没有进行流处理,或者处理后的流没有进入接口1中的QoS队列,因此不调度CPU Core3以及CPU Core4对接口1进行出队列操作。在出队列操作中,CPU Core1以及CPU Core2优先对高优先级的QoS队列L1进行出队列操作,出队列过程中可以无需对出队列的内容在入队列时是来自CPU Core1或CPU Core2进行区分,由CPU Core1以及CPUCore2协调完成出队列即可。
在T1后的某一时刻T2,如图6B所示,由CPU Core1加入接口1的QoS队列L1的流全部处理完成(假设此时CPU Core1的事件缓存队列中仍存在事件);CPU Core2的流仍在处理且其处理后的流仍进入QoS队列L2。另外,设CPU Core3也开始进行流处理且其处理后的流进入了QoS队列L2,则同时在CPU Core3的事件缓存队列中写入事件。根据写入的事件,可以调度CPUCore1、CPU Core2以及CPU Core3对该接口1中的QoS队列进行出队列操作,因为此时接口1的高优先级队列L1为空,因此CPU Core1、CPU Core2以及CPU Core3对该接口1中的QoS队列L2进行出队列操作。在出队列操作中,可以无需对出队列的内容在入队列时是来自CPU Core2或CPU Core3,由CPUCore1、CPU Core2以及CPU Core3协调完成出队列操作即可。
在T2后的某一时刻T3,如图6C所示,此时接口1的QoS队列L2的出队列操作处理也已经完成,同时CPU Core1、CPU Core2以及CPU Core3各自的事件缓存队列中的事件也已经被清空,因此不再继续调度CPU Core1、CPU Core2以及CPU Core3对接口1进行QoS出队列操作。
再以另一应用场景为例,假设CPU Core1以及CPU Core2分别有流需要处理,且设CPU Core1处理后的流进入接口1的QoS队列L1,CPU Core2处理后的流进入接口1的QoS队列L2。假设CPU Core1对接口1上的队列L1入队列100个数据包,则事件缓存队列中有100个事件;CPU Core2对接口1上的队列L2入队列1000个数据包,则事件缓存队列中有1000个事件;且CPU Core 1和CPUCore 2不再进行入队列操作。则CPU Core1和CPU Core2会协同对该接口1进行出队列操作,假设某一时刻L1、和/或L2中仍存在数据包的情况下,CPU Core1的事件缓存队列中的100个事件已经被删除完毕,则停止调度CPU Core1对接口1的出队列操作,由CPU Core2继续余下的接口1的出队列操作。
本发明还提供一种使用多核CPU处理QoS业务的装置,如图7所示,包括:
事件缓存队列单元10,用于为每个CPU Core建立事件缓存队列;
第一获取单元20,用于获取事件缓存队列单元10为每个CPU Core建立的事件缓存队列中存在事件的CPU Core;
第二获取单元30,用于根据第一获取单元20获取的CPU Core的事件缓存队列中存在的事件,获取CPU Core处理后的流转发出去所使用的接口;
调度单元40,用于调度第一获取单元20获取的CPU Core对第二获取单元30获取的接口中的QoS队列进行出队列操作。
另外,还包括:
事件添加单元50,用于当某个CPU Core进行流处理时,每处理流中的一个数据包,就在事件缓存队列单元10中该CPU Core的事件缓存队列中写入一个事件;所述事件的内容包括:所述CPU Core处理后的流转发出去所使用的接口
事件删除单元60,用于当第一获取单元20获取的CPU Core对第二获取单元30获取的接口中的QoS队列进行出队列操作终止时,在事件缓存队列单元10中,删除出队列操作终止CPU Core的事件缓存队列中与该接口对应的一个事件。
本发明还提供一种使用多核CPU处理QoS业务的设备,包括:多个CPUCore、设备接口模块以及调度模块;其中:
CPU Core,用于接受所述调度模块的调度对所述设备接口模块维护的QoS队列进行出队列操作。
调度模块,用于获取事件缓存队列中存在事件的CPU Core;根据所述CPU
Core的事件缓存队列中存在的事件,获取所述CPU Core处理后的流转发出去所使用的设备接口模块;调度所述CPU Core对所述设备接口模块中的QoS队列进行出队列操作。需要说明的是,该调度模块可能是独立于各CPU Core之外的单独控制单元,也可能是分散运行在各CPU Core内部,是每个CPUCore内部的一部分。
设备接口模块,位于设备的特定接口上,用于维护该接口的QoS队列,每个接口上包括一个或者多个QoS队列。设备接口模块在接口配置一个QoS出队列函数,通过该QoS出队列函数,对接口上包括的一个或者多个QoS队列按照策略进行出队列操作。在任意时刻,对该设备接口模块维护的QoS队列进行出队列操作的CPU Core数量等于对该设备接口模块维护的QoS队列进行入队列操作的CPU Core数量。
该装置中调度模块的结构与上述图7中描述的装置的结构相同,在此不进行重复描述。
通过使用本发明提供的方法和装置,提供了一种在多核CPU上实现QoS业务并发出队列的方法,在某个CPU Core对流进行处理时,使用该CPU Core对其处理后流转发出去所使用的接口进行出队列操作,从而对于任意时刻的任一接口,对该接口中的QoS队列进行出队列操作的CPU Core数量等于对该接口中的QoS队列进行入队列操作的CPU Core数量。本发明实现了接口中QoS队列的收发均衡,且提高了多核CPU对QoS业务的处理效率,提升了多核CPU设备的整体性能。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台设备执行本发明各个实施例所述的方法。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。

Claims (10)

1、一种使用多核中央处理单元CPU处理业务质量QoS业务的方法,其特征在于,包括以下步骤:
获取事件缓存队列中存在事件的CPU Core;
根据所述CPU Core的事件缓存队列中存在的事件,获取所述CPU Core处理后的流转发出去所使用的接口;
调度所述CPU Core对所述接口中的QoS队列进行出队列操作。
2、如权利要求1所述使用多核CPU处理QoS业务的方法,其特征在于,所述获取事件缓存队列中存在事件的CPU Core前还包括:
为每个CPU Core建立事件缓存队列;
当某个CPU Core进行流处理时,每处理流中的一个数据包,就在该CPUCore的事件缓存队列中写入一个事件。
3、如权利要求1或2所述使用多核CPU处理QoS业务的方法,其特征在于,所述事件的内容包括:所述CPU Core处理后的流转发出去所使用的接口。
4、如权利要求1所述使用多核CPU处理QoS业务的方法,其特征在于,对于对所述接口中的QoS队列进行出队列操作的CPU Core数量,等于所述接口中的QoS队列进行入队列操作的CPU Core数量。
5、如权利要求1所述使用多核CPU处理QoS业务的方法,其特征在于,所述调度所述CPU Core对所述接口中的QoS队列进行出队列操作后,还包括:
对所述接口中的QoS队列的出队列操作终止时,删除出队列操作终止CPU Core的事件缓存队列中与所述接口对应的一事件。
6、一种使用多核CPU处理QoS业务的装置,其特征在于,包括:
事件缓存队列单元,用于为每个CPU Core建立事件缓存队列;
第一获取单元,用于获取所述事件缓存队列单元为每个CPU Core建立的事件缓存队列中存在事件的CPU Core;
第二获取单元,用于根据所述第一获取单元获取的CPU Core的事件缓存队列中存在的事件,获取所述CPU Core处理后的流转发出去所使用的接口;
调度单元,用于调度所述第一获取单元获取的CPU Core对所述第二获取单元获取的接口中的QoS队列进行出队列操作。
7、如权利要求6所述使用多核CPU处理QoS业务的装置,其特征在于,还包括:
事件添加单元,用于当某个CPU Core进行流处理时,每处理流中的一个数据包,就在所述事件缓存队列单元中该CPU Core的事件缓存队列中写入一个事件;所述事件的内容包括:所述CPU Core处理后的流转发出去所使用的接口。
8、如权利要求6所述使用多核CPU处理QoS业务的装置,其特征在于,还包括:
事件删除单元,用于当所述第一获取单元获取的CPU Core对所述第二获取单元获取的接口中的QoS队列进行出队列操作终止时,在所述事件缓存队列单元中,删除出队列操作终止CPU Core的事件缓存队列中与所述接口对应的一事件。
9、一种使用多核CPU处理QoS业务的设备,其特征在于,包括:多个CPU Core、设备接口模块以及调度模块;
所述CPU Core,用于接受所述调度模块的调度对所述设备接口模块维护的QoS队列进行出队列操作;
所述调度模块,用于获取事件缓存队列中存在事件的CPU Core;根据所述CPU Core的事件缓存队列中存在的事件,获取所述CPU Core处理后的流转发出去所使用的设备接口模块;调度所述CPU Core对所述设备接口模块中的QoS队列进行出队列操作;
设备接口模块,用于维护接口的QoS队列。
10、如权利要求9所述使用多核CPU处理QoS业务的设备,其特征在于,所述调度模块进一步包括:
事件缓存队列单元,用于为每个CPU Core建立事件缓存队列;
第一获取单元,用于获取所述事件缓存队列单元为每个CPU Core建立的事件缓存队列中存在事件的CPU Core;
第二获取单元,用于根据所述第一获取单元获取的CPU Core的事件缓存队列中存在的事件,获取所述CPU Core处理后的流转发出去所使用的接口;
调度单元,用于调度所述第一获取单元获取CPU Core对所述第二获取单元获取的接口中的QoS队列进行出队列操作。
CN2008100843562A 2008-03-19 2008-03-19 使用多核CPU处理QoS业务的方法、装置和设备 Active CN101272334B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008100843562A CN101272334B (zh) 2008-03-19 2008-03-19 使用多核CPU处理QoS业务的方法、装置和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008100843562A CN101272334B (zh) 2008-03-19 2008-03-19 使用多核CPU处理QoS业务的方法、装置和设备

Publications (2)

Publication Number Publication Date
CN101272334A true CN101272334A (zh) 2008-09-24
CN101272334B CN101272334B (zh) 2010-11-10

Family

ID=40006032

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008100843562A Active CN101272334B (zh) 2008-03-19 2008-03-19 使用多核CPU处理QoS业务的方法、装置和设备

Country Status (1)

Country Link
CN (1) CN101272334B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103595654A (zh) * 2013-11-01 2014-02-19 福建星网锐捷网络有限公司 基于多核CPU的HQoS实现方法、装置及网络设备
CN105159779A (zh) * 2015-08-17 2015-12-16 深圳中兴网信科技有限公司 提高多核cpu数据处理性能的方法和系统
WO2016082463A1 (zh) * 2014-11-24 2016-06-02 中兴通讯股份有限公司 一种多核处理器下的数据处理方法、装置及存储介质
US10884667B2 (en) 2017-01-05 2021-01-05 Huawei Technologies Co., Ltd. Storage controller and IO request processing method
US11003360B2 (en) 2016-12-29 2021-05-11 Huawei Technologies Co., Ltd. IO request processing according to processing sorting indexes

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7941585B2 (en) * 2004-09-10 2011-05-10 Cavium Networks, Inc. Local scratchpad and data caching system
CN100495346C (zh) * 2006-08-21 2009-06-03 英业达股份有限公司 多核多中央处理器的执行线程分配方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103595654A (zh) * 2013-11-01 2014-02-19 福建星网锐捷网络有限公司 基于多核CPU的HQoS实现方法、装置及网络设备
CN103595654B (zh) * 2013-11-01 2016-06-29 福建星网锐捷网络有限公司 基于多核CPU的HQoS实现方法、装置及网络设备
WO2016082463A1 (zh) * 2014-11-24 2016-06-02 中兴通讯股份有限公司 一种多核处理器下的数据处理方法、装置及存储介质
CN105159779A (zh) * 2015-08-17 2015-12-16 深圳中兴网信科技有限公司 提高多核cpu数据处理性能的方法和系统
CN105159779B (zh) * 2015-08-17 2020-03-13 深圳中兴网信科技有限公司 提高多核cpu数据处理性能的方法和系统
US11003360B2 (en) 2016-12-29 2021-05-11 Huawei Technologies Co., Ltd. IO request processing according to processing sorting indexes
US10884667B2 (en) 2017-01-05 2021-01-05 Huawei Technologies Co., Ltd. Storage controller and IO request processing method

Also Published As

Publication number Publication date
CN101272334B (zh) 2010-11-10

Similar Documents

Publication Publication Date Title
CN105577567B (zh) 基于Intel DPDK的网络数据包并行处理方法
CN103197968B (zh) 一种融合同步异步特点的线程池处理方法及系统
EP2701074B1 (en) Method, device, and system for performing scheduling in multi-processor core system
CN104580396B (zh) 一种任务调度方法、节点及系统
CN105812276B (zh) 采用多核处理器的报文转发自适应系统和方法
CN101272334B (zh) 使用多核CPU处理QoS业务的方法、装置和设备
CN109697122A (zh) 任务处理方法、设备及计算机存储介质
CN102811176B (zh) 一种数据流量控制方法和装置
US20080240140A1 (en) Network interface with receive classification
CN103532876A (zh) 数据流的处理方法与系统
CN102158906B (zh) 一种服务质量敏感系统及其任务调度方法
CN102231697A (zh) 一种报文队列的带宽调度方法、报文上报方法及其装置
CN102970244A (zh) 一种多cpu核间负载均衡的网络报文处理方法
CN107122233A (zh) 一种面向tsn业务的多vcpu自适应实时调度方法
KR20180126401A (ko) 멀티코어 기반 데이터 처리 방법 및 장치
EP2670085A1 (en) System for performing Data Cut-Through
Lu et al. An adaptive load balancing algorithm for heterogeneous distributed systems with multiple task classes
CN108280018B (zh) 一种节点工作流通信开销效率分析优化方法及系统
CN102945185A (zh) 任务调度方法及装置
CN101052031B (zh) 苹果计算机与无线通讯终端进行数据交互的方法
CN102209028A (zh) 控制cpu流量的装置和方法
CN114363269A (zh) 一种消息传输方法、系统、设备以及介质
US9128771B1 (en) System, method, and computer program product to distribute workload
CN112214299A (zh) 多核处理器及其任务调度方法和装置
CN102664803B (zh) 一种ef队列的实现方法和设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP03 Change of name, title or address

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Patentee after: NEW H3C TECHNOLOGIES Co.,Ltd.

Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base

Patentee before: HANGZHOU H3C TECHNOLOGIES Co.,Ltd.

CP03 Change of name, title or address
TR01 Transfer of patent right

Effective date of registration: 20230815

Address after: 24th Floor, Block B, Zhizhen Building, No. 7 Zhichun Road, Haidian District, Beijing, 100088

Patentee after: Beijing Ziguang Communication Technology Group Co.,Ltd.

Address before: 310052 Changhe Road, Binjiang District, Hangzhou, Zhejiang Province, No. 466

Patentee before: NEW H3C TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right