[发明专利]一种用户态协议栈对外部负载进程的均衡分割策略在审
申请号: | 201911317758.7 | 申请日: | 2019-12-19 |
公开(公告)号: | CN111143062A | 公开(公告)日: | 2020-05-12 |
发明(设计)人: | 李健;孙国傲;管海兵;孙晓鹏;杨震旦 | 申请(专利权)人: | 上海交通大学 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 上海旭诚知识产权代理有限公司 31220 | 代理人: | 郑立 |
地址: | 200240 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用户 协议 外部 负载 进程 均衡 分割 策略 | ||
本发明公开了一种用户态协议栈对外部负载进程的均衡分割策略,涉及网络处理领域,本发明公开了一种基于多线程用户态协议栈,均衡分割负载应用进程以降低负载协议栈线程之间的负载竞争关系的策略。所述策略的实现分为两个步骤:步骤A,根据初始网络流将负载进程均衡分发给不同的服务线程;步骤B,所述服务线程基于第一步所述负载进程分发结果得到私有负载进程表,所述服务线程从所述私有负载进程表中为后续接收的网络流选取负载进程。使用所述均衡分割策略,可以去除因共享负载进程而引入的资源竞争开销,同时降低单一服务线程的负载进程数量,从而减少加载过多负载数据而造成的缓存不命中次数。
技术领域
本发明涉及计算机网络服务栈领域,尤其涉及一种用户态协议栈对外部负载进程的均衡分割策略。
背景技术
近二十年,内核网络协议栈网络输入输出的处理速率因为内存复制开销、上下文切换开销与内核数据的处理、队列延迟等原因,而难以达到性能快速提升的网卡硬件设备的收包速率。故而,诸多研究将处理网络报文的数据面直接实现于用户态空间,以绕过内核的方式消除上写文切换开销与内核数据处理与队列延迟,并降低网络协议栈的开发难度。
用户态网络协议栈的处理模型从与服务对象应用的关系层面,可以分为1)应用与协议栈功能分离模型、2)应用逻辑与协议栈处理逻辑耦合模型与3)混合模型。不同模型适用于不同的服务场景。
比如于2016年开源的Vector Packet Processor(VPP)项目提出的完整协议栈类似于混合模型,既支持应用逻辑与协议栈处理逻辑结合实现为单一应用的模式,亦支持应用与协议栈功能分离模型。而如2014年会议论文mTCP所提出的TCP协议栈模型可归纳于应用逻辑与协议栈处理逻辑耦合模型。
经过调研发现,基于应用与协议栈功能分离模型,从多线程协议栈进程服务多进程应用的场景出发,服务线程之间存在负载资源竞争关系。因此,本领域的技术人员致力于开发一种均衡分割策略,旨在以消除服务线程间负载资源竞争关系的方式进一步优化提高该模型下用户态协议栈的网络报文处理速率。
发明内容
有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是基于应用进程与协议栈进程分离模型,基于多线程协议栈实施负载进程均衡分割策略以实现不同协议栈服务线程的负载隔离。
为实现上述目的,本发明提供了一种用户态协议栈对外部负载进程的均衡分割策略,其特征在于,包括如下步骤:
步骤A,根据初始网络流将负载进程均衡分发给不同的服务线程;
步骤B,所述服务线程基于第一步所述负载进程分发结果得到私有负载进程表,所述服务线程从所述私有负载进程表中为后续接收的网络流选取负载进程。
进一步地,步骤A所述不同的服务线程不共享相同的负载进程。
进一步地,所述负载进程均衡分割策略基于应用进程与协议栈进程分离模型实施负载进程分割。
进一步地,所述均衡分割策略在技术方面依赖于Receive Side Scaling(RSS)网卡驱动技术。
进一步地,所述私有负载进程表的表项为所述服务线程的负载进程索引。
进一步地,所述负载均衡分割策略适合于多服务线程场景。
进一步地,所述负载均衡分割策略基于VPP框架实施负载进程均衡分割。
进一步地,所述VPP框架通过兼容的网络套接字接口(Socket API)为外部负载应用提供完整的协议栈功能。
进一步地,对应应用的每一个所述负载进程都只由单一服务线程负责。
进一步地,所述负载均衡分割策略采用两段式负载均衡机制。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海交通大学,未经上海交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911317758.7/2.html,转载请声明来源钻瓜专利网。