首页> 中国专利> 基于分区操作系统的DVS调度算法

基于分区操作系统的DVS调度算法

摘要

本发明提供一种基于分区操作系统的DVS调度算法,动态估计处理器空闲时间,以非常小的代价在保证处理器高响应速度的条件下有效降低功耗。在空闲任务的任务控制块中增加一个按分区记录降压前空闲任务运行时间t1的数据项;判断降压前空闲任务运行时间t1是否满足电压切换条件:当满足电压切换条件,执行降频操作,直至分区结束;在分区结束时,执行升频操作。解决了机载嵌入式处理器由于高速运算带来的过热问题,延长处理器寿命,降低处理器故障率。

著录项

  • 公开/公告号CN104714621A

    专利类型发明专利

  • 公开/公告日2015-06-17

    原文格式PDF

  • 申请/专利号CN201310688800.2

  • 发明设计人 李娟;孔德岐;毛宁;赵小勇;

    申请日2013-12-14

  • 分类号

  • 代理机构西安智邦专利商标代理有限公司;

  • 代理人杨引雪

  • 地址 710119 陕西省西安市锦业二路15号

  • 入库时间 2023-12-18 09:23:37

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-05-17

    授权

    授权

  • 2015-07-15

    实质审查的生效 IPC(主分类):G06F1/32 申请日:20131214

    实质审查的生效

  • 2015-06-17

    公开

    公开

说明书

技术领域

本发明属于嵌入式操作系统领域,涉及一种针对分区操作系统的动态电 压等级调节DVS任务调度方法。

背景技术

随着航空电子系统综合化的发展,计算机系统运算能力的要求也越来越 高的。为此,机载计算机系统采用高性能的硬件系统从而达到提高处理速度 的目标。同时,计算系统的可靠性日趋重要,机载计算机以各层次的硬件和 软件冗余为代价实现提高可靠性的目标。不幸的是,不论是高性能的硬件系 统还是冗余备份都大幅度提高了系统能耗。高额的系统功耗增加了供电系统 的负担,产生的热量让硬件运行环境变得恶劣,从而降低了系统的总体寿命。 DVS任务调度是操作系统功耗管理的重要内容,研究系统运行时处理器的功耗 管理技术。它通过在处理器执行负荷较低时降低DVS处理器时钟频率,达到 降低系统功耗的目的。DVS任务调度不仅需要根据任务的不同特性,设计相应 的调度算法,如实时和非实时任务,周期和非周期任务等。DVS任务调度还需 满足原有调度算法的不同限制,如可抢占和不可抢占,动态和固定优先级等。 非实时任务的DVS调度方法相对比较简单,任务没有明确的截止时间限制, 非实时任务DVS调度的目标是根据当前采用的调度算法保证任务能够完成的 基础上追求最低功耗。目前的非实时任务DVS模型基本可以归为三类:1)静 态算法;2)基于平均时间的算法;3)基于功耗关键时间的算法。实时任务 的DVS调度首要条件是保证系统的执行时间可预测性。常见的实时任务调度 方法有两种:RMS(基于优先级的单调速率调度算法)和EDF(最早截止期优 先算法)。但是传统意义上的两种方法都过于复杂,计算开销大,不适用于对 实时性要求非常高的机载嵌入式系统。

发明内容

本发明的目的是:本发明提供一种基于分区操作系统的DVS调度算法, 动态估计处理器空闲时间,以非常小的代价在保证处理器高响应速度的条件 下有效降低功耗。

本发明的技术解决方案是:

1、基于分区操作系统的DVS调度算法,其特征在于:包括以下步骤:

1】在空闲任务的任务控制块中增加一个按分区记录降压前空闲任务运行 时间t1的数据项;

2】判断降压前空闲任务运行时间t1是否满足电压切换条件:当降压前 空闲任务运行时间t1>Echangek*(Vlarge2-Vsmall2)+2*tchange1-VsmallVlarge时,满足电压切换条件, 执行降频操作,直至分区结束;

其中Echange为芯片的电压切换能耗,Vlarge为降压前电压,Vsmall为 降压后电压,tchange为芯片的电压切换时间,k为能耗和电压关系的比例 因子;

3】在分区结束时,执行升频操作。

上述步骤2中,降压前空闲任务运行时间t1连续5次满足电压切换条件, 执行降频操作。

上述步骤1】还包括以下环节:针对各种芯片,将各种芯片的 值计算好,制作成MAP表;步骤2】还包括,查 询步骤1】制作好的MAP表,判断降压前空闲任务运行时间t1是否满足电压 切换条件。

