负载均衡方法、装置、网络设备及存储介质与流程

文档序号:33955242发布日期:2023-04-26 14:52阅读:38来源:国知局
负载均衡方法、装置、网络设备及存储介质与流程

本发明涉及计算机,具体而言,涉及一种负载均衡方法、装置、网络设备及存储介质。


背景技术:

1、当前计算机网络技术和规模飞速发展,网络传输速率越来越高,从最早的10mbps/100mbps/1000mbps,当前已发展到桌面10gbps,甚至服务器要求40gbps/100gbps,这对于作为网络传输节点的网络设备来说性能要求也越来越高。

2、随着网络设备的性能越来越高,其整机功耗也越来越大,针对支持复杂业务的网络设备通常采用多核cpu(central processing unit/processor,中央处理器),为了提升业务处理性能,采用不间断轮询的方式来接收处理网络接口上的报文流量,使得多核cpu在时时刻刻都处于高负载的状况,然而实际上网络接口流量并不是一直都是最大的,这就造成这些网络设备在很多时间都在空转,其设备功耗也一直比较高。

3、现有的针对多核cpu的负载均衡方法,不能从每个处理核和多核cpu全局的角度综合实现多核cpu的负载均衡。


技术实现思路

1、本发明的目的在于,针对上述现有技术中的不足,提供一种负载均衡方法、装置、网络设备及存储介质,以便实现多个数据处理核之间的负载均衡,降低整个多核处理器的功耗。

2、为实现上述目的,本技术实施例采用的技术方案如下:

3、第一方面,本技术实施例提供了一种负载均衡方法,应用于具有多核处理器的网络设备的控制核,所述多核处理器包括:所述控制核和多个数据处理核,所述方法包括:

4、获取所述多个数据处理核中至少一个工作数据处理核的负载状态值,其中,所述多个数据处理核包括:工作数据处理核和休眠数据处理核,每个数据处理核具有至少一个报文的驱动接收队列;

5、根据所述负载状态值,计算所述多核处理器的全局负载状态值;

6、根据所述负载状态值和所述全局负载状态值,对所述至少一个工作数据处理核所处理的驱动接收队列以及所述工作数据处理核的数量进行调整,以达到调整后的工作数据处理核的负载状态值均衡。

7、可选的,所述根据所述负载状态值和所述全局负载状态值,对所述至少一个工作数据处理核所处理的驱动接收队列以及所述工作数据处理核的数量进行调整,包括:

8、在每个预设周期内,根据所述负载状态值,调整对应的所述工作数据处理核所处理的驱动接收队列;

9、在所述每个预设周期内,若所述工作数据处理核的数量小于所述多核处理器中所有数据处理核的数量,则根据所述全局负载状态值,对所述工作数据处理核的数量进行调整。

10、可选的,所述在每个预设周期内,根据所述负载状态值,调整对应的所述工作数据处理核所处理的驱动接收队列,包括:

11、在所述每个预设周期内,若所述工作数据处理核的数量大于或等于2,从所述工作数据处理核中确定第一工作数据处理核和第二工作数据处理核,其中,所述第一工作数据处理核为所述负载状态值大于或等于预设高门限值,且所述驱动接收队列大于1的工作数据处理核中所述负载状态值最大的工作数据处理核,所述第二工作数据处理核为所述负载状态值最小的工作数据处理核;

12、控制所述第二工作数据处理核对所述第一工作数据处理核的一个驱动接收队列进行报文处理。

13、可选的,所述根据所述全局负载状态值,对所述工作数据处理核的数量进行调整,包括:

14、在所述每个预设周期内,若所述全局负载状态值大于预设高门限值,在前一预设周期的预设状态次数基础上增加所述预设状态次数;

15、若增加后的预设状态次数大于或等于预设次数阈值,激活一个休眠数据处理核,其中,激活后的休眠数据处理核切换至工作状态。

16、可选的,所述方法还包括:

17、接收目标工作数据处理核发送的休眠请求,所述目标工作数据处理核为所述多核处理器中任一工作数据处理核;

18、根据所述工作数据处理核的数量,对所述休眠请求进行处理,向所述目标工作数据处理核发送休眠处理结果。

19、可选的,所述根据所述工作数据处理核的数量,对所述休眠请求进行处理,向所述目标工作数据处理核发送休眠处理结果,包括:

20、若所述工作数据处理核的数量为1,向所述目标工作数据处理核发送拒绝休眠消息,所述目标工作数据处理核根据所述拒绝休眠消息继续工作。

21、可选的,所述根据所述工作数据处理核的数量,对所述休眠请求进行处理,向所述目标工作数据处理核发送休眠处理结果,包括:

