CN104050036A - 多核处理器网络设备的控制***及方法 - Google Patents
多核处理器网络设备的控制***及方法 Download PDFInfo
- Publication number
- CN104050036A CN104050036A CN201410234696.4A CN201410234696A CN104050036A CN 104050036 A CN104050036 A CN 104050036A CN 201410234696 A CN201410234696 A CN 201410234696A CN 104050036 A CN104050036 A CN 104050036A
- Authority
- CN
- China
- Prior art keywords
- thread
- cpu
- data
- data surface
- kernel
- 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 64
- 230000008569 process Effects 0.000 claims description 16
- 238000002955 isolation Methods 0.000 claims description 9
- 230000002452 interceptive effect Effects 0.000 claims description 5
- 238000012423 maintenance Methods 0.000 claims description 5
- 230000015572 biosynthetic process Effects 0.000 claims description 3
- 238000003786 synthesis reaction Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 abstract description 19
- 230000006870 function Effects 0.000 description 56
- 230000007246 mechanism Effects 0.000 description 7
- 230000003044 adaptive effect Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000006978 adaptation Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 235000008429 bread Nutrition 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000004381 surface treatment Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种多核处理器网络设备的控制***及方法,该方法采用控制面和数据面相分离的软件架构模型,通过内核线程实现数据面操作,利用内核函数绑定数据面的内核线程到单独的CPU,最后利用内核参数屏蔽其他程序,以防占用数据面CPU资源,利用上述三点实现控制面和数据面相分离的网络设备软件架构。根据本发明,可以在保证各个数据面执行效率的前提下,提高报文处理能力和设备吞吐性能,且方法实现简单,通用性强,灵活稳定,便于移植。
Description
技术领域
本发明涉及到一种多核处理器网络设备的控制***及方法,特别的,涉及到控制面和数据面相分离的网络设备软件架构,进而能够提高报文处理和设备吞吐性能的方法。
背景技术
随着网络技术的发展,对防火墙技术的要求也越来越高,防火墙设备的处理器由单核处理器已经发展到多核处理器,如Broadcom公司的XLP832处理器,为8核MIPS处理器,每个核由4个硬件线程,这样可以理解为32核处理器。如何合理的使用多核处理器资源,充分发挥多核处理器的优势,尽量提高设备的吞吐性能,已成为各个厂商非常关注的问题。
传统的防火墙设备对多核处理器的使用多采用控制和数据转发分离的模型,比如32核处理器,各个核编号为CPU0–CPU31,那么几个CPU专门做控制相关的处理,如命令配置、路由维护、地址管理、网页展示等业务,这几个CPU称之为“控制平面”,剩下的CPU全部做数据转发处理,如报文收发,查路由,VPN,攻击防护等业务,这几个CPU称之为“数据平面”。通过这种控制面和数据面相分离的模型,来提高报文处理的性能。
但这种控制面和数据面分离的模型,通常实现都很复杂,需要很大的软件编码去实现上述模型,也需要很强的技术积累。同时,因为要区分处理各个处理器,需要对处理器做很多强相关的底层编码,如果设备换了一种处理器后,要想实现这种控制面-数据面模型,可能还需要重新编码,费时费力。
因此,有必要在保证报文处理能力和设备吞吐性能的前提下,提供一种控制面和数据面实现方法简单、通用性强的多核处理器网络设备的控制***及方法。
发明内容
本发明的目的是提供一种多核处理器网络设备的控制***及方法,其采用控制面和数据面相分离的控制架构,通过内核线程实现数据面操作,利用内核函数绑定数据面的内核线程到单独的CPU,最后利用内核参数屏蔽其他程序,以防占用数据面CPU资源,实现控制面和数据面相分离的网络设备控制***及方法。根据本发明,可以在保证各个数据面执行效率的前提下,提高报文处理和设备吞吐性能,且方法实现简单,通用性强,灵活稳定,便于移植。
根据本发明的一个方面,提供了一种多核处理器网络设备的控制***,包括:控制面单元11,用于提供***综合控制;数据面单元12,用于控制数据面的线程运行;用户态单元13,用于在指定的CPU上运行用户态的线程,以避免这些线程干扰数据面的CPU。
其中,所述控制面单元11以Linux的SMP方式运行于内核态,控制命令配置、路由维护、地址管理、网页展示业务的调度分配;所述数据面单元12运行于内核态,其中的多个内核线程分别绑定在不同的CPU上运行;以及所述用户态单元13的所有线程在所述控制面单元11指定的CPU上执行。
优选的,所述数据面单元12还包括:内核线程控制模块100,用于创建并设置数据面的线程;数据面执行模块200,用于执行数据面的线程;以及进程隔离模块300,用于隔离数据面的线程,以隔离控制面和用户态的线程,使其不会在数据面的CPU上运行。
优选的,所述内核线程控制模块100进一步包括:线程创建模块110,用于通过kthread_create函数创建线程;和线程控制模块120,用于通过kthread_bind函数控制线程运行于特定CPU上。
优选的,所述数据面执行模块200通过kthread_create函数创建数据面的执行函数dataplane_process,创建方式表示为:
其中,dataplane_process表示数据面要执行的线程,参数dp_cpu_start表示数据面线程运行的起始CPU,参数dp_cpu_end表示数据面线程运行的结尾CPU,dataplane_data[cpu]为该cpu私有的数据,用于dataplane_proces内核线程执行时该内核线程使用;dataplane/x为数据面内核线程的名称,dp_thread[cpu]用于存储内核线程创建后的结构。
优选的,所述进程隔离模块300通过isolcpus函数指定数据面的线程只运行于规定范围的CPU。
优选的,所述kthread_create函数表示为:
上述函数的参数含义为:
threadfn:内核线程的执行函数,
data:传递给threadfn函数的数据指针,
namefmt:内核线程的别名。
优选的,所述kthread_bind函数表示为:
kthread_bind(dp_thread[cpu],cpu),
其中,dp_thread[cpu]表示数据面单元中存储的内核线程,绑定在由变量cpu指定的cpu上执行。
根据本发明的另一方面,提供了一种多核处理器网络设备的控制方法,包括下述步骤:步骤S101,在控制面调度控制面线程;步骤S102,在数据面创建内核线程;步骤S103,控制数据面的预定线程运行于特定CPU;以及步骤S104,执行数据面的线程。
优选的,在步骤S102之后还包括下述步骤:步骤S105,隔离数据面的线程,使其运行在指定范围的CPU上;步骤S106,唤醒线程。
本发明的多核处理器网络设备的控制***及方法,采用控制面和数据面相分离的控制架构,通过内核线程实现数据面操作,利用内核函数绑定数据面的内核线程到单独的CPU,最后利用内核参数屏蔽其他程序,以防占用数据面CPU资源,实现控制面和数据面相分离的控制目的。根据本发明,可以在保证各个数据面执行效率的前提下,提高报文处理和设备吞吐性能,且方法实现简单,通用性强,灵活稳定,便于移植。
附图说明
图1显示了现有技术中一种的多核处理器网络设备的控制***结构示意图;
图2显示了现有技术中另一种多核处理器网络设备的控制***的结构示意图;
图3显示了本发明优选实施例的多核处理器网络设备的控制***的结构示意图;
图4显示了本发明的多核处理器网络设备的控制***中数据面单元的内部结构示意图;
图5显示了本发明优选实施例的多核处理器网络设备的控制方法的流程图;
图6显示了本发明优选实施例的多核处理器网络设备的控制方法的流程示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
本发明的目的是提供一种多核处理器网络设备的控制***及方法,其通过控制面和数据面相分离的软件架构模型,采用内核线程实现数据面操作,利用内核函数绑定数据面的内核线程到单独的CPU,最后利用内核参数屏蔽其他程序,以防占用数据面CPU资源。该方法可以在保证各个数据面执行效率的前提下,提高报文处理和设备吞吐性能,且方法实现简单,通用性强,灵活稳定,便于移植。
图1显示了现有技术中的多核处理器网络设备的控制***结构示意图。
如图1所示,在现有技术的一种多核处理器网络设备的控制***中,采用Linux操作***和非Linux操作***分别实现控制面和数据面。其中,控制面的CPU0,1运行Linux内核,Linux内核以SMP方式运行于CPU0,1。另一方面,数据面的CPU2–CPU31等其他CPU运行其他的操作***OS,报文直接由CPU2-CPU31收发处理。
可见,在上述现有技术的控制***中,控制面采用Linux操作***,数据面采用另外单独的操作***或者不采用操作***,直接形成为一个死循环的函数,永不退出,这个函数一直轮询收包,进行收包-处理操作。这种实现需单独对数据面的CPU做初始化操作,如CPU cache初始化,中断异常初始化,TLB映射等,需要耗费大量的人力劳动和程序代码,如果后续处理器换了,这种模型还需重新对数据面进行适配。
上述现有技术的主要缺陷在于,需要单独对数据面CPU进行初始化,通用性不强,如果后续处理器更换,还行重新对数据面进行移植,并且代码修改量很大。
图2显示了现有技术中另一种多核处理器网络设备的控制***的结构示意图。
如图2所示,在现有技术的另一种多核处理器网络设备的控制***中,控制面和数据面均采用Linux操作***实现。具体的,全部处理器都运行于Linux操作***,控制面和数据面在用户态实现,控制面和数据面可以是一个程序的多个线程,也可以是多进程方式。数据面多采用多线程pthread模型,每个数据面都绑定到专门的CPU,这种***方案需将内核的收发包屏蔽,用户态的数据面负责收发包,需要修改网卡驱动,将网卡收发包在用户态实现,这样方案需要很大的代码修改了,对每种网卡都得重新适配用户态收发包。
图2的***架构中,Linux内核运行于所有的CPU上,数据面和控制面作为用户态的程序运行于Linux***,控制面和数据面常是一个大程序,数据面作为该程序的线程执行。报文收发直接由用户态的数据面线程收发,即数据面线程直接和网卡驱动打交道,Linux内核不处理报文收发。
上述现有技术的主要缺陷在于存在性能瓶颈。因为数据面在用户态实现,用户态程序何时执行时间上不易保证。另外,因为是用户态收发包,需要适配网卡驱动到用户态,需要很大的开发量。如果后续换一种网卡,还需重新适配网卡收发包到用户态。网卡适配这块通用性不强。
图3显示了本发明优选实施例的多核处理器网络设备的控制***的结构示意图。
如图3所示,本发明优选实施例的多核处理器网络设备的控制***包括以下三个单元:控制面单元11,数据面单元12,用户态单元13。其中,控制面单元11,数据面单元12运行于内核态,用户态单元13运行于用户态。
控制面单元11用于提供***综合控制,例如命令配置、路由维护、地址管理、网页展示业务等。本发明中,控制面单元11优选的运行于Linux的SMP方式,即Linux负责控制面线程的调度分配。
数据面单元12用于控制数据面的线程运行,例如报文收发,查看路由,VPN,攻击防护业务等。如图3所示,数据面单元12设置有N个内核线程,分别运行在CPU Y–CPU(Y+N-1)上,不同的内核线程绑定到不同的CPU上运行,以确保数据面指定的CPU可以专注于执行数据面包处理。本发明中,数据面单元12优选的运行于内核线程的方式,即将数据面的处理都放到一个大函数里。
不同的内核线程绑定不同的CPU,以确保数据面指定的CPU可以专注于执行数据包处理。通过内核线程实现数据面操作,利用内核函数绑定数据面的内核线程到单独的CPU,最后利用内核参数屏蔽其他程序,以防占用数据面CPU资源,实现控制面和数据面相分离的多核处理器网络设备的控制***。
用户态单元13用于在指定的CPU上运行用户态的线程,以避免这些线程干扰数据面的CPU。
用户态空间的模块,如图例中的WEBD(网页服务器守护),Qugga(动态路由守护进程),CLI(命令配置程序)等模块,只会在控制面单元11指定的CPU0——CPU X上执行,不会干扰数据面CPU。在控制面内,控制面内核态程序的X个内核线程,运行在CPU0——CPU(X-1)上;在数据面内,数据面程序绑定N个内核线程,运行在CPU Y——CPU(Y+N-1)上,不同的内核线程绑定不同的CPU,以确保数据面指定的CPU可以专注于执行数据面包处理。在用户态内,用户态空间的其他程序,如图例中的WEBD(网页服务器守护),Qugga(动态路由守护进程),CLI(命令配置程序)等模块,只会在控制面指定的CPU0——CPU X上执行,不会干扰数据面CPU。
图4显示了本发明的多核处理器网络设备的控制***中数据面单元的内部结构示意图。
如图4所示,本发明优选实施例的数据面单元12包括下述模块:内核线程控制模块100、数据面执行模块200、进程隔离模块300。
内核线程控制模块100用于创建并设置数据面的线程,优选的通过kthread函数实现,包括线程创建模块110和线程控制模块120。
线程创建模块110用于创建内核线程,优选的通过kthread_create函数实现,通过kthread_create函数创建N个内核线程,执行数据面的处理线程。kthread_create函数原型如下:
上述函数的参数含义为:
threadfn:内核线程的执行函数。
data:传递给threadfn函数的数据指针
namefmt:内核线程的别名,方便管理记忆。
线程控制模块120用于控制线程运行于特定CPU上,优选的通过kthread_bind函数,kthread_bind函数的作用是限定特定的内核线程只能在特定的CPU上运行,该内核线程不受内核的任务CPU均衡机制管理,不会迁移到其他CPU上去执行。即内核线程和CPU绑定。kthread_bind函数的模型如下:
kthread_bind(dp_thread[cpu],cpu);
其中,dp_thread[cpu]表示数据面单元中存储的内核线程,只能绑定在由变量cpu指定的cpu上执行。Linux内核有任务负载均衡调度机制,如果数据面内核线程不绑定CPU,则可能运行的过程中迁移到其他CPU上去执行了,这种CPU间切换需要重新刷新CPU的cache,因而切换代价很大。通过上述线程控制模块120,可以避免这种不确定的迁移和切换。
数据面执行模块200用于执行数据面的线程,优选的采用执行函数为dataplane_process实现。数据面单元的所有线程处理都由dataplane_process函数实现,该函数一直循环,直至***停止。
在创建dataplane_process函数时,将dataplane_process函数作为参数填入到kthread_create函数中,然后将数据面单元的数据指针填入data,名称填入namefmt,然后调用kthread_create,即可创建执行函数为dataplane_process的内核线程。创建该内核线程后,可以调用wake_up_process函数启动内核线程运行。
例如,如果将数据面单元设置为运行于CPU Y-CPU(Y+N-1)上,Y存于dp_cpu_start,Y+N存于dp_cpu_end,则创建dataplane_process函数的代码执行如下:
其中,dataplane_process表示数据面要执行的线程,dataplane_data[cpu]为该cpu私有的数据,用于dataplane_proces内核线程执行时该内核线程使用;dataplane/x为数据面内核线程的名称。dp_thread[cpu]用于存储内核线程创建后的结构,例如cpu4创建的内核线程,返回的结构通过dp_thread[4]可以取到。wake_up_process函数执行后,该内核线程就开始运行了,即dataplane_process函数开始运行了。
进程隔离模块300用于隔离数据面的线程,以限定用户态单元13和其他线程不会在数据面单元12上的CPU执行,其优选的通过isolcpus函数实现。isolcpus函数可以指定数据面线程运行的CPU起止范围,该范围内的CPU,不受Linux内核任务负载均衡机制的管理,相当于从Linux***中“隔离”了。
例如,如果数据面单元设置为运行在CPU Y-CPU(Y+N-1),并且要设置为使得这部分CPU只运行数据面单元的模块,不运行其他模块,可以将isolcpus函数设置为:isolcpus=Y-(Y+N-1)。
上式中,例如Y为2,N为30,即限定为CPU2–CPU31运行在数据面单元,则isolcpus参数为:isolcpus=2-31。
进一步,将该参数加入到内核的启动参数上,就可以将CPU Y–CPU(Y+N-1)从Linux内核的任务负载均衡的机制中隔离开,达到保护数据面CPU资源的目的,使数据面CPU可以专注的执行数据面内核线程指定的报文收发任务,不受干扰。
这样,通过进程隔离模块300,除了强制指定在isolcpus上执行的程序外,其他程序,不管是内核态的内核线程还是用户态的程序,都不会自动运行到isolcpus指定的CPU上去。
通常来说,数据面负责报文转发,对CPU的消耗是很大的,如果数据面内核线程在执行的过程中,该执行的CPU还需执行其他的程序,则会打断当前的数据面处理流程,这对网络设备吞吐性能极为不利。鉴于网络设备需要优先保证数据报文转发即数据面的执行效率,通过本发明的***,能够保护数据面的CPU执行不受其他任务的干扰,可以专用于执行数据面处理。
此外,数据面单元12优选的还设置有线程唤醒模块400,其优选的采用wake_up_process函数实现,通过调用线程唤醒模块,可以唤醒内核线程运行。
如上所述,通过采用本发明的***架构,由于处于控制面单元的Linux内核已经适配完成,可以不用修改网卡驱动和CPU适配程序,***的大部分CPU资源只需要专注于数据面的报文收发处理。此外,由于Linux***的报文收发主要在内核实现,数据面的应用模块可直接利用Linux内核的网络代码,直接在Linux内核的netfilter框架上实现更复杂的报文处理功能。这样,当需要更换成其他型号的CPU或网卡时,CPU适配和网卡驱动都能得到Linux内核的支持,而数据面应用模块的处理代码无需修改,通用性很强。
图5显示了本发明优选实施例的多核处理器网络设备的控制方法的流程图。
如图5所示,本发明优选实施例的多核处理器网络设备的控制方法主要用于实现控制面和数据面相分离的网络设备***架构,所述方法包括下述步骤:
步骤S101,在控制面调度控制面线程。
本步骤中,通过控制面单元实现控制面的线程调度分配,例如包括下述中的一种或多种:命令配置、路由维护、地址管理、网页展示业务。
步骤S102,在数据面创建内核线程。
本步骤中,优选的通过kthread_create函数创建内核线程,通过kthread_create函数创建N个内核线程,执行数据面的处理线程。kthread_create函数具体模型参见前文描述。
步骤S103,控制数据面的预定线程运行于特定CPU。
本步骤中,优选的通过kthread_bind函数限定特定的内核线程只能在特定的CPU上运行,该内核线程不受内核的任务CPU均衡机制管理,不会迁移到其他CPU上去执行。即内核线程和CPU绑定。kthread_bind函数的模型参见前文描述。
步骤S104,执行数据面的线程。
本步骤中,优选的通过dataplane_process函数实现数据面所有线程的处理,该函数一直循环,直至***停止。
图6显示了本发明优选实施例的多核处理器网络设备的控制方法的流程示意图。
如图6所示,优选的,在步骤S102之后还包括步骤S105,隔离数据面的线程。
本步骤中,通过isolcpus函数指定数据面的线程运行的CPU起止范围。进一步,通过将上述函数加入到内核的启动参数上,就可以将isolcpus函数指定的CPU范围从Linux内核的任务负载均衡的机制中隔离开,达到保护数据面CPU资源的目的,使数据面CPU可以专注的执行数据面内核线程指定的报文收发任务,不受干扰。这样,isolcpus函数指定范围内的CPU,可以不受Linux内核任务负载均衡机制的管理,相当于从Linux***中“隔离”了。从而可以限定用户态单元13和其他线程不会在数据面单元12上的CPU执行。
可选的,在步骤S102之后还包括步骤S106,唤醒线程。
本步骤优选的采用wake_up_process函数实现,通过调用该函数,可以唤醒或调用所创建的线程运行。
如上所述,本发明的多核处理器网络设备的控制***及方法中,采用控制面和数据面相分离的软件架构模型,通过内核线程实现数据面操作,利用内核函数绑定数据面的内核线程到单独的CPU,最后利用内核参数屏蔽其他程序,以防占用数据面CPU资源,可以在保证各个数据面执行效率的前提下,提高报文处理和设备吞吐性能,且方法实现简单,通用性强,灵活稳定,便于移植。
应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。
Claims (10)
1.一种多核处理器网络设备的控制***,包括:
控制面单元(11),用于提供***综合控制;
数据面单元(12),用于控制数据面的线程运行;
用户态单元(13),用于在指定的CPU上运行用户态的线程,以避免这些线程干扰数据面的CPU。
2.根据权利要求1所述的控制***,其特征在于:
所述控制面单元(11)以Linux的SMP方式运行于内核态,控制命令配置、路由维护、地址管理、网页展示业务的调度分配;
所述数据面单元(12)运行于内核态,其中的多个内核线程分别绑定在不同的CPU上运行;以及
所述用户态单元(13)的所有线程在所述控制面单元(11)指定的CPU上执行。
3.根据权利要求1所述的控制***,所述数据面单元(12)还包括:
内核线程控制模块(100),用于创建并设置数据面的线程;
数据面执行模块(200),用于执行数据面的线程;以及
进程隔离模块(300),用于隔离数据面的线程,以隔离控制面和用户态的线程,使其不会在数据面的CPU上运行。
4.根据权利要求3所述的控制***,所述内核线程控制模块(100)进一步包括:
线程创建模块(110),用于通过kthread_create函数创建线程;和
线程控制模块(120),用于通过kthread_bind函数控制线程运行于特定CPU上。
5.根据权利要求4所述的控制***,所述数据面执行模块(200)通过kthread_create函数创建数据面的执行函数dataplane_process,创建方式表示为:
其中,dataplane_process表示数据面要执行的线程,参数dp_cpu_start表示数据面线程运行的起始CPU,参数dp_cpu_end表示数据面线程运行的结尾CPU,dataplane_data[cpu]为该cpu私有的数据,用于dataplane_proces内核线程执行时该内核线程使用;dataplane/x为数据面内核线程的名称,dp_thread[cpu]用于存储内核线程创建后的结构。
6.根据权利要求3所述的控制***,所述进程隔离模块(300)通过isolcpus函数指定数据面的线程只运行于规定范围的CPU。
7.根据权利要求4所述的控制***,所述kthread_create函数表示为:
上述函数的参数含义为:
threadfn:内核线程的执行函数,
data:传递给threadfn函数的数据指针,
namefmt:内核线程的别名。
8.根据权利要求4所述的控制***,所述kthread_bind函数表示为:
kthread_bind(dp_thread[cpu],cpu),
其中,dp_thread[cpu]表示数据面单元中存储的内核线程,绑定在由变量cpu指定的cpu上执行。
9.一种多核处理器网络设备的控制方法,包括下述步骤:
步骤S101,在控制面调度控制面线程;
步骤S102,在数据面创建内核线程;
步骤S103,控制数据面的预定线程运行于特定CPU;以及
步骤S104,执行数据面的线程。
10.根据权利要求9所述的控制方法,在步骤S102之后还包括下述步骤:
步骤S105,隔离数据面的线程,使其运行在指定范围的CPU上;
步骤S106,唤醒线程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410234696.4A CN104050036B (zh) | 2014-05-29 | 2014-05-29 | 多核处理器网络设备的控制***及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410234696.4A CN104050036B (zh) | 2014-05-29 | 2014-05-29 | 多核处理器网络设备的控制***及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104050036A true CN104050036A (zh) | 2014-09-17 |
CN104050036B CN104050036B (zh) | 2018-04-27 |
Family
ID=51502930
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410234696.4A Active CN104050036B (zh) | 2014-05-29 | 2014-05-29 | 多核处理器网络设备的控制***及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104050036B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104994032A (zh) * | 2015-05-15 | 2015-10-21 | 京信通信技术(广州)有限公司 | 一种信息处理的方法和装置 |
CN106371894A (zh) * | 2016-08-31 | 2017-02-01 | 华为技术有限公司 | 一种配置方法、装置和数据处理服务器 |
CN106445696A (zh) * | 2016-09-12 | 2017-02-22 | 深圳铂睿智恒科技有限公司 | 一种多进程交互处理方法及*** |
CN111371723A (zh) * | 2018-12-07 | 2020-07-03 | 网宿科技股份有限公司 | 一种在dpdk框架下实现pptp vpn网络隔离的方法和装置 |
CN111614631A (zh) * | 2020-04-29 | 2020-09-01 | 江苏深网科技有限公司 | 一种用户态流水线架构防火墙*** |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1567187A (zh) * | 2003-06-11 | 2005-01-19 | 华为技术有限公司 | 数据处理***及方法 |
CN101330390A (zh) * | 2008-03-12 | 2008-12-24 | 武汉理工大学 | 基于多核网络处理器的慢速路径、快速路径及其接口设计方法 |
US20120134320A1 (en) * | 2010-11-29 | 2012-05-31 | Alcatel-Lucent USA Inc. and Alcatel-Lucent | Method and system for improved multi-cell support on a single modem board |
CN102541633A (zh) * | 2011-12-16 | 2012-07-04 | 汉柏科技有限公司 | 基于多核cpu的数据平面和控制平面部署***及方法 |
EP2602964A1 (en) * | 2010-08-06 | 2013-06-12 | ZTE Corporation | Method, device and equipment for service management |
-
2014
- 2014-05-29 CN CN201410234696.4A patent/CN104050036B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1567187A (zh) * | 2003-06-11 | 2005-01-19 | 华为技术有限公司 | 数据处理***及方法 |
CN101330390A (zh) * | 2008-03-12 | 2008-12-24 | 武汉理工大学 | 基于多核网络处理器的慢速路径、快速路径及其接口设计方法 |
EP2602964A1 (en) * | 2010-08-06 | 2013-06-12 | ZTE Corporation | Method, device and equipment for service management |
US20120134320A1 (en) * | 2010-11-29 | 2012-05-31 | Alcatel-Lucent USA Inc. and Alcatel-Lucent | Method and system for improved multi-cell support on a single modem board |
CN102541633A (zh) * | 2011-12-16 | 2012-07-04 | 汉柏科技有限公司 | 基于多核cpu的数据平面和控制平面部署***及方法 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104994032A (zh) * | 2015-05-15 | 2015-10-21 | 京信通信技术(广州)有限公司 | 一种信息处理的方法和装置 |
CN104994032B (zh) * | 2015-05-15 | 2018-09-25 | 京信通信***(中国)有限公司 | 一种信息处理的方法和装置 |
CN106371894A (zh) * | 2016-08-31 | 2017-02-01 | 华为技术有限公司 | 一种配置方法、装置和数据处理服务器 |
WO2018040750A1 (zh) * | 2016-08-31 | 2018-03-08 | 华为技术有限公司 | 一种配置方法、装置和数据处理服务器 |
CN106371894B (zh) * | 2016-08-31 | 2020-02-14 | 华为技术有限公司 | 一种配置方法、装置和数据处理服务器 |
CN106445696A (zh) * | 2016-09-12 | 2017-02-22 | 深圳铂睿智恒科技有限公司 | 一种多进程交互处理方法及*** |
CN106445696B (zh) * | 2016-09-12 | 2020-02-21 | 深圳铂睿智恒科技有限公司 | 一种多进程交互处理方法及*** |
CN111371723A (zh) * | 2018-12-07 | 2020-07-03 | 网宿科技股份有限公司 | 一种在dpdk框架下实现pptp vpn网络隔离的方法和装置 |
CN111371723B (zh) * | 2018-12-07 | 2022-06-17 | 网宿科技股份有限公司 | 一种在dpdk框架下实现pptp vpn网络隔离的方法和装置 |
CN111614631A (zh) * | 2020-04-29 | 2020-09-01 | 江苏深网科技有限公司 | 一种用户态流水线架构防火墙*** |
CN111614631B (zh) * | 2020-04-29 | 2022-06-03 | 江苏深网科技有限公司 | 一种用户态流水线架构防火墙*** |
Also Published As
Publication number | Publication date |
---|---|
CN104050036B (zh) | 2018-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104050036A (zh) | 多核处理器网络设备的控制***及方法 | |
US8856801B2 (en) | Techniques for executing normally interruptible threads in a non-preemptive manner | |
CN109961151B (zh) | 用于机器学习的计算服务的***及用于机器学习的方法 | |
CN103428241B (zh) | 服务部署方法及*** | |
US20130219385A1 (en) | Batch scheduler management of virtual machines | |
US20120324454A1 (en) | Control Flow Graph Driven Operating System | |
US20150143382A1 (en) | Scheduling workloads and making provision decisions of computer resources in a computing environment | |
CN103064742A (zh) | 一种hadoop集群的自动部署***及方法 | |
CN102567097B (zh) | 一种多任务下载的方法及终端 | |
CN102375761A (zh) | 业务管理方法和装置、以及设备 | |
CN112995267B (zh) | 一种基于Kubernetes集群的数据订阅服务方法和设备 | |
WO2014110702A1 (zh) | 协同并发式消息总线、主动构件组装模型及构件拆分方法 | |
CN111209046A (zh) | 一种面向多任务处理的嵌入式sparc处理器操作***设计方法 | |
CN105589748A (zh) | 一种业务请求处理方法及装置 | |
Cannella et al. | Adaptivity support for MPSoCs based on process migration in polyhedral process networks | |
Terzo et al. | Heterogeneous computing architectures: Challenges and vision | |
CN108170417B (zh) | 一种在mesos集群中集成高性能的作业调度框架的方法和装置 | |
Didelot et al. | Improving MPI communication overlap with collaborative polling | |
Sebrechts et al. | Adapting Kubernetes controllers to the edge: on-demand control planes using Wasm and WASI | |
Queiroz et al. | Container-based virtualization for real-time industrial systems—a systematic review | |
JP2007188456A (ja) | データ処理システムおよびデータ処理方法 | |
WO2013165460A1 (en) | Control flow graph driven operating system | |
Dreher et al. | Manala: a flexible flow control library for asynchronous task communication | |
CN109800166A (zh) | 一种嵌入式实时操作***的调试方法及装置 | |
CN109445847B (zh) | 工业服务器微内核架构实现方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
PP01 | Preservation of patent right |
Effective date of registration: 20180528 Granted publication date: 20180427 |
|
PP01 | Preservation of patent right | ||
PD01 | Discharge of preservation of patent |
Date of cancellation: 20240528 Granted publication date: 20180427 |
|
PP01 | Preservation of patent right |
Effective date of registration: 20240528 Granted publication date: 20180427 |