一种基于ring的多核CPU负载均衡方法及系统技术方案

技术编号:4271405 阅读:545 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种基于ring的多核CPU负载均衡方法及系统。该方法包括实时检测该多核CPU中各CPU负载均衡情况并判定该多核CPU是否均衡;在该多核CPU不均衡情况下,评估各ring负载情况;以ring为单位调整ring与CPU之间的绑定关系。本发明专利技术方法以ring为最小单位调整CPU负载度,网卡流量划分更细,进而使多核CPU负载更加均衡。本发明专利技术方法及系统能够广泛应用于多核CPU中。

【技术实现步骤摘要】

本专利技术涉及多核CPU (Central Processing Unit,中央处理单元),尤其涉及多核 CPU的网络负载均衡。
技术介绍
当前网络已经非常普及,互联网高速发展使得网络访问越来越频繁,因此引起用 户对网络带宽、网络访问速度的要求也越来越高。网络设备中的网卡已经随着用户对网络 访问速度的要求从十兆网卡、百兆网卡发展到千兆网卡。随着现有网络各个核心部分业务量的提高以及访问量和数据流量的快速增长,对 数据处理能力和计算强度要求也大大增强,使得单一服务器设备无法承担。在此情况下,如 果扔掉现有设备去做大量硬件升级,这将造成现有资源巨大浪费,而且如果再面临下一次 业务量提升时,又将导致再一次硬件升级的高额成本投入,甚至性能再卓越的设备也不能 满足当前业务量增长的需求。针对此情况而衍生出来的一种廉价有效透明的技术即为负载均衡,负载均衡是一 种扩展现有网络设备和服务器带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活 性和可用性的技术。在多核CPU系统中有多个网卡和多个CPU,通常情况下,一个网卡只对应一个CPU, 此时最小负载平衡单元是网卡,当网卡流量很大时与其对应的CPU将非常忙,因此很可能 导致网络丢包,进而大大影响访问网络速度。
技术实现思路
本专利技术提供了一种能够提高CPU负载均衡的方法及系统。在第一方面,本专利技术提供了一种基于ring的多核CPU负载均衡方法,该方法首先 实时检测该多核CPU中各CPU负载均衡情况并判定该多核CPU是否均衡;然后在该多核CPU 不均衡情况下,评估各ring负载情况;最后以ring为单位调整ring与CPU之间的绑定关系。在第二方面,本专利技术提供了一种基于ring的多核CPU负载均衡系统,该系统包括 均衡模块,用于实时检测该多核CPU中各CPU负载均衡情况并判定该多核CPU是否均衡;在 该多核CPU不均衡情况下,评估各ring负载情况;并以ring为单位调整ring与CPU之间 的绑定关系。在本专利技术的一个实施例中,实时检测多核CPU中各CPU负载均衡情况包括实时检 测该多核CPU实际占用率、CPU运行进程数量、CPU处理数据包数量、CPU处理数据包大小、 CPU负载网卡ring的数量。在本专利技术的另一个实施例中,评估各ring负载情况包括实时检测多核CPU中各 ring通过ring数据包数量、通过ring数据包长度、ring的连接数。本专利技术通过判定CPU负载是否均衡,检测每个ring负载情况,以及调整ring与CPU绑定关系,解决了多核CPU负载均衡问题。本专利技术方法以ring为最小平衡单元来调整CPU负载度,网卡流量划分更细,多核CPU负载更加均衡。附图说明下面将参照附图对本专利技术的具体实施方案进行更详细的说明,在附图中图1是本专利技术一个实施例的基于ring的多核CPU负载均衡系统框图;图2是本专利技术一个实施例的基于ring的多核CPU负载均衡流程图。具体实施例方式图1是本专利技术一个实施例的基于ring的多核CPU负载均衡系统框图。该系统包 括第一 CPU111、第二 CPU112、第三CPU113、均衡模块120和第一网卡130、第二网卡140。其 中,第一网卡130包含第一 ringl31、第二 ringl32、第三ringl33 ;第二网卡140包含第四 ringl41、第五ringl42、第六ringl43、第七ringl44。图 1 中,第一 CPUlll 与第二ringl32、 第四ringl41绑定,第二 CPU112与第一 ringl31、第六ringl43绑定,第三CPU113与第三 ringl33、第五 ringl42、第七 ringl44 绑定。为了方便描述,图1仅示意性地描述出CPU数量为三个,网卡数量为两个,ring数 量为七个,以及CPU与ring之间绑定关系,实际上,CPU、网卡、ring的数量均不限,且CPU 与ring之间绑定关系也不固定。第一 CPU111、第二 CPU112、第三CPU113用于处理来自第一网卡130或第二网卡 140中某个或某些ring中的数据。第一网卡130、第二网卡140分别包含多个ring,且每个网卡ring数量均可以根 据系统需求进行配置,该第一网卡130、第二网卡140用于将其所在系统接入到网络中,该 第一网卡130、第二网卡140中的每个ring用于接收来自网络的数据包以及向网络中发送 数据包。均衡模块120实时检测第一 CPUl 11、第二 CPUl 12、第三CPUl 13的均衡状况,同时 衡量第一网卡130、第二网卡140中各ring负载情况,根据所述各CPU均衡状况及所述各 ring负载情况,调整CPU与ring之间的绑定关系,进而使多核CPU负载均衡。下面详细阐 述均衡模块120如何判定CPU均衡情况、如何衡量ring负载情况,以及如何调整CPU与ring 之间的绑定关系。假定均衡模块120检测到当前时刻第一 CPUlll与第一网卡130中的第二 ringl32 及第二网卡140中的第四ringl41绑定;第二 CPU112与第一网卡130中的第一 ringl31、 第二网卡140中的第六ringl43绑定;第三CPU123与第一网卡中的第三ringl33、第二网 卡140中的第五ringl42、第二网卡140中的第七ringl44绑定,如图1所示。均衡模块120实时检查各CPU (第一 CPUl 11、第二 CPUl 12、第三CPUl 13)实际占用 率、运行进程数量、处理数据包数量、处理数据包大小、负载网卡ring的数量等技术指标, 计算CPU(第一 CPU111、第二 CPU112、第三CPU113)各技术指标所占百分比,并分别赋予各 技术指标一定权重,进而得到每个CPU (CPU111、CPUl 12、CPUl 13)均衡值。具体地,假设均衡模块120实时检测到当前时刻第一 CPUlll实际占用率为10%, 第一 CPUlll运行进程数量占多核CPU总运行进程数量20%,第一 CPUlll处理数据包数量占多核CPU总处理数据包数量40%,第一 CPUl 11处理数据包大小占多核CPU总处理数据包 大小20%,第一 CPUlll负载网卡ring数量占多核CPU总负载网卡ring数量60%,以及负 载程度所占权重为a,运程进程数量所占权重为b,处理数据包数量所占权重为c,处理数据 包大小所占权重为d,负载网卡ring数量所占权重为e,则该第一 CPUlll均衡值xl为, xl = a*10% +b*20% +c*40% +d*20% +e*60%(1)假设此时第二 CPUl 12实际占用率为40%,第二 CPUl 12运行进程数量占多核CPU 总运行进程数量30%,第二 CPUl 12处理数据包数量占多核CPU总处理数据包数量30%,第 二 CPUl 12处理数据包大小占多核CPU总处理数据包大小60%,第二 CPUl 12负载网卡ring 数量占多核CPU总负载网卡ring数量40%,则该第二 CPUl 12均衡值x2为,x2 = a*40% +b*30% +c*30% +d*60% +e*40%(2)则此时第三CPUl 13均衡值x3为,X3 = a*50% +b*50% +本文档来自技高网...

