CN102609307A - 多核多线程双操作系统网络设备及其控制方法 - Google Patents
多核多线程双操作系统网络设备及其控制方法 Download PDFInfo
- Publication number
- CN102609307A CN102609307A CN2012100568078A CN201210056807A CN102609307A CN 102609307 A CN102609307 A CN 102609307A CN 2012100568078 A CN2012100568078 A CN 2012100568078A CN 201210056807 A CN201210056807 A CN 201210056807A CN 102609307 A CN102609307 A CN 102609307A
- Authority
- CN
- China
- Prior art keywords
- thread
- message
- operating system
- formation
- transmitted
- 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.)
- Pending
Links
Images
Abstract
本发明是一种多核多线程双操作系统网络设备,包括2个操作系统,一个操作系统作为平台操作系统,一个操作系统作为业务操作系统;所述平台操作系统用于线程之间的调度;平台操作系统对应多核个数n生成n个线程,每个线程绑定到一个核上,n为大于2的自然数;其中一个线程为业务线程,只处理并调度业务操作系统,其中另一个线程为报文分发线程,只处理报文的分发,其他线程为报文转发线程,只做报文路由转发使用;所述业务操作系统用于控制报文处理,其由平台操作系统创建并将其绑定到业务线程上。通过本发明可提高转发效率,充分利用多核架构。
Description
技术领域
本发明涉及网络设备领域,具体涉及一种多核多线程双操作系统网络设备及其控制方法。
背景技术
随着数据通信技术的发展,特别是高带宽高速度的数据通信技术的出现。对嵌入式处理器的要求也变得越来越高,一方面要处理大量的人机交互、外设控制等任务,另一方面还要对不同接口的信息数据进行处理,与此同时,嵌入式系统还要应对功耗更低,体积更小的挑战。
此前处理器一直致力于单核单操作系统处理器的发展,其性能已经发挥到极致。但应用对cpu资源的需求却远远超过cpu的发展速度,单核也越来越难以满足要求,其局限性也日渐明显。对于新的应用而言,速度已经不再是唯一因素,提升性能才是更好的选择。而如果引入多核多操作系统技术,便可以在较低频率、较小缓存的条件下达到大幅提高性能的目的。通过划分任务、线程应用能够充分利用多个执行内核,并可在特定的时间内执行更多任务。
发明内容
(一)要解决的技术问题
本发明的目的是提供一种多核多线程双操作系统网络设备及其控制方法。
(二)技术方案
为了解决上述技术问题,本发明提供一种多核多线程双操作系统网络设备,包括2个操作系统,一个操作系统作为平台操作系统,一个操作系统作为业务操作系统;
所述平台操作系统用于线程之间的调度;平台操作系统对应多核个数n生成n个线程,每个线程绑定到一个核上,n为大于2的自然数;其中一个线程为业务线程,只处理并调度业务操作系统,其中另一个线程为报文分发线程,只处理报文的分发,其他线程为报文转发线程,只做报文路由转发使用;
所述业务操作系统用于控制报文处理,其由平台操作系统创建并将其绑定到业务线程上。
优选地,所述报文转发线程与业务线程之间的通信通过专门的消息队列实现。
优选地,所述报文分发线程读取网卡队列的报文,如果是主机报文则转发给业务线程队列,如果是转发报文,则根据报文的ip五元组,平均hash到每个报文转发线程队列上。
优选地,所述业务操作系统为防火墙操作系统。
本发明还提供一种如上述设备的控制方法,包括步骤:
S101,由平台操作系统根据核个数n创建n个线程,每个线程与核进行一对一绑定,其中一个线程用来调度业务操作系统,其中另一个线程作为报文分发线程,所述报文分发线程用来读取网卡队列报文并转发给相应其他线程,剩下的线程用来做报文转发线程,只处理转发报文;
S102,所述报文分发线程从网卡队列获取报文,根据ip确定如果是主机报文,则将此报文放入业务报文队列,由业务线程处理;如果报文不是主机报文,则根据报文ip五元组,平均分配给报文转发线程队列。
(三)有益效果
本发明平台操作系统内的一个线程只用来处理业务操作系统(例如防火墙操作系统),一个线程只用来分发报文(根据报文的ip五元组,平均分发到转发线程上),其他线程只转发线程,通过此种方法来提高转发效率,充分利用多核架构。
附图说明
图1为本发明设备的结构框图;
图2为本发明方法的流程图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不是限制本发明的范围。
如图1所示,本发明所述的多核多线程双操作系统网络设备包含2个操作系统,一个操作系统作为平台操作系统,一个操作系统作为业务操作系统。平台操作系统用于线程之间的调度,
平台操作系统对应多核个数n生成n个线程,每个线程绑定到一个核上。n为大于2的自然数。
其中一个线程只处理并调度业务操作系统(业务线程)。
其中一个线程只处理报文的分发(读取网卡队列的报文,如果是主机报文则转发给业务平台线程队列,如果是转发报文,则根据报文的ip五元组,平均hash到每个平台转发线程队列上,通过此方法来保证每条数据流同一时间被一个平台转发线程处理,达到在控制数据结构之间免锁的目的)(报文分发线程)。
其他线程只做报文路由转发使用(报文转发线程)。
报文转发线程与业务线程之间的通信通过专门的消息队列实现。
业务线程(业务操作系统)负责控制报文处理,业务操作系统由平台操作系统创建并将其绑定到业务线程上;报文转发线程负责报文转发处理。在本发明一实施例中,所述业务操作系统为防火墙操作系统。
业务线程:处理主机报文,维护报文转发表项。
转发线程:处理转发报文,查找转发表项。
报文分发线程:获取网卡报文,并分发给业务线程或转发线程。
如图2所示,本发明所述的多核多线程双操作系统网络设备的控制方法,包括步骤:
第一步,由平台操作系统根据cpu个数n创建n个线程n(n>2),每个线程与cpu进行一对一绑定,其中一个线程用来调度业务操作系统(业务线程),用来完成防火墙的所有功能(除转发以外的所有功能),其中一个线程作为报文分发线程,所述报文分发线程用来读取网卡队列报文并转发给相应其他线程,剩下的线程用来做报文转发线程,只处理转发报文。以4核cpu为例,生成4个对应线程,1个线程作为业务线程,1个线程作为报文分发线程,2个线程作为转发线程。
第二步,所述报文分发线程从网卡队列里获取报文,根据ip确定如果是主机报文,则将此报文放入业务报文队列,由业务线程处理。如果报文不是主机报文,则根据报文ip五元组,平均分配给报文转发线程队列。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和替换,这些改进和替换也应视为本发明的保护范围。
Claims (5)
1.一种多核多线程双操作系统网络设备,其特征在于,包括2个操作系统,一个操作系统作为平台操作系统,一个操作系统作为业务操作系统;
所述平台操作系统用于线程之间的调度;平台操作系统对应多核个数n生成n个线程,每个线程绑定到一个核上,n为大于2的自然数;其中一个线程为业务线程,只处理并调度业务操作系统,其中另一个线程为报文分发线程,只处理报文的分发,其他线程为报文转发线程,只做报文路由转发使用;
所述业务操作系统用于控制报文处理,其由平台操作系统创建并将其绑定到业务线程上。
2.如权利要求1所述的设备,其特征在于,所述报文转发线程与业务线程之间的通信通过专门的消息队列实现。
3.如权利要求1所述的设备,其特征在于,所述报文分发线程读取网卡队列的报文,如果是主机报文则转发给业务线程队列,如果是转发报文,则根据报文的ip五元组,平均hash到每个报文转发线程队列上。
4.如权利要求1所述的设备,其特征在于,所述业务操作系统为防火墙操作系统。
5.一种如权利要求1-4中任意一项所述的设备的控制方法,其特征在于,包括步骤:
S101,由平台操作系统根据核个数n创建n个线程,每个线程与核进行一对一绑定,其中一个线程用来调度业务操作系统,其中另一个线程作为报文分发线程,所述报文分发线程用来读取网卡队列报文并转发给相应其他线程,剩下的线程用来做报文转发线程,只处理转发报文;
S102,所述报文分发线程从网卡队列获取报文,根据ip确定如果是主机报文,则将此报文放入业务报文队列,由业务线程处理;如果报文不是主机报文,则根据报文ip五元组,平均分配给报文转发线程队列。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012100568078A CN102609307A (zh) | 2012-03-07 | 2012-03-07 | 多核多线程双操作系统网络设备及其控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012100568078A CN102609307A (zh) | 2012-03-07 | 2012-03-07 | 多核多线程双操作系统网络设备及其控制方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102609307A true CN102609307A (zh) | 2012-07-25 |
Family
ID=46526701
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012100568078A Pending CN102609307A (zh) | 2012-03-07 | 2012-03-07 | 多核多线程双操作系统网络设备及其控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102609307A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102752321A (zh) * | 2012-08-07 | 2012-10-24 | 广州微仕科信息技术有限公司 | 一种基于多核网络处理器的防火墙实现方法 |
CN105812276A (zh) * | 2016-04-27 | 2016-07-27 | 深圳市风云实业有限公司 | 采用多核处理器的报文转发自适应系统和方法 |
CN107301087A (zh) * | 2017-06-28 | 2017-10-27 | 郑州云海信息技术有限公司 | 一种多线程系统的性能提升方法和装置 |
CN107465567A (zh) * | 2017-06-29 | 2017-12-12 | 西安交大捷普网络科技有限公司 | 一种数据库防火墙的数据转发方法 |
CN107479966A (zh) * | 2017-07-03 | 2017-12-15 | 珠海高凌信息科技股份有限公司 | 一种基于多核心cpu的信令采集方法 |
CN109413598A (zh) * | 2018-11-26 | 2019-03-01 | 京信通信系统(中国)有限公司 | 一种资源分配与管理的方法及设备 |
CN110677397A (zh) * | 2019-09-18 | 2020-01-10 | 广东网堤信息安全技术有限公司 | 基于dpdk下的nat转发数据的方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1047931A (zh) * | 1989-05-17 | 1990-12-19 | 国际商业机器公司 | 不采用一个或二个操作系统的服务而在不同处理器中运行的应用程序之间直接传送信息的方法及装置 |
EP1126369A2 (en) * | 2000-02-17 | 2001-08-22 | International Business Machines Corporation | Method and system for supporting multiple operating systems on the same disk running on different computers at the same time |
CN101178666A (zh) * | 2007-12-13 | 2008-05-14 | 中兴通讯股份有限公司 | 一种异构多核间协调调度的方法及异构多核系统 |
CN101216814A (zh) * | 2007-12-26 | 2008-07-09 | 杭州华三通信技术有限公司 | 一种多核多操作系统之间的通信方法及系统 |
CN101256515A (zh) * | 2008-03-11 | 2008-09-03 | 浙江大学 | 多核处理器操作系统负载均衡的实现方法 |
CN101458618A (zh) * | 2007-12-11 | 2009-06-17 | 刘勇 | 并行hash函数模式 |
CN101685407A (zh) * | 2008-09-28 | 2010-03-31 | 联想(北京)有限公司 | 一种计算机及虚拟环境中的任务调度方法 |
-
2012
- 2012-03-07 CN CN2012100568078A patent/CN102609307A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1047931A (zh) * | 1989-05-17 | 1990-12-19 | 国际商业机器公司 | 不采用一个或二个操作系统的服务而在不同处理器中运行的应用程序之间直接传送信息的方法及装置 |
EP1126369A2 (en) * | 2000-02-17 | 2001-08-22 | International Business Machines Corporation | Method and system for supporting multiple operating systems on the same disk running on different computers at the same time |
CN101458618A (zh) * | 2007-12-11 | 2009-06-17 | 刘勇 | 并行hash函数模式 |
CN101178666A (zh) * | 2007-12-13 | 2008-05-14 | 中兴通讯股份有限公司 | 一种异构多核间协调调度的方法及异构多核系统 |
CN101216814A (zh) * | 2007-12-26 | 2008-07-09 | 杭州华三通信技术有限公司 | 一种多核多操作系统之间的通信方法及系统 |
CN101256515A (zh) * | 2008-03-11 | 2008-09-03 | 浙江大学 | 多核处理器操作系统负载均衡的实现方法 |
CN101685407A (zh) * | 2008-09-28 | 2010-03-31 | 联想(北京)有限公司 | 一种计算机及虚拟环境中的任务调度方法 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102752321A (zh) * | 2012-08-07 | 2012-10-24 | 广州微仕科信息技术有限公司 | 一种基于多核网络处理器的防火墙实现方法 |
CN105812276A (zh) * | 2016-04-27 | 2016-07-27 | 深圳市风云实业有限公司 | 采用多核处理器的报文转发自适应系统和方法 |
CN105812276B (zh) * | 2016-04-27 | 2023-11-10 | 深圳市风云实业有限公司 | 采用多核处理器的报文转发自适应系统和方法 |
CN107301087A (zh) * | 2017-06-28 | 2017-10-27 | 郑州云海信息技术有限公司 | 一种多线程系统的性能提升方法和装置 |
CN107465567A (zh) * | 2017-06-29 | 2017-12-12 | 西安交大捷普网络科技有限公司 | 一种数据库防火墙的数据转发方法 |
CN107479966A (zh) * | 2017-07-03 | 2017-12-15 | 珠海高凌信息科技股份有限公司 | 一种基于多核心cpu的信令采集方法 |
CN107479966B (zh) * | 2017-07-03 | 2020-11-03 | 珠海高凌信息科技股份有限公司 | 一种基于多核心cpu的信令采集方法 |
CN109413598A (zh) * | 2018-11-26 | 2019-03-01 | 京信通信系统(中国)有限公司 | 一种资源分配与管理的方法及设备 |
CN109413598B (zh) * | 2018-11-26 | 2021-07-23 | 京信通信系统(中国)有限公司 | 一种资源分配与管理的方法及装置 |
CN110677397A (zh) * | 2019-09-18 | 2020-01-10 | 广东网堤信息安全技术有限公司 | 基于dpdk下的nat转发数据的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11687374B2 (en) | Configurable logic platform with reconfigurable processing circuitry | |
CN102609307A (zh) | 多核多线程双操作系统网络设备及其控制方法 | |
EP2701074B1 (en) | Method, device, and system for performing scheduling in multi-processor core system | |
CN105577567B (zh) | 基于Intel DPDK的网络数据包并行处理方法 | |
CN102915254B (zh) | 任务管理方法及装置 | |
CN103200128A (zh) | 一种网络包处理的方法、装置和系统 | |
CN109697122A (zh) | 任务处理方法、设备及计算机存储介质 | |
CN102375761A (zh) | 业务管理方法和装置、以及设备 | |
CN104102548A (zh) | 任务资源调度处理方法和系统 | |
CN103365726A (zh) | 一种面向gpu集群的资源管理方法和系统 | |
CN103731372A (zh) | 一种混合云环境下服务提供者的资源供应方法 | |
CN102594891A (zh) | 用于处理远程过程调用请求的方法及系统 | |
CN105187327A (zh) | 一种分布式消息队列中间件 | |
CN103346902B (zh) | 数据采集调度的方法及系统 | |
CN102323895A (zh) | 一种基于机顶盒嵌入式操作系统实时调度方法 | |
CN101795266A (zh) | 航电asm协议控制器 | |
CN103595654A (zh) | 基于多核CPU的HQoS实现方法、装置及网络设备 | |
JP2023501870A (ja) | 自律的な仮想無線アクセスネットワーク制御 | |
CN105426260A (zh) | 一种支持分布式系统的透明进程间通信系统及方法 | |
CN105653347B (zh) | 一种服务器、资源管理方法及虚拟机管理器 | |
CN105393234B (zh) | 用于管理usb数据传送的系统和方法 | |
CN105530157A (zh) | Afdx网络交换机多个虚拟链路共享信用的方法 | |
Zhang et al. | ATFQ: a fair and efficient packet scheduling method in multi-resource environments | |
Jiang et al. | Adia: Achieving high link utilization with coflow-aware scheduling in data center networks | |
CN102629217B (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 | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20120725 |