CPU和IO设备低能耗调度方法与流程

文档序号:11728964阅读:587来源:国知局
CPU和IO设备低能耗调度方法与流程

本发明涉及嵌入式系统cpu和io设备能耗管理技术领域,具体是适用于动态优先级系统的cpu和io设备低能耗调度方法。



背景技术:

嵌入式系统,例如手机、笔记本、ipad、无人机等,通常是采用电池供电,受体积和重量的限制,电池的容量是有限的,且电池的寿命也是有限的,因此,其只能消耗有限的能耗。

随着嵌入式系统功能的逐渐增多,处理器技术的快速发展,嵌入式系统的能耗问题越来越凸显。因此,能耗问题成为制约嵌入式系统市场竞争力的一个重要因素。动态电压调节(dvs)技术和动态功耗管理(dpm)技术是目前降低嵌入式系统能耗的常用技术。

嵌入式系统的能耗主要来自cpu、内存、lcd、硬盘等io设备。目前针对嵌入式系统能耗的研究要么仅仅利用dvs技术降低cpu能耗;要么仅仅利用dpm技术降低io设备能耗,很少有研究将这二者的能耗作为一个整体加以研究。针对现有研究存在的不足,提出适用于动态优先级系统的cpu和io设备低能耗调度方法,该方法考虑资源受限周期任务设备能耗调度问题,利用dvs技术降低cpu能耗,且利用dpm技术降低设备能耗,有效地降低系统层次能耗。



技术实现要素:

本发明的主要目的在于克服现有技术中的上述缺陷,提出一种cpu和io设备低能耗调度方法,该方法考虑资源受限周期任务设备能耗调度问题,利用dvs技术降低cpu能耗,且利用dpm技术降低设备能耗,适用于动态优先级系统。

本发明采用如下技术方案:

cpu和io设备低能耗调度方法,其特征在于,包括如下步骤:

建立资源受限周期任务设备能耗调度模型;

计算任务ti执行的低速度sl;

计算任务ti执行的高速度

计算设备di的设备空闲时间i(di);

利用最早截止期限优先策略和栈资源协议调度任务;

根据设备空闲时间i(di)降低设备能耗。

优选的,所述建立资源受限周期任务设备能耗调度模型,包括:

在单处理器系统中,考虑有n个资源受限周期任务的周期任务集t={t1,t2,...,tn};周期任务ti用四元组(p(ti),w(ti),dev(ti),rs(ti))表示,p(ti)是任务ti的周期,w(ti)是任务ti的最坏情况下的执行时间,dev(ti)={d1,d2,...,dm}是任务ti执行时所用到的设备集合,rs(ti)={r1,r2,...,rk}是ti执行时所用到的非抢占的资源集合;非抢占的设备可以被认为是非抢占的资源;不同的任务其使用同一设备的时间不同;可抢占的设备是属于集合dev(ti)但不属于集合rs(ti);将任务按照其周期进行非降序排列,即有p(t1)≤p(t2)≤...≤p(tn);任务ti的第j个实例用ti,j表示。

优选的,计算任务ti执行的低速度sl:

其中,p(ti)是任务ti的周期,w(ti)是任务ti的最坏情况下的执行时间,n为周期任务集t中周期任务的个数,i为整数。

优选的,计算任务ti执行的高速度

其中,t表示当前时间,p(t1)、p(ti)、p(tj)、p(tk)分别表示任务t1,任务ti、任务tj、任务tk的周期,i,j,k为整数;gj是任务tj的最大阻塞时间,1≤j≤n,sl为任务ti执行的低速度sl。

优选的,计算设备di的设备空闲时间i(di):

i(di)=n(di)-t;

其中,n(di)为没有完成执行的任务需要使用设备di的最早时间,t表示当前时间。

优选的,设定任务是否被抢占或者被阻塞由最早截止期限策略和栈资源协议决定,所述利用最早截止期限优先策略和栈资源协议调度任务,其处理步骤如下:

(1)在调度点tsch,假如任务ti释放之前处理器处于空闲状态,任务ti以低速度sl执行;

(2)假如任务ti抢占任务tj,任务ti以低速度sl执行;

(3)假如任务ti被任务tj阻塞,tj以高速度执行,当任务tj完成执行时,任务ti以高速度执行。

优选的,根据设备空闲时间i(di)降低设备能耗,当设备空闲时间i(di)大于其临界时间bi时,将设备di切换到低功耗状态,且设置其激活时间up(di)。

由上述对本发明的描述可知,与现有技术相比,本发明具有如下有益效果:

(1)能够确保资源受限周期任务在其截止期限内完成执行,且能够确保资源被互斥的使用;

(2)cpu能耗和io设备能耗的降低,可以降低产品的生产成本,延长设备的使用时间,减少电池的更换周期;

(3)本发明的方法比现有的方法节约大约8.10%能耗。

附图说明

图1为本发明方法的流程图示意图;

图2为本发明的实施例归一化节约能耗与系统利用率的仿真实验结果图。

具体实施方式

以下通过具体实施方式对本发明作进一步的描述。

参见图1,本发明提供的一种cpu和io设备低能耗调度方法,包括如下步骤:

步骤101:建立资源受限周期任务设备能耗调度模型。

在单处理器系统中,考虑有n个资源受限周期任务的周期任务集t={t1,t2,...,tn};周期任务ti用四元组(p(ti),w(ti),dev(ti),rs(ti))表示,p(ti)是任务ti的周期,w(ti)是任务ti的最坏情况下的执行时间,dev(ti)(dev(ti)={d1,d2,...,dm})是任务ti执行时所用到的设备集合,rs(ti)(rs(ti)={r1,r2,…,rk})是ti执行时所用到的非抢占的资源集合;非抢占的设备可以被认为是非抢占的资源;不同的任务其使用同一设备的时间不同;可抢占的设备是属于集合dev(ti)但不属于集合rs(ti);将任务按照其周期进行非降序排列,即有p(t1)≤p(t2)≤...≤p(tn)。