【技术保护点】
一种基于ring的多核CPU负载均衡方法,包括:步骤a,实时检测该多核CPU中各CPU负载均衡情况并判定该多核CPU是否均衡;步骤b,在该多核CPU不均衡情况下,评估各ring负载情况;步骤c,以ring为单位调整ring与CPU之间的绑定关系。

【技术特征摘要】
一种基于ring的多核CPU负载均衡方法,包括步骤a,实时检测该多核CPU中各CPU负载均衡情况并判定该多核CPU是否均衡;步骤b,在该多核CPU不均衡情况下,评估各ring负载情况;步骤c,以ring为单位调整ring与CPU之间的绑定关系。2.如权利要求1所述的一种基于ring的多核CPU负载均衡方法,其特征在于,所述步 骤a中实时检测该多核CPU中各CPU负载均衡情况包括步骤d ;步骤d,实时检测该多核CPU中各CPU技术指标。3.如权利要求2所述的一种基于ring的多核CPU负载均衡方法,其特征在于,所述CPU 技术指标包括CPU实际占用率、CPU运行进程数量、CPU处理数据包数量、CPU处理数据包大 小、CPU负载网卡ring的数量中的一个或多个。4.如权利要求2所述的一种基于ring的多核CPU负载均衡方法,其特征在于,在步骤 d之后包括步骤e ;步骤e,根据所述实时检测到的多核CPU中各CPU技术指标,计算CPU各技术指标所占 百分比,并分别赋予各技术指标一定权重,从而得到每个CPU均衡值。5.如权利要求4所述的一种基于ring的多核CPU负载均衡方法,其特征在于,所述步 骤a中判定该多核CPU是否均衡包括步骤f ;步骤f,判定每个CPU均衡值与系统设定的均衡阈值及被均衡阈值之间大小关系,当存 在CPU均衡值大于均衡阈值且存在CPU均衡值小于被均衡阈值时,判定该多核CPU不均衡。6.如权利要求4所述的一种基于ring的多核CPU负载均...

【专利技术属性】
技术研发人员:陈鑫王庆官米嘉梁志勇
申请(专利权)人:北京网康科技有限公司
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1