【技术实现步骤摘要】
一种基于微内核的负载均衡方法
[0001]本专利技术属于微内核
,更为具体地讲,涉及一种基于微内核的负载均衡方法。
技术介绍
[0002]在多核操作系统中,负载均衡是充分发挥硬件性能的一个重要机制。负载均衡的思想是,通过追踪每个CPU核心当前的负载情况,将处于高负载的CPU核心管理的任务迁移到低负载的CPU核心上,尽可能地保证每个核心的负载大致相同。
[0003]负载均衡面临的一大挑战是:应该如何确定当前任务的负载情况。对当前任务的负载信息描述的越准确,对应的负载均衡策略就越有效。在大部分场景中,一个任务的执行负载是动态变化的,因此系统必须动态追踪系统当前的负载情况,这会造成一定的性能开销。所以,如何在保持低开销的同时对负载进行精确追踪是调度器设计实现的一大挑战。
[0004]当前微内核中,使用的调度算法是基于优先级的时间片轮转调度算法,每个任务有时间片的属性,内核就以每个CPU核心的运行队列为粒度计算负载,将运行队列上所有任务的时间片之和作为该CPU核心的负载,这实际上是不够合理的。举例而言,如果有一 ...
【技术保护点】
【技术特征摘要】
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...
【专利技术属性】
技术研发人员:李蒙,肖堃,谭钦云,罗蕾,陈丽蓉,
申请(专利权)人:中移物联网有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。