一种针对周期性关键任务的电源管理装置及其方法制造方法及图纸

技术编号:8215298 阅读:171 留言:0更新日期:2013-01-17 12:08
本发明专利技术提供了一种电源管理装置及其方法,主要用于移动设备和嵌入式设备中。该装置通过心跳性能采集模块在周期性的目标程序中设置心跳产生代码,并采集心跳频率,状态分析和决策模块通过将采集的心跳频率与操作系统的目标心跳速率比较,来决定性能调整策略,通过系统参数调节模块来完成CPU频率和电压的调节。该方法同该装置,通过设置的心跳产生代码来采集心跳频率,对比心跳频率和目标心跳速率来调节CPU频率和电压,或者降低目标程序的执行速度。本发明专利技术方法实现了对关键性周期任务的电源管理,在动态节约能源的同时能够满足服务的性能要求,提供了高质量的电源管理服务。

【技术实现步骤摘要】

本专利技术涉及CPU电源管理的
,具体是。
技术介绍
能源效率是大量计算机系统首要考虑的因素。如今,移动设备中的电源使用时间,嵌入式设备在峰值负荷时的能源限制,都需要对电源的使用进行更好地管理,都需要在满足服务质量的条件下,保证系统正常运行,并且节省能源。随着嵌入式系统的应用范围增力口,对嵌入式系统的电源资源进行有效管理显得更为重要。现有的CPU电源管理机制,是利用之前一段时间的CPU利用率,然后预测下一阶段 时间CPU的使用情况,进而调节CPU的性能状态来节约电源。但是,CPU使用率与任务的关键性没有联系。因此,基于CPU使用率的预测有不确定性,可能导致关键进程的响应延迟。对于嵌入式的实时应用,预测失败是不可接受的。因为实时类的应用都有一个Deadline,错过Deadline,就意味着程序的运行异常。例如音频或视频帧的播放时间错过以后,用户就能明显地感觉到音频或视频的不连贯,这会极大地影响用户的体验。
技术实现思路
本专利技术提供了,目的是实现了对关键性周期任务的电源管理,在动态节约能源的同时,能够满足服务的性能要求,提供了高质量的电源管理服务。一种针对周期性关键任务的电源管理装置,包括如下部分心跳性能采集模块、系统参数调节模块以及状态分析和决策模块。心跳性能采集模块用于采集目标程序的性能,在目标程序的关键循环中设置心跳产生代码,每执行一次循环就产生一次心跳,采集一个周期内的心跳频率h,并将该心跳频率传送给状态分析和决策模块。所述的目标程序为周期性任务。所述的关键循环是指每执行一次循环,就能表示程序执行进度的前进的循环。状态分析和决策模块判断所接收到的目标程序的心跳频率h是否在该目标程序的目标心跳频率范围内,若在,不传送信号给系统参数调节模块,若不在,传送调节系统参数的信号给系统参数调节模块。系统参数调节模块在接收到调节系统参数的信号后,采用采用动态电压速率调整技术调整CPU的电压和速率,具体是当h小于Min时,增加CPU的电压和频率,当h大于Max时,降低CPU的电压和频率。一种针对周期性关键任务的电源管理方法,包括如下步骤步骤I :心跳代码插入,具体是首先,在目标程序中找到关键循环,然后,在关键循环外初始化心跳数据结构,在关键循环里插入心跳产生代码,并在循环结束后,注销心跳数据结构;所述的心跳产生代码通过在目标程序的关键循环中设置时间戳实现;所述的目标程序为周期性任务;步骤2 :心跳性能采集,采集目标程序执行的时候产生的心跳频率h ;步骤3 :状态分析和决策,判断所采集的目标程序的心跳频率h是否在该目标程序的目标心跳频率的范围内,若在则不需要进行调整,结束本次过程;否则,执行步骤4 ;步骤4 :系统参数调节,采用动态电压速率调整技术调整CPU的电压和频率。当心跳频率h小于目标心跳频率的最小值Min时,增加CPU的电压和频率,若h大于目标心跳频率的最大值Max时,降低CPU的电压和频率。本专利技术的优点和积极效果在于本专利技术的电源管理装置及其方法,通过在目标程序中设置心跳产生代码,来获得程序的执行状态,通过对产生的心跳速率和目标心跳速率比较,来调节CPU的速率和电压,或者降 低目标程序的执行速度,使得在满足程序性能目标的前提下,更大程度地节约能源。相对于现有的CPU的电源管理机制,预测更加准确,更大程度地保证了嵌入式的实时应用的正常运行。附图说明图I为本专利技术的电源管理装置的结构示意图;图2为本专利技术的电源管理方法的执行流程图;图3为向周期程序中插入心跳代码的示例图。具体实施例方式下面结合附图来具体说明本专利技术的技术方案。本专利技术通过插入心跳代码监测程序的执行性能,从程序的角度反映程序的执行状态,根据程序的执行状态相应调整CPU的电压和频率。本专利技术所针对的目标程序为周期性的关键任务。在程序最外层的周期循环中插入心跳代码,来获取程序的准确执行状态。心跳是通过在周期性程序循环中插入代码来模拟程序的心跳,用来代表程序的不断执行。通过程序的目标性能与当前执行性能的比较,决定相应的电源管理调度策略。采用DVFS (动态电压速率调整)技术调整CPU的电压和频率,来达到节约电源的目的,在此基础上,保证程序的执行性能。本专利技术的针对周期性关键任务的电源管理装置及其方法首先检测程序的性能状态,来决定如何调整系统的电源状态。关键程序需要按照目标性能状态执行,当超过目标频率时候,降低CPU频率和电压来节约电源。在程序负载波动的情况下,当程序性能不能满足要求的时候,调整CPU的频率和电压,来影响程序性能,在满足性能的最低CPU频率状态下执行。如图I所示,本专利技术的电源管理装置主要包括如下几个模块心跳性能采集模块1,状态分析和决策模块2,以及系统参数调节模块3。心跳性能采集模块1,用于采集目标程序的性能。心跳性能采集模块I的实现原理是,要在目标程序中,插入心跳产生代码,心跳产生代码必须设置在目标程序运行过程中的关键循环当中,这样才可以准确得反映程序的执行进度,而且通过周期时间内产生的心跳,来反映程序当前的执行效率。关键循环是指每执行一次循环,就能表示程序执行进度的前进,一般是周期性程序的最外层循环。具体实现可以是在目标程序的最外层循环中设置时间戳,来获取目标程序的周期执行进度。通过度量周期时间内心跳产生的次数,即度量周期时间内关键循环的执行次数,获得心跳频率,可以简洁的使用心跳频率来表示当前目标程序的性能和执行进度。心跳性能采集模块I将获取的心跳频率传送给状态分析和决策模块2。将统计到的目标程序的性能信息,即心跳频率,也就是周期内采集的时间戳,保存到外部文件或者共享内存中,通过查看这些性能信息可监测目标程序的执行状态。状态分析和决策模块2,通过分析采集到的心跳信息,利用现有的性能调整策略调整性能与电源策略。将使用心跳性能采集模块I采集到的性能信息与提前设定好的目标性能进行比较,决定下一个计算周期的激励策略,来满足目标性能。假如h是当前观测到的目标程序的心跳频率,同时是目标程序的目标心跳频率范围。同时各种激励策略能够提高执行频率来满足目标心跳频率,当h在该目标程序的目标心跳频率的范围内时,说明目标程序的执行速度已经满足了用户的请求,则继续保持当前的执行状态。如果不在目标心跳频率范围之内,此时发送一个调节系统参数的信号给系统参数调节模块3。系统参数调节模块3,主要采用DVFS技术,调整CPU的频率和电压,通过调整CPU的电压和频率,相应影响目标程序的执行速度,若h大于Max,就降低CPU的电压和频率,若 h小于Min,则增加CPU的电压和频率。比如,降低了 CPU的电压和频率时,减少分配给该目标程序的计算节点数目,使得目标程序的执行速度降低,达到节约电源以及改变程序性能 状态的目的。现有的常用CPU体系结构均支持DVFS技术,例如x86,arm, powerpc等。只有可以有效调整系统电源使用的情况,才能最终达到节约电源的目的。而节约电源肯定会在一定程度上影响程序的执行效率。如图2所示,为本专利技术的电源管理方法的步骤。步骤I,心跳代码插入。首先,需要在目标程序中找到关键循环。并在关键循环的外边初始化好心跳数据结构,然后,在关键循环里边插入心跳产生代码,在循环中周期性地产生心跳。并在循环结束后,注销心跳数据结构。如图3所示,为插入心跳本文档来自技高网...

【技术保护点】
一种针对周期性关键任务的电源管理装置,其特征在于,包括心跳性能采集模块、系统参数调节模块以及状态分析和决策模块;心跳性能采集模块用于采集目标程序的性能,在目标程序的关键循环中设置心跳产生代码,每执行一次循环就产生一次心跳,采集一个周期内的心跳频率h,并将该心跳频率传送给状态分析和决策模块,所述的目标程序为周期性任务,所述的关键循环是指每执行一次循环,就能表示目标程序执行进度的前进;状态分析和决策模块判断所接收到的目标程序的心跳频率h是否在该目标程序的目标心跳频率的范围[Min,Max]内,若在,不传送信号给系统参数调节模块,若不在,传送调节系统参数的信号给系统参数调节模块;系统参数调节模块在接收到调节系统参数的信号后,采用动态电压速率调整技术调整CPU的电压和频率,具体是:当h小于Min时,增加CPU的电压和频率,当h大于Max时,降低CPU的电压和频率。

【技术特征摘要】

【专利技术属性】
技术研发人员:王雷李康王刚王欢赵玉龙王宇
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:

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

1