步骤102:计算任务ti执行的低速度sl。

本实施例中,具体步骤如下:

其中,p(ti)是任务ti的周期,w(ti)是任务ti的最坏情况下的执行时间,n为周期任务集t中周期任务的个数,i为整数。

步骤103:计算任务ti执行的高速度

本实施例中,具体步骤如下:

其中,t表示当前时间,p(t1),p(ti),p(tj),p(tk)分别表示任务t1,任务ti,任务tj,任务tk的周期,i,j,k为整数;gj是任务tj的最大阻塞时间(1≤j≤n),sl为任务ti执行的低速度sl。

步骤104:计算设备di的设备空闲时间i(di)。

本实施例中,具体步骤如下:

i(di)=n(di)-t;

其中,n(di)为没有完成执行的任务需要使用设备di的最早时间,t表示当前时间;n(di)的计算方法如下:

n(di)=min(rt(ti,j));

其中,ti,j没有完成执行且需要使用设备di的任务实例,rt(ti,j)是任务实例ti,j的释放时间,min是指求最小值。

步骤105:最早截止期限优先策略和栈资源协议调度任务。

本实施例中,具体步骤如下:

(1)在调度点tsch,假如任务ti释放之前处理器处于空闲状态,任务ti以低速度sl执行;

(2)假如任务ti抢占任务tj,任务ti以低速度sl执行;

(3)假如任务ti被任务tj阻塞,tj以高速度执行,当任务tj完成执行时,任务ti以高速度执行;

任务是否被抢占或者被阻塞由最早截止期限策略和栈资源协议决定;tsch是指任务的释放、完成执行、抢占、阻塞时刻以及处理器处于空闲状态的时刻;最早截止期限策略确定任务的优先级原则为:当任务的截止期限越小,其优先级越高;任务的截止期限相同,释放时间越早的任务,其优先级越高;当任务的截止期限和释放时间都相同;任务的小标越小,其优先级就越高;栈资源协议为每个任务设置一个系统抢占水平,系统抢占水平是系统中使用同类资源的最大优先级;当一个任务要抢占使用相同资源的任务时,其优先级必须大于系统抢占水平。

步骤106:根据设备空闲时间i(di)降低设备能耗。

设备di的临界时间bi由下式计算:

其中,pia和pis分别为设备di处于活跃状态和休眠状态的功耗;分别为设备di从活跃状态切换到休眠状态和从休眠状态切换到活跃状态的时间开销;分别为设备di从活跃状态切换到休眠状态和从休眠状态切换到活跃状态的能耗开销。

当设备空闲时间i(di)大于其临界时间bi时,将设备di切换到低功耗状态,且设置其激活时间up(di)。up(di)的计算方法如下:

其中,为设备di从休眠状态切换到活跃状态的时间开销;n(di)为没有完成执行的任务需要使用设备di的最早时间,t表示当前时间;n(di)的计算方法如下:

n(di)=min(rt(ti,j));

其中,ti,j没有完成执行且需要使用设备di的任务实例,rt(ti,j)是任务实例ti,j的释放时间,min是指求最小值;当当前时间等于设备的激活时间up(di),将设备切换到活跃状态。

如图2所示为本发明的实施例归一化节约能耗与系统利用率的仿真实验结果图。本实施例中,随机产生100个周期任务集,每个周期任务集包含15个周期任务。周期任务ti的周期在区间[25ms,1300ms]中随机选择;周期任务ti的最坏情况下执行时间在1到其周期之间随机选择。实验中用到5个设备,设备分别标注为1,2,3,4,5。设备1,2,3,4,5处于活跃状态的功耗分别为0.19w,0.75w,1.3w,0.125w,0.225w;设备1,2,3,4,5处于休眠状态的功耗分别为0.085w,0.005w,0.1w,0.001w,0.02w;单位时间内设备1,2,3,4,5从休眠状态切换到活跃状态的能耗开销与其从活跃状态切换到休眠状态的能耗开销相等,且分别为0.125mj,0.1mj,0.5mj,0.05mj,0.1mj;设备1,2,3,4,5从休眠状态切换到活跃状态的时间开销与其从活跃状态切换到休眠状态的时间开销相等,且分别为10ms,40ms,12ms,1ms,2ms;考察系统利用率对归一化节约能耗的影响,系统利用率的范围为0.1到0.8,步长为0.05;在图2中实现三种方法:第一,本发明方法;第二,dpm_edf方法,任务始终以最大处理器速度执行,利用dpm技术降低设备能耗;第三,ds方法,没有利用dpm技术节能,所有设备处于活跃状态且任务以低速度或者高速度执行。

从图2可以看出,所有方法节约能耗都受到系统利用率影响。随着系统利用率增加,所有方法的归一化节约能耗都降低。这是因为,系统利用率增加,系统可利用的空闲时间减少,进而导致dvs技术或者dpm技术被用来降低能耗的机会减少。相对于其他方法,本发明方法节约更多的能耗。本发明方法与dpm_edf方法和ds方法相比分别可以多节约大约8.10%和69.17%的能耗。主要原因在于,本发明方法不仅可以利用dvs技术降低处理器能耗,而且可以利用dpm技术降低设备能耗。此外,dpm_edf方法比ds方法可以多节约大约61.07%的能耗。这主要是因为系统的能耗主要来自设备的能耗,而ds方法中设备一直处于活跃状态。

上述仅为本发明的具体实施方式,但本发明的设计构思并不局限于此,凡利用此构思对本发明进行非实质性的改动,均应属于侵犯本发明保护范围的行为。

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