[发明专利]提高多核CPU数据处理性能的方法和系统有效
申请号: | 201510505760.2 | 申请日: | 2015-08-17 |
公开(公告)号: | CN105159779B | 公开(公告)日: | 2020-03-13 |
发明(设计)人: | 李双彬;王向军;贺欢庆;刘亚军;刘晗;刘仁勇 | 申请(专利权)人: | 深圳中兴网信科技有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 北京友联知识产权代理事务所(普通合伙) 11343 | 代理人: | 尚志峰;汪海屏 |
地址: | 518057 广东省深圳市南*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 提高 多核 cpu 数据处理 性能 方法 系统 | ||
本发明提供了一种提高多核CPU数据处理性能的方法,包括:为所述多核CPU的每个数据核设置对应的数据缓存队列;将所有的所述数据缓存队列分成多个组;当有数据包到达时,按照预设规则将所述数据包中的所有数据报文分配至多个所述数据核进行处理。相应地,本发明还提出了一种提高多核CPU数据处理性能的系统。通过本发明的技术方案,在保证多核CPU负载均衡的同时,可以有效地减少多核CPU的多个数据核之间的锁冲突,从而提高多核CPU并发处理数据的能力,并进一步实现多核CPU的高速数据转发。
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种提高多核CPU数据处理性能的方法和一种提高多核CPU数据处理性能的系统。
背景技术
目前,随着X86多核技术的发展,X86多核CPU在网络处理器方面的应用越来越多。在X86多核CPU对数据包处理的过程中,经常涉及到对流、IP等业务对象的基本处理,但是,为了保证业务处理的精确性,经常对流、IP进行互斥操作,从而使X86多核CPU经常处于资源竞争状态,导致不能将X86多核CPU的优势充分发挥出来。
在相关技术中,X86多核CPU处理数据包时,采用轮训报文处理的方式,即按照数据报文送到多核CPU的先后顺序,把数据报文分配给多个数据核进行处理,例如:第一个数据报文送到第一个数据核进行处理,第二个数据报文送到第二个数据核进行处理,以此类推。但是,当数据报文的流量比较大时,多个数据核之间会产生很大的锁冲突,从而抑制了X86多核CPU的性能发挥。
因此,在多核CPU对数据包进行处理时,如何减少多核CPU的多核之间的锁冲突,从而提高多核CPU的整体处理数据的性能,成为亟待解决的问题。
发明内容
本发明正是基于上述问题,提出了一种提高多核CPU数据处理性能的方法,在保证多核CPU负载均衡的同时,可以有效地减少多核CPU的多个数据核之间的锁冲突,从而提高多核CPU并发处理数据的能力,并进一步实现多核CPU的高速数据转发。
有鉴于此,本发明提出了一种提高多核CPU数据处理性能的方法,包括:为所述多核CPU的每个数据核设置对应的数据缓存队列;将所有的所述数据缓存队列分成多个组;当有数据包到达时,按照预设规则将所述数据包中的所有数据报文分配至多个所述数据核进行处理。
在该技术方案中,通过为多核CPU(比如,X86多核CPU)的每个数据核对应地建立一个数据缓存队列,用于在每个数据核处理数据报文之前缓存数据报文,并将所有的数据缓存队列分成多个组,优选地,将数据缓存队列平均分成多个组,即每个组有相同数量的数据缓存队列,当然,也可以不平均分配,如此,可以将数据包进行更加均衡合理地分配,当有数据包需要处理时,按照预设规则将数据包中的数据报文分配给多个数据核进行处理,从而完成对数据包的多核分流处理。通过该技术方案,在保证多核CPU负载均衡的同时,可以有效地减少多核CPU的多核之间的锁冲突,从而提高多核CPU并发处理数据的能力,并进一步实现多核CPU的高速数据转发。
在上述技术方案中,优选地,所述预设规则具体包括:将所有所述数据报文按照第一级哈希算法分配至所述多个组中的至少一个组中进行处理。
在该技术方案中,通过将数据包中的所有数据报文按照第一级哈希算法分配到至少一个组中进行处理,为保证多核CPU负载均衡以及减少多核CPU的多核之间的锁冲突提供了有利的前提保障。
在上述技术方案中,优选地,所述预设规则具体还包括:分配至所述组中的所述数据报文按照第二级哈希算法分配至所述组中的至少一个所述数据缓存队列中,以供与所述数据缓存队列对应的所述数据核进行处理。
在该技术方案中,通过将数据报文按照第二级哈希算法分配到一个组中的至少一个数据缓存队列中,以供与该数据缓存队列对应的数据核进行处理,为保证多核CPU负载均衡以及减少多核CPU的多核之间的锁冲突提供了有利的前提保障。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳中兴网信科技有限公司,未经深圳中兴网信科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510505760.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:处理单元之间的硬件同步屏障
- 下一篇:多域间管理应用程序的方法以及装置