本发明的优点是:该方法的算法复杂度与分区内任务的数量、执行时间 等无关;分区内任务量的增加不会导致算法复杂度的增加,因而该调度方法 可以有效保证系统的实时性。由于算法复杂度低,将该算法嵌入到分区操作 系统的代价也很低,基于该算法,在分区操作系统上实现降低功耗的功能是 可行的。在机载计算机综合化的发展趋势下,多个处理器同时降低能耗能有 效延长系统寿命,具有很大的实用价值。解决了机载嵌入式处理器由于高速 运算带来的过热问题,延长处理器寿命,降低处理器故障率。

具体实施方式

基于分区操作系统的DVS调度算法的基础是分区操作系统,分区之间的 任务时间空间隔离,分区内的任务基于优先级调度。分区空闲时间对处理器 速度没有要求。

在分区中,采用“搜集”的方法,将每个分区的空闲时间动态记录下来, 采用一定的算法对其进行评估,当条件满足时,进行电压减低切换。在分区 执行结束之前,恢复电压值,保证下个分区的运行不受影响。

条件为电压切换时间小于松弛时间,而且电压切换带来的能量消耗小于 其他松弛时间降低电压“赚取”的功耗。

芯片的电压切换时间为tchange,通过查找芯片手册得到;

降压前电压为Vlarge,Vlarge的值是参照芯片手册提前设定的;

降压后电压为Vsmall;Vsmall的值是参照芯片手册提前设定的;

松弛时间为trelax;

芯片的电压切换能耗为Echange,通过查找芯片手册得到;

能耗和电压关系的比例因子为:k,k=Vlarge对应的功耗/Vlarge2,Vlarge 对应的功耗可以查询芯片手册得到;

节省能耗Es为:

Es=(Vlarge2-Vsmall2)(trelax–2*tchange)*k-Echange;(1)

当Es大于0时,表示通过降低供电电压减少能耗的方法可行。

公式(1)通过变换之后成为:

trelax=(Es+Echange)/(k*(Vlarge2-Vsmall2))+2*tchange;(2)

公式(2)中等式右边的值除了Es都是确定的,因此,电压改变的条件 变为

trelax>(Echange)/(k*(Vlarge2-Vsmall2))+2*tchange;(3)

分区操作系统“搜集”的空闲时间和松弛时间的关系为:

trelax=t2–t1;(4)

t1是降压前的空闲任务运行时间,t2是降压后的空闲任务运行时间,t1 和t2之间存在比例关系,t2=t1(Vsmall/Vlarge)(5);

将公式(4)、(5)带入(3):

t1>Echangek*(Vlarge2-Vsmall2)+2*tchange1-VsmallVlarge---(6)

时间是分区电压切换的临界值,假如该值在 系统设计之初可以计算好,在系统运行过程中只要比较降压前空闲任务运行 时间t1和切换临界值即可得到电压是否可以降低。计算简单,不会增加任务 的切换时间,也不会影响系统的实时性。

下面基于ARINC653的某分区操作系统,对本发明作进一步的详细说明。

ARINC653是美国电子工程协会针对航空民用飞机的模块化综合航空电子 系统定义的应用程序接口标准,是国际上设计多分区操作系统的重要依据。 目前基于此标准的有很多成熟操作系统。

基于分区操作系统的DVS调度算法由如下步骤组成:

1、在任务控制块中增加一个按分区记录降压前空闲任务运行时间t1的 数据项。

任务控制块是操作系统内记录任务信息的唯一数据结构,空闲时间记录 的一种高效方法就是记录空闲任务的运行时间,将该时间作为任务控制块的 一个数据项,能够快速获取和修改该信息。

2、判断降压前空闲任务运行时间t1是否满足电压切换条件。

电压切换条件是:降压前空闲任务运行时间t1> 如果满足电压切换条件,执行降频操作,直至 分区结束;

为了避免分区内空闲任务的快频波动,对空闲时间的稳定程度做评估, 降压前空闲任务运行时间t1连续5次满足电压切换条件,执行降频操作。

在分区操作系统中,不采用降频到休眠模式的操作,因为该操作的切换 功耗大,时间长,带来的额外开销降低系统的实时性,因此,只采用降频和 升频操作。对于不同的处理器,降频和升频的时间不同,不同当前电压和预 期电压所需功耗提前做成MAP表,电压切换条件通过查表获取。

3、在分区结束时,执行升频操作。

分区隔离要求分区内任务的执行不能影响其他分区的运行,降频操作也 要保证不对其他分区造成影响,因而,在分区调度结束完成升频操作。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号