[发明专利]基于多队列网卡的处理器扩展方法及装置在审
申请号: | 201611033006.4 | 申请日: | 2016-11-17 |
公开(公告)号: | CN106789152A | 公开(公告)日: | 2017-05-31 |
发明(设计)人: | 金健 | 申请(专利权)人: | 东软集团股份有限公司 |
主分类号: | H04L12/24 | 分类号: | H04L12/24;H04L12/863;G06F9/38;G06F9/44;G06F9/48 |
代理公司: | 北京清亦华知识产权代理事务所(普通合伙)11201 | 代理人: | 张大威 |
地址: | 110179 辽*** | 国省代码: | 辽宁;21 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 队列 网卡 处理器 扩展 方法 装置 | ||
技术领域
本发明涉及计算机领域,尤其涉及一种基于多队列网卡的处理器扩展方法及装置。
背景技术
通常,用于处理报文的网络设备,比如交换机、路由器、防火墙和网关等作为计算机互连的数据交换节点。同时数据转发性能决定了网络的整体质量。
随着用户连接数的急剧增长和各种高宽带应用的出现,主频提升受限的单核处理器越来越难以满足高速数据转发的性能需求。多核处理器凭借其较低成本的扩展能力和并行计算特性,逐渐在网络通信领域得到广泛应用。其中,多核处理器是指在一个硬件芯片上集成多个核心处理器(Core-CPU),通常为共享内存式结构。多核处理器具备相对独立的多个计算处理器核心,可以并行地执行报文处理程序,从而使得报文处理性能得到大幅度提高,进而可以提高系统整体的吞吐率。
然而,多核处理器由于共享许多硬件和软件资源,在数据转发繁忙时,如何能够提高彼此的协同效率,减少相互等待时间,充分发挥并行特性成为多核处理器平台软件开发的难点。
为了提高多核处理器的计算并行性,现有技术中通常采用流水线技术即接收到报文,根据该报文中携带的特征值(例如该报文的源IP、源端口、目的IP、目的端口等)计算该报文的散列值,然后将报文分配给与该散列值对应的处理器核心。
目前,防火墙等网络设备在对网络数据流量处理时,为了改善多核处理器的计算性能,通常利用网卡硬件提供的RSS(Receive Side Scaling)技术,将流量分发给多个队列,来充分发挥多处理器系统的并行处理能力。
然而,网卡硬件初始化完成RSS的配置,以及硬件队列与处理器核心的绑定关系。即硬件队列和参与接收数据包的处理器核心的数量是固定的,在网卡以及处理器运行期间不能动态变化,不能够满足流量接收数据处理的需求。
发明内容
本发明的目的旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的一个目的在于提出一种基于多队列网卡的处理器扩展方法,该方法能够在网卡以及处理器运行期间动态增加硬件队列和处理器核心的数量,从而满足流量接收数据处理需求。
本发明的第二个目的在于提出一种基于多队列网卡的处理器扩展装置。
本发明的第三个目的在于提出另一种基于多队列网卡的处理器扩展装置。
本发明的第四个目的在于提出一种非临时性计算机可读存储介质。
本发明的第五个目的在于提出一种计算机程序产品。
为达上述目的,本发明第一方面实施例提出了一种基于多队列网卡的处理器扩展方法,包括:在网卡初始化时配置用于接收网络数据包的n个初始硬件队列和m个动态硬件队列;在系统初始化时配置n个用于并行处理网络数据包的处理器核心,其中,每个处理器核心具有对应的暂存队列,其中,所述暂存队列用于保存从硬件队列获取的网络数据包;在所述网卡中配置重定向表(Redirection Table),其中,所述重定向表包括:网络数据包的处理标识与n个初始硬件队列标识的第一对应关系;若检测到网络流量满足预设的触发条件,则扩展p个处理器核心,其中,p小于等于m;从所述m个动态硬件队列中选择p个动态硬件队列与所述p个处理器核心关联,并将所述第一对应关系更新为网络数据包的处理标识与(n+p)个硬件队列标识的第二对应关系。
本发明实施例的基于多队列网卡的处理器扩展方法,通过在网卡初始化时配置用于接收网络数据包的n个初始硬件队列和m个动态硬件队列以及在系统初始化时配置n个用于并行处理网络数据包的处理器核心,并在网卡中配置包括网络数据包的处理标识与n个初始硬件队列标识的第一对应关系的重定向表,在检测到网络流量满足预设的触发条件时扩展p个处理器核心,其中,p小于等于m,最后从m个动态硬件队列中选择p个动态硬件队列与p个处理器核心关联,并将第一对应关系更新为网络数据包的处理标识与(n+p)个硬件队列标识的第二对应关系。由此,能够在网卡以及处理器运行期间动态增加硬件队列和处理器核心的数量,从而满足流量接收数据处理需求。
另外,本发明上述实施例的基于多队列网卡的处理器扩展方法还可以具有如下附加的技术特征:
在本发明的一个实施例中,所述的方法,还包括:在系统初始化时配置(n+m)个暂存队列;或者,根据所配置的处理器核心数量动态配置对应的暂存队列。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东软集团股份有限公司,未经东软集团股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611033006.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种可定位的水晶铭牌
- 下一篇:一种可调幅智能家居红外通信电路