22、若所述工作数据处理核的数量大于1,将所述目标工作数据处理核的驱动接收队列分配给所述工作数据处理核中所述负载状态值最小的工作数据处理核;

23、向所述目标工作数据处理核发送同意休眠消息,所述目标工作数据处理核根据所述同意休眠消息进行休眠。

24、第二方面,本技术实施例还提供一种负载均衡装置,应用于具有多核处理器的网络设备的控制核,所述多核处理器包括:所述控制核和多个数据处理核,所述装置包括:

25、负载状态值获取模块,用于获取所述多个数据处理核中至少一个工作数据处理核的负载状态值,其中,所述多个数据处理核包括:工作数据处理核和休眠数据处理核,每个数据处理核具有至少一个驱动接收队列;

26、全局负载状态值计算模块,用于根据所述负载状态值,计算所述多核处理器的全局负载状态值;

27、数据处理核调整模块,用于根据所述负载状态值和所述全局负载状态值,对所述至少一个工作数据处理核所处理的驱动接收队列以及所述工作数据处理核的数量进行调整,以达到调整后的工作数据处理核的负载状态值均衡。

28、可选的,所述数据处理核调整模块,包括:

29、驱动接收队列调整单元,用于在每个预设周期内,根据所述负载状态值,调整对应的所述工作数据处理核所处理的驱动接收队列;

30、数据处理核数量调整单元,用于在所述每个预设周期内,若所述工作数据处理核的数量小于所述多核处理器中所有数据处理核的数量,则根据所述全局负载状态值,对所述工作数据处理核的数量进行调整。

31、可选的,所述驱动接收队列调整单元,包括:

32、数据处理核选择子单元,用于在所述每个预设周期内,若所述工作数据处理核的数量大于或等于2,从所述工作数据处理核中确定第一工作数据处理核和第二工作数据处理核,其中,所述第一工作数据处理核为所述负载状态值大于或等于预设高门限值,且所述驱动接收队列大于1的工作数据处理核中所述负载状态值最大的工作数据处理核,所述第二工作数据处理核为所述负载状态值最小的工作数据处理核;

33、驱动接收队列调整子单元,用于控制所述第二工作数据处理核对所述第一工作数据处理核的一个驱动接收队列进行报文处理。

34、可选的,所述数据处理核数量调整单元,包括:

35、预设状态次数修改子单元,用于在所述每个预设周期内,若所述全局负载状态值大于所述预设高门限值,在前一预设周期的预设状态次数基础上增加所述预设状态次数;

36、数据处理核激活子单元,用于若增加后的预设状态次数大于或等于预设次数阈值,激活一个休眠数据处理核,其中,激活后的休眠数据处理核切换至工作状态。

37、可选的,所述装置还包括:

38、休眠请求接收模块,用于接收目标工作数据处理核发送的休眠请求,所述目标工作数据处理核为所述多核处理器中任一工作数据处理核;

39、休眠请求处理模块,用于根据所述工作数据处理核的数量,对所述休眠请求进行处理,向所述目标工作数据处理核发送休眠处理结果。

40、可选的,所述休眠请求处理模块,具体用于若所述工作数据处理核的数量为1,向所述目标工作数据处理核发送拒绝休眠消息,所述目标工作数据处理核根据所述拒绝休眠消息继续工作。

41、可选的,所述休眠请求处理模块,包括:

42、驱动接收队列分配单元,用于若所述工作数据处理核的数量大于1,将所述目标工作数据处理核的驱动接收队列分配给所述工作数据处理核中所述负载状态值最小的工作数据处理核;

43、休眠消息发送单元,用于向所述目标工作数据处理核发送同意休眠消息,所述目标工作数据处理核根据所述同意休眠消息进行休眠。

44、第三方面,本技术实施例还提供一种网络设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的程序指令,当网络设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述程序指令,以执行如第一方面任一项所述的负载均衡方法的步骤。

45、第四方面,本技术实施例还提供一种计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如第一方面任一项所述的负载均衡方法的步骤。

46、本技术的有益效果是:

47、本技术提供一种负载均衡方法、装置、网络设备及存储介质,根据多核处理器中各个工作数据处理核的负载状态和整个多核处理器的全局负载状态,对各个工作数据处理核所处理的驱动接收队列以及工作数据处理核的数量进行调整,即可以保证各个工作数据处理核所处理的驱动接收队列均衡,避免一些工作数据处理核空转,而另一些数据处理核过载,使各个工作数据处理核的负载均衡;也可以避免整个多核处理器因负载过大导致响应速度变慢,使得整个多核处理器的功耗与全局负载相匹配,使网络设备的能效比达到最优状态。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1