[发明专利]一种基于hash算法的万兆网卡多路分流方法及其系统在审

专利信息
申请号: 201210397543.2 申请日: 2012-10-18
公开(公告)号: CN102916905A 公开(公告)日: 2013-02-06
发明(设计)人: 万伟 申请(专利权)人: 曙光信息产业(北京)有限公司
主分类号: H04L12/863 分类号: H04L12/863
代理公司: 北京安博达知识产权代理有限公司 11271 代理人: 徐国文
地址: 100193 北京市海*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 hash 算法 网卡 分流 方法 及其 系统
【说明书】:

技术领域

发明涉及网络传输与处理领域,具体涉及一种基于hash算法的万兆网卡多路分流方法及其系统。

背景技术

目前的万兆零拷贝技术主要是基于Intel网卡提供硬件多队列来实现,一般来说,硬件端开启N个硬件队列,则软件端开启N路接收缓冲区进行N路流量的并行处理。

目前的万兆零拷贝技术主要是基于Intel网卡提供硬件多队列来实现,需要Intel网卡上打开RSS(Receive Side Scaling)模式,将收到的流量进行N路分流。但目前Intel网卡有个限制,RSS是基于网卡硬件hash的结果进行分流的,但Intel网卡只提供4bit来描述hash的结果,也就是说最多只能支持到16个分流结果,即16路分流。但目前主流的服务器CPU核数基本都在24以上,也就是说,目前的零拷贝机制不能满足现在多核服务器的处理需求,意味着有大量的CPU核处于空闲状态,浪费资源。

发明内容

针对现有技术的不足,本发明提供一种基于hash算法的万兆网卡多路分流方法及其系统,本发明在网卡硬件多队列的基础上,利用软件分流的方式实现了对超过16个CPU核服务器处理的支持。本发明要解决了如何让32个cpu核同时处理16个网卡硬件队列上数据的问题。

本发明的目的是采用下述技术方案实现的:

一种基于hash算法的万兆网卡多路分流方法,其改进之处在于,所述方法包括下述步骤:

(1)当CPU核数大于Intel万兆网卡支持的最大分流队列数时,开启最大能支持的网卡硬件队列数目;

(2)为每个网卡硬件队列分配独立的数据缓冲区,并通过内存映射的方式将数据缓冲区映射到应用程序中;

(3)每个数据缓冲区采用循环队列的数据结构;

(4)计算CPU核数M与网卡硬件队列数N的对应关系;

(5)CPU核调用hash函数并从数据缓冲区中选取网络报文数据包。

其中,所述步骤(2)中,内核驱动对数据缓冲区的修改对应到应用程序中。

其中,所述步骤(3)中,所述循环队列的数据结构为无锁算法。

其中,所述步骤(4)中,所述CPU核数M大于网卡硬件队列数N,对于所述单个网卡硬件队列,是多对一的映射关系。

其中,所述步骤(5)中,至少一个CPU线程调用同一个hash函数;至少一个的CPU核选取同一个网卡硬件队列的网络报文数据包。

本发明基于另一目的提供的一种基于hash算法的万兆网卡多路分流系统,其改进之处在于,所述系统包括内核驱动、共享内存和至少一个的CPU核;网络数据报文传送给内核驱动后载传输给共享内存;所述共享内存的数据报文对应到应用程序中,供至少一个的CPU核选取网络报文数据包。

其中,所述内核驱动包括至少一个的Intel万兆网卡硬件队列,所述Intel万兆网卡硬件队列与共享内存数据缓冲区一一对应。

其中,所述网卡硬件队列与CPU核采用一对多的映射关系。

与现有技术比,本发明达到的有益效果是:

本发明提供的基于hash算法的万兆网卡多路分流方法及其系统,在硬件多队列的基础上,利用软件分流的方式实现了对超过16个CPU核服务器处理的支持,并实现了网卡硬件队列与CPU核一对多的映射关系。本发明要解决了如何让32个cpu核同时处理16个网卡硬件队列上数据的问题。

附图说明

图1是本发明提供的基于hash算法的万兆网卡多路分流方法实现示意图。

具体实施方式

下面结合附图对本发明的具体实施方式作进一步的详细说明。

如图1所示,本发明提供的基于hash算法的万兆网卡多路分流方法包括下述步骤:

(1)当CPU核数大于Intel万兆网卡支持的最大分流队列数时,开启最大能支持的网卡硬件队列数目:当CPU核数M大于万兆网卡支持的最大分流网卡硬件队列数N时,开启最大能支持的网卡硬件队列数目;M和N为自然数,M和N均大于2。

硬件队列为网卡上的硬件队列queue,如intel万兆网卡支持的硬件队列个数最多为16,那么在8CPU核的服务器上开启8个网卡上的硬件队列,在32CPU核的服务器上开启16个网卡上的硬件队列。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于曙光信息产业(北京)有限公司,未经曙光信息产业(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201210397543.2/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top