[发明专利]一种多路服务器多缓冲区并行收包的性能优化方法有效
申请号: | 201010611827.8 | 申请日: | 2010-12-17 |
公开(公告)号: | CN102073547A | 公开(公告)日: | 2011-05-25 |
发明(设计)人: | 云晓春;杜跃进;王丽宏;汪立东;陈训逊;包秀国;杜翠兰;王勇;刘朝辉 | 申请(专利权)人: | 国家计算机网络与信息安全管理中心;曙光信息产业(北京)有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 北京安博达知识产权代理有限公司 11271 | 代理人: | 徐国文 |
地址: | 100029*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 服务器 缓冲区 并行 性能 优化 方法 | ||
技术领域
本发明涉及网络数据处理领域,具体涉及一种多路服务器多缓冲区并行收包的性能优化方法。
背景技术
在多路服务器(主板上有多个CPU的服务器)运行的网络数据处理系统,一般需要使用多线程模式,启动和CPU个数相同的多个线程并行处理,每个线程处理一部分流量,以便把每个CPU都利用起来。
目前常用的技术方案中每个线程申请自己的报文缓冲区,每个线程申请自己的报文缓冲区,网卡接收来的报文按照一定的分流算法,分发到每个线程的缓冲区中,每个线程循环处理自己缓冲区内的报文。
另外,在一般多路CPU的服务器上,每个CPU的内存控制器直接连到一些内存条上,称为本地内存,主板上没有和本地内存直接相连的内存,称为远地内存。对服务器主板上每个CPU来说,访问本地内存的效率要比远地内存高得多。在一般技术方案中,每个线程申请报文缓冲区时,是在所有内存中随机申请的,无法保证尽量使用本地内存提高效率。
在一般操作系统中,应用软件的多个线程是在多个CPU上随机调度的,线程调度会引起线程数据迁移和上下文切换的开销,会影响到服务器系统性能。
发明内容
本发明的目的是提供一种多路服务器多缓冲区并行收包的性能优化方法来提升多线程多缓冲区应用在多路服务器上的性能。
一种多路服务器多缓冲区并行收包的性能优化方法,包括内核驱动和应用接口库文件,实现方法如下:
A、驱动加载时,根据预先设定的线程个数,为每个线程从对应的CPU上申请本地内存,作为报文缓冲区;
B、应用软件的线程第一次调用接口库中的API接口时,首先把内核空间的对应编号的缓冲区映射到该应用的用户空间,然后把自己绑定到对应编号的CPU上;
C、每个线程循环从自己对应的缓冲区中接收报文,这个过程中,线程与CPU绑定,不会在CPU之间迁移,报文缓冲区是该CPU的本地内存,不会产生访问远地内存的开销。
本发明的一种优选技术方案在于:在所述A步骤中线程编号与CPU编号是固定的对应关系,把线程编号对CPU个数取模,作为该线程对应的CPU编号,使得线程个数大于CPU个数时,一个CPU上的多个线程和多个报文缓冲区的编号,仍然与CPU编号有固定对应关系。
本发明有效避免了CPU访问远地内存和线程在多个CPU上调度的开销,提高了多线程收包的效率。
附图说明
图1是本发明系统逻辑结构
具体实施方案
本发明是基于多路CPU的服务器,包含内核驱动和应用接口库的系统,可实现CPU、缓冲区和线程的紧密结合。
驱动软件负责分配接收报文使用的缓冲区,需要在内核中为每一个线程申请一个报文缓冲区,因为在内核中申请,所以申请内存时,可以通过参数指定内存的相连的CPU号为线程编号,也就是说,为线程0申请0号CPU上的本地内存,为线程1申请1号CPU上的本地内存。
接口库软件在每个线程第一次调用接收报文的API接口时,把线程绑定到与线程号相对应的CPU上。
该发明的实现方法和过程如下:
(1)驱动为每个线程对应的CPU申请本地内存作为报文缓冲区。
驱动加载时,根据预先设定的线程个数,为每个线程从对应的CPU上申请本地内存,作为报文缓冲区。线程编号与CPU编号是固定的对应关系,把线程编号对CPU个数取模,作为该线程对应的CPU编号,这样使得线程个数大于CPU个数时,一个CPU上的多个线程和多个报文缓冲区的编号,仍然与CPU编号有固定对应关系。
(2)接口库映射报文缓冲区,绑定对应的CPU。
应用软件的线程第一次调用接口库中的API接口时,首先把内核空间的对应编号的缓冲区映射到该应用的用户空间,然后把自己绑定到对应编号的CPU上。
(3)线程并行接收报文。
每个线程接收报文时,在自己对应的缓冲区中写入报文,这个过程中,线程与CPU绑定,不会在CPU之间迁移,报文缓冲区是该CPU的本地内存,不会产生访问远地内存的开销。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国家计算机网络与信息安全管理中心;曙光信息产业(北京)有限公司,未经国家计算机网络与信息安全管理中心;曙光信息产业(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010611827.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:新型导向机构四气簧空气悬架
- 下一篇:铁路公路两用车用底架及铁路公路两用车