[发明专利]一种建立多核运行环境的方法有效
| 申请号: | 200810241123.9 | 申请日: | 2008-12-30 |
| 公开(公告)号: | CN101770401A | 公开(公告)日: | 2010-07-07 |
| 发明(设计)人: | 吴亚飚;张宏君 | 申请(专利权)人: | 北京天融信网络安全技术有限公司 |
| 主分类号: | G06F9/50 | 分类号: | G06F9/50;H04L12/56 |
| 代理公司: | 信息产业部电子专利中心 11010 | 代理人: | 梁军 |
| 地址: | 100085 北京*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 建立 多核 运行 环境 方法 | ||
技术领域
本发明涉及计算机技术,特别涉及一种建立多核运行环境的方法。
背景技术
X86平台从2006年双核概念的兴起,不到三年的时间,多核已经深入人 心,现在4核的处理器已经量产,6核的处理器也即将面世。多核化的趋势不 仅促使芯片厂商带来了更新的系统架构、更高的性能、更低的功耗和更多样化 的功能,而且对软件设计也带来了许多新价值和新挑战。操作系统在多核处理 器硬件平台上一般有两种构架,一种是对称多处理器架构(Symmetric Multi-Processor,SMP)方式,另一种为AMP(Asynchronous Multi-Processor) 方式。如图1所示,为以4核为例的SMP架构示意图。
SMP方式就是将多个内核平等看待,每个内核运行的操作系统相同,这 种架构虽然比较简洁,但也有其固有缺陷:
1)这种全并发的架构对软件的要求很高,目前很多系统都是非并发安全 的,如果全部转为并发,工作量很大,不是在短时间内可以完成的。
2)为了解决对共享资源(内存数据、I/O等)的争用问题,需要使用大量 的锁机制,而这些锁的操作又影响了性能发挥,还有CPU之间的通信开销也 会随着CPU数量的增加也急剧上升,当内核数量的增加到一定的量级,这时 性能就不再增长甚至开始下降。
鉴于SMP的上述缺点,与之相对的AMP架构就备受关注,特别是在内 容安全领域,本身网络转发和内容过滤就是分层的,例如对于IPS产品可以采 用四核处理器的AMP架构,一个核专门处理网络数据的接收和发送,对于需 要进行内容匹配的数据流分类交给另外三个核处理,这三个核只负责IPS内容 的匹配,因为数据是分类处理的,很少会涉及到共享资源的竞争。通过这个方 式可以充分利用多核的资源,而却很小程度上涉及并发操作,对内存总线的争 用也减少到最低,可以解决现有代码无法利用多核资源的问题。
现有多核系统常见的AMP架构方案如下:
AMP方式就是将多个内核区别看待,可以运行不同的操作系统也可以在 相同的操作系统上运行不同的任务,各个处理器内核按照任务划分,各负其责, 规避共享资源的竞争。
1)拿出几个物理内核,在其上建立一种简易的系统环境(有时候直接叫 做“裸核”环境),在这个“洁净的空间”内运行单一任务(比如收发数据、模式 匹配等)往往可以获得极高的性能,这是AMP方式的特点,也是其优势。
2)在相同的操作系统上运行不同的任务也是同样的机理,只不过更容易 实现一些,相应的性能提升的效果也逊色一些。
但是,现有AMP架构技术存在下列缺点:
在运行不同操作系统的架构模式下,允许异构的操作系统运行在单一的处 理器体系中,例如RMI提供的Virtual MIPS mode。但是因为软件环境的不同, cpu的初始化以及内存的管理等需要额外的代码维护。
在运行相同的操作系统架构模式下,由于这些cpu都在一个操作系统中调 度,cpu之间的通信和同步开销不可避免,cpu数量越多,这个开销越大。
另外,在X86平台上,每一个网卡在初始化时都会分配一个irq号,可以 利用中断亲和力技术,把中断号irq号定向到指定的cpu上,这样就能实现所 有网络流量都由一个cpu处理,然后由这个cpu根据流量的特征分流给另外的 cpu处理,虽然也可以实现本方案的目的,但因为这个cpu还是工作在Linux 环境中,进程调度的发生会导致cache失效,还有与其它cpu之间的一些开销 不能避免,例如IPI中断;而且在扩展性方面也不如本方案,如果有更多的可 用cpu资源,使用中断亲和力技术实现起来很复杂。
发明内容
本发明的目的在于,提供一种建立多核运行环境的方法。
本发明的建立多核运行环境的方法,预先将多个cpu分为两组,一组是在 线cpu,运行标准的Linux操作系统,用于对报文的内容进行检查;另一组为 下线cpu,用于运行指定任务代码,当所有cpu的相关资源完成初始化后,使 部分在线cpu成为下线cpu,下线的cpu运行一个死循环函数cpu_idle,将指 定任务的代码入口函数嵌入到所述死循环函数cpu_idle中,所述下线cpu运行 指定任务代码,对接收到的网络报文按数据流进行分类分配给相应的在线cpu。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京天融信网络安全技术有限公司,未经北京天融信网络安全技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810241123.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种发送重复确认或否认反馈的方法、系统及用户设备
- 下一篇:动力总成悬置装置





