【技术实现步骤摘要】
本专利技术涉及网络数据处理领域,具体涉及一种多路服务器多缓冲区并行发包的性 能优化方法。
技术介绍
在多路服务器(主板上有多个CPU的服务器)运行的网络数据处理系统,一般需 要使用多线程模式,启动和CPU个数相同的多个线程并行处理,每个线程处理一部分流量, 以便把每个CPU都利用起来。目前常用的技术方案中每个线程申请自己的报文缓冲区,每个线程要发送的报 文,放到该线程的缓冲区中,发送出去。另外,在一般多路CPU的服务器上,每个CPU的内存控制器直接连到一些内存条 上,称为本地内存,主板上没有和本地内存直接相连的内存,称为远地内存。对服务器主板 上每个CPU来说,访问本地内存的效率要比远地内存高得多。在一般技术方案中,每个线程 申请报文缓冲区时,是在所有内存中随机申请的,无法保证尽量使用本地内存提高效率。在一般操作系统中,应用软件的多个线程是在多个CPU上随机调度的,线程调度 会引起线程数据迁移和上下文切换的开销,会影响到服务器系统性能。
技术实现思路
本专利技术的目的是提供来提升 多线程多缓冲区应用在多路服务器上的性能。—种多路服务器多缓冲区并行发包的性能优化方法,包括内核驱动和应用接口库 文件,实现方法如下A、驱动加载时,根据预先设定的线程个数,为每个线程从对应的CPU上申请本地 内存,作为报文缓冲区;B、应用软件的线程第一次调用接口库中的API接口时,首先把内核空间的对应编 号的缓冲区映射到该应用的用户空间,然后把自己绑定到对应编号的CPU上;C、每个线程发送报文时,在自己对应的缓冲区中写入报文,这个过程中,线程与 CPU绑定,不会在CPU之间迁移,报文 ...
【技术保护点】
一种多路服务器多缓冲区并行发包的性能优化方法,其特征在于:包括内核驱动和应用接口库文件,实现方法如下:A、驱动加载时,根据预先设定的线程个数,为每个线程从对应的CPU上申请本地内存,作为报文缓冲区;B、应用软件的线程第一次调用接口库中的API接口时,首先把内核空间的对应编号的缓冲区映射到该应用的用户空间,然后把自己绑定到对应编号的CPU上;C、每个线程发送报文时,在自己对应的缓冲区中写入报文,这个过程中,线程与CPU绑定,不会在CPU之间迁移,报文缓冲区为该CPU的本地内存,不会产生访问远地内存的开销。
【技术特征摘要】
1.一种多路服务器多缓冲区并行发包的性能优化方法,其特征在于包括内核驱动和 应用接口库文件,实现方法如下A、驱动加载时,根据预先设定的线程个数,为每个线程从对应的CPU上申请本地内存, 作为报文缓冲区;B、应用软件的线程第一次调用接口库中的API接口时,首先把内核空间的对应编号的 缓冲区映射到该应用的用户空间,然后把自己绑定到对应编号的CPU上;C、每个线程发送报文时,在自己对应的缓冲区中写入报文,这个...
【专利技术属性】
技术研发人员:刘朝辉,窦晓光,刘兴奎,李锋伟,刘灿,
申请(专利权)人:天津曙光计算机产业有限公司,
类型:发明
国别省市:12[中国|天津]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。