[发明专利]一种多核负载均衡协同处理方法、装置及存储介质在审
申请号: | 202111286769.0 | 申请日: | 2021-11-02 |
公开(公告)号: | CN114006863A | 公开(公告)日: | 2022-02-01 |
发明(设计)人: | 杨泽宇;王丹;计士禹;刘锦利;马骁;李勃;高明慧;马力;张志军;徐萌;张广文;修增哲;刘壮;佟文强;赵梓辰;刘新龙;姜岩;张嵩;王会达 | 申请(专利权)人: | 北京科东电力控制系统有限责任公司;南瑞集团有限公司 |
主分类号: | H04L47/125 | 分类号: | H04L47/125;H04L45/7453 |
代理公司: | 南京纵横知识产权代理有限公司 32224 | 代理人: | 孙永生 |
地址: | 100192 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 多核 负载 均衡 协同 处理 方法 装置 存储 介质 | ||
本发明公开了一种多核负载均衡协同处理方法、装置及存储介质,所述方法包括接收数据包,对数据包头的四元组加上序列号进行两次不同的HASH算法的处理,获得HASH计算结果;根据所述HASH计算结果对预先建立的第一HASH表、第二HASH表进行查询,获取查询结果,通过网卡多队列技术的支持并利用中断方式把不同的网卡队列分配到多核处理器的不同的CPU核上,因此第一HASH表、第二HASH表也就是等同于存储一个连接与CPU不同核之间的映射关系;本发明使用静态与动态相结合的多重HASH负载均衡算法将后续接收的数据报文分配到其他负载较轻的CPU上,能够使得各个CPU的使用率相对平均,使得处理器更好地发挥性能,一定程度上提高了多核处理器的处理效率。
技术领域
本发明涉及一种多核负载均衡协同处理方法、装置及存储介质,属于多核处理器技术领域。
背景技术
RSS是通过网卡的硬件特性支持实现的多队列,将不同的连接流分配到多核处理器的不同核上,相同的流会在同一个核心上,能够减少数据报文的顺序性和处理器的并行冲突。具体来说RSS是一种能够将收到的同一个流的IP数据包存储到相同的网卡收包队列当中,它能够通过每个CPU核允许独占访问网卡队列的方式对接收的数据包进行可伸缩的处理,将数据包分发到对应的CPU核中。
如图1所示,网卡对接收到的报文进行解析,获取IP地址、协议和端口五元组信息,通过配置的HASH函数根据五元组信息计算出HASH值,也可以根据二、三或四元组进行计算;然后取HASH值的低几位作为RETA(redirection table)的索引,根据RETA中存储的值分发到相同的队列,然后进一步发送到与队列绑定的CPU上;因此RSS可以将同一连接的数据流分发给同一个CPU核处理,从而达到分流效果。
随着互联网技术的不断发展,网络中的流量规模日益增大,传输速度也在不断提高,流量的负载均衡问题成为了限制诸多网络服务的瓶颈。处理数据包时,CPU使用率较高。在图1中,虚线路径表示发送和接收处理的处理路径,因此处理并不总是在提供最佳性能的CPU上发生,仅可以通过连续中断在同一个CPU上处理连接。
通过研究多队列网卡技术、研究多CPU多核高效分发报文技术、优化哈希算法,使业务数据包更均匀的分布在多个网卡队列中,进而多核负载更均衡,充分利用CPU多核处理能力,降低CPU使用率。RSS这项加速技术只在网络数据接收时有效。具备RSS能力的网卡,有多个接收队列,网卡可以用不同的接收队列来接收不同的网络流,再将这些队列分配到不同的CPU核上进行处理,充分利用多核处理器的能力,将网络数据接收的负荷分散开,从而提高网络传输的效率。因此可以通过实现RSS技术来降低CPU使用率。
RSS技术进行报文分流时,当发送的数据包到达时,根据其五元组信息,也可以根据二、三或四元组进行计算,通过HASH函数计算出一个HASH值。然后,根据计算出的HASH值从设置的CPU核中选择一个CPU核处理数据。数据包的四元组相同,因此根据四元组计算出的HASH值也相同。所以,即便接收端是多核平台,仍然只会根据HASH值将数据包交给其中一个CPU核处理。因此,当同一个流中数据包激增,若依然采用RSS的HASH函数处理该流的数据包,就会使单个CPU处理能力成为性能瓶颈,进而浪费多核平台多核优势。
综上可得,当网络流量出现比较单一极端的情况下,仅仅利用此静态的哈希技术是无法满足对数据报文处理的需求的,也就是将出现单核负载过重的情形,从而降低CPU的处理效率。
发明内容
本发明的目的在于克服现有技术中的不足,提供一种多核负载均衡协同处理方法、装置及存储介质,通过结合动态调整的方法来更好地解决在多核处理器中流量分配不均衡的问题。
为达到上述目的,本发明是采用下述技术方案实现的:
第一方面,本发明提供了一种多核负载均衡协同处理方法,包括:
通过研究数据包结构,发现同一连接中TCP报文的序列号不同且递增,因此,选择序列号作为分流的输入参数之一;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京科东电力控制系统有限责任公司;南瑞集团有限公司,未经北京科东电力控制系统有限责任公司;南瑞集团有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111286769.0/2.html,转载请声明来源钻瓜专利网。