一种基于微内核的负载均衡方法技术

技术编号:35950420 阅读:29 留言:0更新日期:2022-12-14 10:42
本发明专利技术公开了一种基于微内核的负载均衡方法,随机选择负载均衡决策内核,各个内核分别对其上的任务负载进行监控,对于各个内核,根据其运行队列中每个任务的历史负载和当前运行状态计算得到任务的当前负载,然后将运行队列中所有任务的负载求和得到内核的负载,再由决策内核进行负载均衡:如果有新任务创建,则将新任务分配至任务负载等级最小的内核,如果达到预设的负载均衡触发条件,则对当前各个内核任务负载情况进行分析,在必要时进行任务的核间迁移来实现负载均衡;每次负载均衡完毕后根据当前任务负载判断是否需要进行决策内核迁移。本发明专利技术以任务为粒度来计算负载,并且考虑任务历史负载的影响,使得负载均衡更加精确、合理。合理。合理。

【技术实现步骤摘要】
一种基于微内核的负载均衡方法


[0001]本专利技术属于微内核
,更为具体地讲,涉及一种基于微内核的负载均衡方法。

技术介绍

[0002]在多核操作系统中,负载均衡是充分发挥硬件性能的一个重要机制。负载均衡的思想是,通过追踪每个CPU核心当前的负载情况,将处于高负载的CPU核心管理的任务迁移到低负载的CPU核心上,尽可能地保证每个核心的负载大致相同。
[0003]负载均衡面临的一大挑战是:应该如何确定当前任务的负载情况。对当前任务的负载信息描述的越准确,对应的负载均衡策略就越有效。在大部分场景中,一个任务的执行负载是动态变化的,因此系统必须动态追踪系统当前的负载情况,这会造成一定的性能开销。所以,如何在保持低开销的同时对负载进行精确追踪是调度器设计实现的一大挑战。
[0004]当前微内核中,使用的调度算法是基于优先级的时间片轮转调度算法,每个任务有时间片的属性,内核就以每个CPU核心的运行队列为粒度计算负载,将运行队列上所有任务的时间片之和作为该CPU核心的负载,这实际上是不够合理的。举例而言,如果有一个IO密集型任务,在本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于微内核的负载均衡方法,其特征在于,包括以下步骤:S1:记微内核操作系统中包含内核数量为N,在微内核操作系统启动时,随机选择一个内核作为负载均衡的决策内核n
*
;S2:微内核操作系统中各个内核分别对其上的任务负载进行监控,统计得到各个时刻t时该内核的负载L
n,t
,n=1,2,

,N,具体方法如下:每个内核计算其运行队列中每个任务在时刻t的负载load
n,m,t
:其中,m=1,2,

,M
n
,M
n
表示第n个内核运行队列中的任务数量,load
n,m,t
‑1表示上一时刻t

1时第n个内核中第m个任务的负载,load
n,m,0
为第n个内核中第m个任务的时间片大小,runtime
n,m,t
为时刻t所在统计周期中第n个内核中第m个任务的实际运行时间,y表示预设的衰减系数;每个内核将其运行队列中每个任务在时刻t的负载求和,得到该内核的负载L
n,t
:S3:决策内核对每个内核当前的任务负载状态进行评估,得到各个内核的任务负载等级S
n,t
;S4:决策内核判断微内核操作系统中是否有新任务创建,如果有新任务创建,进入步骤S5,否则进入步骤S6;S5:从所有内核中选择任务负载等级最小的内核,将新任务分配至该内核,返回步骤S2;S6:决策内核判断是否达到预设的负载均衡触发条件,如果是,进入步骤S7,否则返回步骤S2;S7:决策内核获取当前每个内核的任务负载,筛选出负载最重的内核n
max
和负载最轻的内核n
min
,然后对这两个内核的任务负载进行任务负载状态评估,得到对应的任务负载等级,如果内核n...

【专利技术属性】
技术研发人员:李蒙肖堃谭钦云罗蕾陈丽蓉
申请(专利权)人:中移物联网有限公司
类型:发明
国别省市:

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

1