[发明专利]一种基于hash算法的万兆网卡多路分流方法及其系统在审
申请号: | 201210397543.2 | 申请日: | 2012-10-18 |
公开(公告)号: | CN102916905A | 公开(公告)日: | 2013-02-06 |
发明(设计)人: | 万伟 | 申请(专利权)人: | 曙光信息产业(北京)有限公司 |
主分类号: | H04L12/863 | 分类号: | H04L12/863 |
代理公司: | 北京安博达知识产权代理有限公司 11271 | 代理人: | 徐国文 |
地址: | 100193 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 hash 算法 网卡 分流 方法 及其 系统 | ||
1.一种基于hash算法的万兆网卡多路分流方法,其特征在于,所述方法包括下述步骤:
(1)当CPU核数大于Intel万兆网卡支持的最大分流队列数时,开启最大能支持的网卡硬件队列数目;
(2)为每个网卡硬件队列分配独立的数据缓冲区,并通过内存映射的方式将数据缓冲区映射到应用程序中;
(3)每个数据缓冲区采用循环队列的数据结构;
(4)计算CPU核数M与网卡硬件队列数N的对应关系;
(5)CPU核调用hash函数并从数据缓冲区中选取网络报文数据包。
2.如权利要求1所述的万兆网卡多路分流方法,其特征在于,所述步骤(2)中,内核驱动对数据缓冲区的修改对应到应用程序中。
3.如权利要求1所述的万兆网卡多路分流方法,其特征在于,所述步骤(3)中,所述循环队列的数据结构为无锁算法。
4.如权利要求1所述的万兆网卡多路分流方法,其特征在于,所述步骤(4)中,所述CPU核数M大于网卡硬件队列数N,对于所述单个网卡硬件队列,是多对一的映射关系。
5.如权利要求1所述的万兆网卡多路分流方法,其特征在于,所述步骤(5)中,至少一个CPU线程调用同一个hash函数;至少一个的CPU核选取同一个网卡硬件队列的网络报文数据包。
6.一种基于hash算法的万兆网卡多路分流系统,其特征在于,所述系统包括内核驱动、共享内存和至少一个的CPU核;网络数据报文传送给内核驱动后载传输给共享内存;所述共享内存的数据报文对应到应用程序中,供至少一个的CPU核选取网络报文数据包。
7.如权利要求6所述的万兆网卡多路分流系统,其特征在于,所述内核驱动包括至少一个的Intel万兆网卡硬件队列,所述Intel万兆网卡硬件队列与共享内存数据缓冲区一一对应。
8.如权利要求6所述的万兆网卡多路分流系统,其特征在于,所述网卡硬件队列与CPU核采用一对多的映射关系。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于曙光信息产业(北京)有限公司,未经曙光信息产业(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210397543.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种统一调度云计算远端资源的方法及系统
- 下一篇:数据存储方法及装置