首页> 中国专利> 一种基于嵌入式系统的动态电源管理架构

一种基于嵌入式系统的动态电源管理架构

摘要

本发明提供一种基于嵌入式系统的动态电源管理架构,包括操作点管理、操作状态管理、策略管理、设备约束管理,系统负荷检测、以及策略优化;所述操作点管理所涉及的操作点为封装了嵌入式系统设备的最小的、相互关联的、物理的离散参数集合;所述操作状态管理所涉及的操作状态为对多个操作点的映射;所述策略管理的策略为定义操作状态所映射的具体操作点;所述设备约束管理用于在某操作状态下通过驱动对DPM声明约束,DPM根据约束声明选择满足约束条件的操作点;所述系统负荷检测实现检测嵌入式系统的运行负荷;所述策略优化根据系统负荷检测结果计算最优策略,电源管理器依据该策略发出控制系统设备的指令。

著录项

  • 公开/公告号CN1932721A

    专利类型发明专利

  • 公开/公告日2007-03-21

    原文格式PDF

  • 申请/专利号CN200610122002.3

  • 发明设计人 刘发贵;麦伟鹏;

    申请日2006-09-08

  • 分类号G06F1/32(20060101);

  • 代理机构广州粤高专利代理有限公司;

  • 代理人何淑珍

  • 地址 510640 广东省广州市天河区五山路381号

  • 入库时间 2023-12-17 18:21:01

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2012-11-14

    未缴年费专利权终止 IPC(主分类):G06F1/32 授权公告日:20081022 终止日期:20110908 申请日:20060908

    专利权的终止

  • 2008-10-22

    授权

    授权

  • 2007-05-16

    实质审查的生效

    实质审查的生效

  • 2007-03-21

    公开

    公开

说明书

                          技术领域

本发明属于计算机电源管理技术领域,特别是涉及一种基于嵌入式系统的动态电源管理架构。

                          技术背景

目前越来越多的电子电路和系统设计面临着高性能和低能耗所带来的矛盾。日益复杂的应用,如移动设备上的多媒体播放,要求系统具有较高的性能。而为了能够采用电池供电,同时减少对环境的诸如热量和噪声的影响,系统必须具有较低的功耗。换句话说,高性能和低功耗是电子设计的一个主要挑战。

电子系统可以看成是由多个组件组成的集合。通常,电子系统中只有某些组件在某些时间片必须处于高性能状态。动态电源管理(DPM)通过对电子系统的动态的配置,启动尽可能少的元组或让这些元组处于适当的能耗状态,从而实现对能耗的有效利用。

DPM是建立在假设系统及其组成元件的工作负载各不相同,且工作负载的变化能较准确地被预测出来的基础上的。一般地,DPM包含一个电源管理器,它根据对系统负载的观察和分析调用相应的控制过程。一般把这些控制过程叫做策略,如最简单的超时策略,当系统组件空闲时间超过一个预先设定的值时,电源管理器将把它关闭。

随着对DPM的深入研究,一个标准化的动态电源管理框架和支持不同电源管理策略的策略框架日益变得重要,它为不同系统的DPM实现提供一个基本的框架,为各个策略优化算法的实现提供DPM接口,可以大大推进DPM的标准化与整合不同的策略优化算法,为策略优化算法的验证提供基础设施。

以往有关DPM框架的论述都比较抽象,一般只是给出一个抽象级的总体架构,然后对架构中的概念进行简单的解释,有的也会给出架构的抽象实现,但是,它们都只是在理论上进行阐述,而对于DPM框架在实际系统中是如何实现的则没有涉及,缺乏实践性。而且以往的DPM框架所采取的是积极的动态电源管理策略,没有考虑设备进行电源状态切换时所带来的更大的能耗开销,也就是说,DPM框架没有考虑到策略优化的问题。由于没有考虑策略优化,也就不能最大程度的节约能量,有时候反而导致更大的能量消耗。

                        发明内容

本发明的目的在于克服现有技术的不足,提出一种带策略优化的DPM架构,可有效解决了系统设备进行电源状态切换时的更大能耗。

为了实现上述发明目的,采用的技术方案如下:

一种基于嵌入式系统的动态电源管理架构,包括操作点管理、操作状态管理、策略管理、设备约束管理,系统负荷检测、以及策略优化;

所述操作点管理所涉及的操作点为封装了嵌入式系统设备的最小的、相互关联的、物理的离散参数集合;

所述操作状态管理所涉及的操作状态为对多个操作点的映射;

所述策略管理的策略为定义操作状态所映射的具体操作点;

所述设备约束管理用于在某操作状态下通过驱动对DPM声明约束,DPM根据约束声明选择满足约束条件的操作点;

所述系统负荷检测实现检测嵌入式系统的运行负荷;

所述策略优化根据系统负荷检测结果计算最优策略,电源管理器依据该策略发出控制系统设备的指令。

本发明所述的架构各部件具体描述如下:

1、操作点管理,在任何给定的时间点,一个系统都可以被称为运行在一个特定的操作点下。操作点可以通过CPU核心电压、CPU频率、外围设备的总线频率等等参数来描述。一旦确定了操作点,也就确定了整个系统的性能等级和与之关联的能耗等级。当系统的状态发生变化时,会引起操作点的转变,如当电池即将耗尽时,系统将必须进入某个低功耗的操作点运行以延长运行时间。

2、操作状态管理,操作点与操作状态是点与面的关系。在多操作点的系统下,一个操作状态一般对应多个操作点。

一般可以把操作系统看作一个状态机,操作系统通过事件的触发,在不同的状态间切换。简单地,可以把操作系统的状态与操作状态一一对应。如操作系统中一般有“空闲”、“运行”二种状态,对应不同的工作量范围,可映射成二个不同的操作状态。操作状态以及当前采用的策略确定系统运作的操作点。

3、策略管理,DPM体系的最高层抽象对象就是策略,它可以将每个操作状态对应到相应的操作点上。在系统中,一个电源管理方案必须至少包含一种策略,同时也可以为不同环境定义很多不同的策略。定义一个策略主要就是定义每个操作状态所映射的操作点。

4、设备约束管理,在DPM构架中,策略管理者通过底层的设备驱动来管理设备的能耗。在某个操作状态下,当某个睡眠的设备需要被唤醒的时候,通过驱动对DPM声明约束,接着DPM在此操作状态所映射的一类操作点中选择一个满足约束条件的操作点,以确保在此操作点下设备能够正常工作。

5、系统负载检测,通过系统负载检测获取系统负载作为DPM的依据。通过计算系统负载,分析系统负载的变化趋势,就可以相应的进行电源的动态管理。以对CPU负载的获取作为例子。系统中CPU负载的大小体现在对CPU的利用率上。一般来说,CPU会处于两种状态下,运行状态与空闲状态。因此,CPU负载的大小可以通过单位时间内CPU处于运行状态下的时间来表征。这个值越高,表明CPU就越繁忙,反之,则表示CPU越空闲。

6、策略优化,策略优化就是在有性能损失约束的情况下,在所有策略空间中搜索,找出使能量消耗最低的一个策略。性能损失约束与系统的负载有直接关系,因此策略优化是建立在对系统的负载进行检测的基础上的,即根据系统负载选择最合适的策略,使能量消耗尽可能的低。

上述技术方案中,所述策略优化通过马尔可夫模型实现。

所述马尔可夫模型包括服务请求者、服务提供者、电源管理器、系统状态探测、及模型验证;所述服务请求者是一个状态集为R的马尔可夫链,作为系统服务请求到达的模型;所述服务提供者是一个受控的状态集为S的马尔可夫链,其状态代表嵌入式系统的运行状态,其状态转换符合或然概率,且或然概率受电源管理器控制;所述电源管理器实现了函数:f:S×R→A,作为一个决策过程的抽象表示,其通过系统负荷检测观察系统和工作负荷的状态,并计算出策略,根据该策略发出控制系统设备的指令;所述系统状态探测和模型验证探测系统当前的实际工作状态,并与当前的系统模型进行比较,如果比较的结果差别不大,则根据实际工作状态修正当前的系统模型,如果比较的结果差别较大,则启动电源管理器计算新的模型以替代当前的系统模型。

通过上述马尔科夫模型的计算方法,使得系统在每个固定的时间片结束的时候,系统状态探测单元探测本时间片之前的实际工作状态,得到系统的实际参数,再将这些参数与当前的系统模型进行比较。如果比较的结果表明差别不大,说明当前系统模型发生了一些轻微的改变,没有根本性的变化,只需要根据实际变化修正当前的系统模型。如果比较的结果表明差别较大,说明系统的状态发生了根本性的改变,当前的系统模型已经不适用于实际情况,必须寻找新的模型替代当前的系统模型。电源管理器部分的DPM策略不再是固定的了,一旦系统验证过程结束,新的当前系统模型建立以后,会立即计算出一个优化的DPM策略作为新的DPM策略,电源管理机根据新的策略并结合当前的系统状态发出电源状态转换指令,控制系统进入节电状态。

本发明所述系统状态探测采用定时器驱动与事件驱动相结合的方式,在设定的每个时间片结束时定期计算、验证并发布节电的命令,而当服务提供者处于完全空闲的时候,采用事件驱动的方式,对每一事件进行计算、验证并发布节电的命令。通过定时器驱动和事件驱动相结合,克服了单纯采用定时器驱动时,CPU等部件即使处于空闲状态也有周期性的工作,不能处于完全节电的方式。由于加入了事件驱动,如果CPU处于完全空闲状态一定时间,系统有理由相信系统已经处于稳态的空闲状态,就停止CPU周期性的工作,发出指令让CPU处于停止工作状态,此刻系统转入事件驱动方式,以最大程度得节约能量。

本发明对现有的DPM框架进行扩展,将以系统负载检测为基础的策略优化作为DPM框架的组成部分包含进来,并通过马尔可夫模型的适应性动态电源管理算法实现策略优化,使得本发明适用性更强、而且驱动方式灵活,可实时根据系统负载检测,选取能耗最低的最优策略,通过这样的策略优化克服了现有技术在设备进行电源状态切换时所产生的更大的能耗开销。

                          附图说明

图1为本发明的框架示意图;

图2为常规DPM模型;

图3为本发明的DPM模型;

图4为本发明的DPM模型的实现流程;

图5为性能损耗约束为2.5时的操作点变化图;

图6为性能损耗约束为2.3时的操作点变化图;

图7为性能约束与能耗约束之间的关系图。

                       具体实施方式

下面结合附图对本发明做进一步的说明。

本发明的架构示意图如附图1所示,嵌入式系统由应用层、操作系统层和硬件层组成,本发明所提出的DPM框架属于操作系统层,它包括了操作点管理、操作状态管理、策略管理、设备约束管理、系统负载检测和策略优化六个小模块。

常规的DPM模型如附图2所示,由三个部分组成:服务提供者、服务清求者和电源管理器。

服务请求者,是一个状态集为R的Markov链,是系统服务请求到达的模型。

服务提供者,是一个受控的状态集为S的Markov链,是系统的模型。它的状态代表系统的运行状态(例如它的电源状态),它的转换是或然的,这种概率受电源管理器控制。

电源管理器,它实现了一个函数:f:S×R→A,它是一个决策过程的抽象表示。PM观察系统和工作负荷的状态,计算出DPM策略,并发出一个命令去控制系统。

本发明的DPM模型如附图3所示,与常规模型对比,最大的改进之处就是引入了系统状态探测和验证部分。在每个固定的时间片结束的时候,系统状态探测单元探测本时间片之前的实际工作状态,得到系统的实际参数,再将这些参数与当前的系统模型进行比较。如果比较的结果表明差别不大,说明当前系统模型发生了一些轻微的改变,没有根本性的变化,只需要根据实际变化修正当前的系统模型。如果比较的结果表明差别较大,说明系统的状态发生了根本性的改变,当前的系统模型已经不适用于实际情况,必须寻找新的模型替代当前的系统模型。

电源管理机部分(即电源管理器)的DPM策略不再是固定的了,一旦系统验证过程结束,新的当前系统模型建立以后,会立即计算出一个优化的DPM策略作为新的DPM策略,电源管理机根据新的策略并结合当前的系统状态发出电源状态转换指令,控制系统进入节电状态。

本发明的DPM模型采用定时器驱动和事件驱动相结合的方式,因为如果单纯采用事件驱动的方式,在每个事件请求的到达时刻计算系统的工作的有关概率分布和验证当前的模式是否与实际状态相符并按相应的电源管理策略采取相关的策略。如果系统长期处于空闲状态,没有服务请求的到达,则计算概率、验证模型和采取相关动作的过程不会发生,系统就会失去关闭部件进入节电模式的机会。通过采取定时器驱动的方式,在每个时间片结束的时候定期计算、验证并发布节电的命令的方式;但是在服务提供者处于完全空闲的时候开始,采取事件驱动的方式,等事件一发生,又转回到定时器驱动的方式。这样的话,本算法不仅适用于硬盘、无线网卡等非关键部件,也可以适用与CPU或内存等关键部件。因为如果单纯采用定时器驱动的话,CPU等部件即使处于空闲状态也有周期性的工作(如周期性计算系统工作的有关概率分布和验证当前的模式是否与实际状态相符并按相应的电源管理策略采取相关的策略),不能处于完全节电的方式。加入了事件驱动的方式后,如果CPU处于完全空闲状态一定时间,系统有理由相信系统已经处于稳态的空闲状态,就停止CPU周期性的工作,发出指令让CPU处于停止工作状态,此刻系统转入事件驱动方式,以最大程度得节约能量。

下面给出一个本发明的系统负载检测和策略优化在Linux下的实现的具体实例。

(1)、系统负载检测,对CPU负载进行获取。系统中CPU负载的大小体现在对CPU的利用率上。一般来说,CPU会处于两种状态下,运行状态与空闲状态。因此,CPU负载的大小可以通过单位时间内CPU处于运行状态下的时间来表征。这个值越高,表明CPU就越繁忙,反之,则表示CPU越空闲。

在操作系统内核中,有一个数据结构对CPU在各个状态时所消耗的时间进行了记录。这个数据结构如下所示:

struct cpu_usage_stat{

  cputime64_t user;

  cputime64_t nice;

  cputime64_t system;

  cputime64_t softirq;

  cputime64_t irq;

  cputime64_t idle;

  cputime64_t iowait;

  cputime64_t steal;

};

里面的各个成员表示CPU处于相应状态下到目前为止所消耗的时间。如user,表示到目前为止,CPU在用户空间所执行的时间,irq表示CPU到目前为止进行中断处理所消耗量时间,system表示CPU到目前为止在系统空间所执行的时间,idle表示CPU到目前为止处于空闲状态的时间,其它的类似。

利用这个数据结构,可以实现对CPU负载的获取。总的思路是:每隔一个单位时间,对cpu_usage_stat里每个成员的值进行统计。从而得出CPU在此单位时间里的负载情况。

(2)、策略优化,由于策略优化算法通过Markov模型算法实现,所述Markov模型算法的具体实现如下:

先定义一个命令集A={ai,i=1,2,…,A}。命令集A中的每一个元素就是电源管理器发出的控制系统运行状态的命令。

服务提供者SP模型用一个二元组(Msp(a),c(s,a))来表示,其中:Msp(a)是一个稳态的可控马尔可夫过程,其状态集S={si,i=1,2,…,S},命令集为A,对应随机矩阵PSP(a),c(s,a)是一个函数c:S×A→IR。

SP模型是一个离散时间可控马尔可夫链,矩阵PSP(a)是它的条件概率矩阵。电能消耗函数c(s,a)包含状态变量s∈S和命令变量a∈A,表示设在状态s时且发出命令a时,在这个时间片内SP的能量消耗,它衡量了电源状态切换的能耗开销。在每个时间片内,服务提供者只能处在其中一个状态。电源管理器通过发出命令导致系统的状态发生转换,但是对命令的响应是非确定性的,SP可能会也可能不会转换到新的状态。很明显,可以将条件概率值指定为1从而得到确定性转换的模型。

对于CPU负载随机模型,状态集S指的就是CPU所提供的操作点集。IntelPentiumM处理器提供了六类操作点,如下表所示,表中最右列表示各个操作点的功率。相应的,有六条命令实现操作点之间的切换,即分别设置CPU处于s1,s2,s3,s4,s5,s6操作点的六条命令,把这些命令分别起名为s_600,s_800,s_1000,s_1200,s_1400和s_1600。这些命令是通过对特殊寄存器的写入实现的。

  Frequency  Voltage  power  1.6GHz(HFM)  1.484V  24.5W  1.4GHz  1.420V  15.0W  1.2GHz  1.276V  11.25W  1.0GHz  1.164V  7.75W  800MHz  1.036V  6.5W  600MHz(LFM)  0.956V  6.0W

在CPU负载随机模型中,把时间片规定为1秒,即每隔一秒进行一次动态电源管理决策并发布相应的CPU操作点切换命令,由于CPU状态转换的速度很快,只有10微秒左右,因此,SP状态的转换一定可以在一个时间片内完成,从而得到CPU操作点间的确定性转换模型。

SP在每个状态下面都有不同的能耗,必须指定在每个状态下面的能耗数值。对于电能消耗函数c(s,a),在CPU负载模型中,在命令a发出的情况下,如果SP保持在同一个状态下面,那么系统的能耗就是这个状态下面的能耗;如果SP由一个状态转换到另一个状态,那么系统的能耗就等于后一个状态下的能耗加上转化能耗,而转化能耗一般跟两个状态能耗差的绝对值成正比。因此规定c(s,a)的计算公式如公式(1)所示。

        ci,j=pj+α|pi-pj|,α为常系数   (1)

服务请求者SR模型可以用一个二元组(MSR,z(r))来表示,其中MSR是一个马尔可夫过程,其状态集R={ri,i=0,1,2,…,(R-1)},对应随机矩阵PSR,z(r)是一个函数z:R→IN。

SR将系统所处的环境抽象成一个状态集为R的马尔可夫链,其转换矩阵为PSR。函数z(r)表示在状态为r时每个时间片内产生的请求的数量。

在CPU负载随机模型中,定义SR的状态为CPU的负载情况,一共有101种情况,由0到100。而服务请求转换矩阵PSR则通过对服务请求序列的统计分析得到。具体而言,使用公式(2)

>>>>p>SR>>>i>,>j>>>=>>>Σ>>f>>i>,>j>>>>>Σ>>f>i>>>>->->->>(>2>)>>>s>

pi,j表示SR由状态i转到状态j的概率,fi,j表示SR由状态i转到状态j的次数,fi表示SR在状态i出现的总频率。例如,假设服务请求序列如下:0,3,5,10,10,10,5,5,7,10,10,10,10,10,5,3,5,11,12,要计算由状态5转换到状态10的概率,可以看到(5,10)序列一共有1个,而5出现了5次,因此 >sup>>p>5.10>SRsup>>=>>1>5>>=>0.20>,>>s>通过这样的计算可以得到整个SR状态转换概率矩阵。

电源管理器PM是一个控制过程,它在每一个周期tn发出命令a∈A给SP。至于发布什么命令,是根据对历史情况Hn的观察得出的,Hn∈(S×R)n

PM从系统搜集状态信息,经过计算得出优化策略后发出命令控制SP。为了了解PM的含义,可以看到集合Hn=(S×R)n包含了n元组(s,r)的所有可能序列。一个普通元素Hn∈Hn代表在n个(从1到tn)时间片里系统的历史情况:Hn=((s1,r1),(s2,r2),…,(sn,rn)),也就是说,包含了从时间t1到时间tn之间系统所有可能的轨迹。

策略就是一系列命令的集合。在每个时间tn,给定Hn,PM发出命令a∈A。A策略可能是确定性的也可能是随机的。如果策略是确定的,在给定时刻tn由系统的历史信息决定了将要发出的命令a∈A,策略是一个函数f:Hn→A。相反,如果策略是随机的,则历史信息不能唯一决定发出的命令a,而是决定命令a的概率分布。也就是说,给定时刻tn的历史Hn,发出命令a的概率被唯一确定,实际发出的命令则按照一定的概率在A中随机挑选。

整个系统可以看作是服务提供者SP、服务请求SR二个马尔可夫链的组合。这样,系统也是一个可控的马尔可夫链,状态是SP,SR的积,它的每个元素是二元组x=(s,r)。状态集是X=S×R,它的每个元素是X=S·R。系统的随机矩阵是x×x维矩阵P(a),是命令a∈A的函数,可以表示为随机矩阵A的集合,每一个对应一个命令。

系统状态可以表示为X=S×R,系统状态转换概率的计算公式(3)如下:

>>>p>>>x>i>>,>>x>j>>>>>(>a>)>>>s>

>>=>prob>>(>>x>j>>=>>(>>s>′>>,>>r>′>>)>>|>>x>i>>=>>(>s>,>r>)>>,>a>)>>>s>

>>=sup>>p>>s>,>>s>′>>>SPsup>>>(>a>)>>·sup>>p>>r>,>>r>′>>>SRsup>>->->->>(>3>)>>>s>

公式表示系统由(s,r)状态发出命令a转换到状态(s’,r’)的概率。

由于SP有6种状态,SR有101种状态,因此,每个P(a)概率矩阵为606×606维矩阵。

策略优化Policy包括:

①马尔可夫决策

一般地,定义决策如下:在时间tn,决策δ(Hn)={pa(Hn),a∈A}是一个函数集,函数pa:Hn→[0,1],并且 >>>Σ>>·>>p>a>>∈>δ>>>>p>a>>>(>>H>n>>)>>=>1>.>>s>简而言之,给定系统的历史Hn,决策δ(Hn)是一个离散概率分布,它与每个命令a∈A对应的pa(Hn)的概率值相关。在一个时间片n的开始,电源管理器根据观察到的历史信息Hn以概率pa(Hn)发出命令a。

δ(Hn)简写成δn。确定性决策是根据观察到的系统历史以概率1发出一个命令,其中仅一个pa(Hn)等于1,其他的都等于0。确定性决策是随机性决策的一个特例。假设在一个时间片[1,2,…]的无限序列,PM采用的决策是一个离散序列[δ(1),δ(2),…],这个序列就是PM的策略π,即优化问题的答案。在每一个ti(i=1,2,…)时刻,总是采取相同决策δ(n)=δ,这样形成的策略称为稳态策略π=[δ,δ,…]。对稳态策略来说,决策δ是系统状态x的函数。当状态x发生改变时,决策δ会随之改变。需要指出的是,一个不变的决策并不意味着每个周期发出同样的命令。一个决策仅仅是对应于一个命令a∈A的概率分布,实际发出的命令是根据决策δ中指定的概率从A中随机选出的。

马尔可夫稳态策略是指决策δ不取决于整个历史Hn而是仅依赖于tn时刻的系统状态x=(s,r)的策略。随机马尔可夫稳态策略可以表示为决策X的集合δx,x∈X(每个元素对应一种状态),等价于S×A矩阵Mπ。Mπ中的一个元素mx,a表示系统状态为x时发出命令a的概率。马尔可夫稳态策略已经不依赖于时间ti(i=1,2,…),而仅依赖于系统状态x。

确定性的马尔可夫稳态策略仍然可以用一个矩阵表示,这个矩阵每行只有一个元素为1,其它元素均为0,而且可以进一步简化成一个S维的向量mπ表示,向量中对应于状态x时的命令。

在DPM随机模型中,电源管理机所执行的决策正是马尔可夫决策,策略优化的目标就是获取一个最优化的马尔可夫稳态策略。

②约束条件

在通常情况下,这些约束是状态x和决策δx的函数,也就是说,取决于在状态x下所采取的决策δx

第一个代价约束是能量消耗水平期望:

>ver>>c>‾>>>(>x>,>>δ>x>>)>>=>>Σ>>>p>a>>∈>>δ>x>>>>>p>a>>c>>(>s>,>a>)>>->->->>(>4>)>>>s>

c(a,s)是当处在状态s时发出命令a的情况下SP的能量消耗。

第二个代价矩阵是单位时间内性能损失d(x),与CPU负载的数量和CPU频率有关。一般地,它与CPU的负载成正比,与CPU的频率成反比,可以表示如下:

>>d>∝>>workload>frequency>>->->->>(>5>)>>>s>

取系数为1,就可以得到性能损耗的计算公式:

>>d>=>>workload>frequency>>->->->>(>6>)>>>s>

这里负载就是SR的状态,频率就是SP状态里面的一个成员。于是一共有606个值:

>>>0>600>>,>>1>600>>,>.>.>.>>100>600>>,>>0>800>>,>.>.>.>>100>800>>,>>0>1000>>,>>1>1000>>,>.>.>.>>100>1000>>.>.>.>.>.>.>>100>1600>>>s>

为了表述方便,定义以下能量消耗向量和性能损失向量:

>>ver>>c>‾>>δ>>:>=> >>ver>>c>‾>>>(>>x>1>>,>>δ>>x>1>>>)>>>>>>·>>>>>·>>>>>·>>>>ver>>c>‾>>>(>>x>X>>,>>δ>xX>>)>>> >>δ>>->->->>(>7>)>>>s>

>>>d>δ>>:>= >>>d>>(>>x>1>>)>>>>>>·>>>>>·>>>>>·>>>>>d>>(>>x>X>>)>>> >>->->->>(>8>)>>>s>

③具体策略优化

策略优化问题可划分为两类问题:在能量消耗约束下的性能优化问题和性能约束下的能量消耗问题。

能量消耗约束下的性能优化问题:将最大平均能量消耗的期望值限定在一个上限值C内,目标函数设为平均性能损失的期望值;

性能约束下的能量消耗优化问题:将最大平均性能损失的期望值限定在一个上限值D内,目标函数设为平均能量消耗的期望值。

由于它们是对称的,下面只讨论第二种情形。

可以用一种较为直观的方式来表达策略优化问题。用公式表示如下:

>>min>>Σ>>x>∈>X> >>Σ>>a>∈>A> >>f>>x>,>a>>>c>>(>x>,>a>)>>>s>

>>s>.>t>.>>Σ>>a>∈>A> >>f>>x>,>a>>>->β>>Σ>>y>∈>X> >>Σ>>a>∈>A> >>p>>y>,>x>>>>(>a>)>>>f>>y>,>a>>>=sup>>p>x>>(>1>)>sup>>,>>s>

>>for>>∈>X>>s>

>>>Σ>>x>∈>X> >>Σ>>a>∈>A> >>f>>x>,>a>>>d>>(>x>)>>≤>D>>s>

>>>f>>x>,>a>>>≥>0>>s>

>>for>>∈>X>,>a>∈>A>->->->>(>9>)>>>s>

fx,a表示在x状态下发出命令a的频率,c(x,a)表示在x状态下发出命令a的能耗,它们相乘加起来就是在各个状态下面的能耗总和。β是“折扣率”,表示系统继续运行的概率。px,x(a)表示系统在状态y发出命令a转换到状态x的概率,p(1)表示系统的初始状态分布,px(1)就是系统初始状态为X的概率。整个式子就表示系统在x状态发出命令a的频率总和,等于初始状态加上系统由其他状态转换到x状态的频率总和。第二条约束表示性能约束。d(x)表示系统在x状态下面的性能损耗,因此这条式子表示系统在各个状态下面总的性能损耗不能超过一个阀值D。最后的约束规定各个状态的频率不能为负数。

对上面的最优化问题,可采取线性规划的方法求解。设得到的解为是fs,a,则通过下面的公式可得到最优策略:

>>>m>>x>,>a>>>=>>>f>>x>,>a>>>>>Σ>>>a>′>>∈>A> >>f>>x>,>>a>′>>>>>>->->->>(>10>)>>>s>

最终的最优策略是一个606×6维矩阵,表示在每个系统状态下面采取各个命令的概率(3)控制器。

在DPM框架中随机模型计算出的优化结果在于为DPM提供最优决策。DPM框架中的负载监控器负责为随机模型提供服务请求数据和其它关于服务提供者的一切信息。而随机模型通过计算产生最优化策略。接着DPM框架根据目前系统的负载和最优化策略对系统发布相应的控制命令。

随机模型的实现流程如附图4所示:

请求序列,来自系统负载监控器的统计数据,作为随机模型实现的输入。服务请求分析对请求序列进行分析,生成相应的SR状态转换矩阵,再与SP状态转换矩阵一起,得到系统转换矩阵,接着,根据上述公式(9),通过计算到最优策略。

模型的求解属于线性规划问题,采用开源项目PCx提供的工具进行求解。PCx是一个基于内点算法的线性规划求解器,与经典的单纯形算法相比,它把求解的时间复杂度从指数级别下降到了多项式级别。因而能够非常有效地计算出带有几千个未知变量的LP问题。

以CPU为研究对象,在一款包含Intel Pentium M处理器的笔记本电脑进行实验,对扩充框架进行评估。获得的实验数据通过Matlab处理后,以坐标图的形式显示。当性能损耗约束取值2.5时,操作点的变化图如附图5所示,可以看出,系统一般运行于800操作点上,当系统负载提升时,系统则主要运行于1400操作点上。

当性能要求不同的,得到的最优策略也将不同,从而得到的变化曲线也不同。

附图6是性能损耗约束为2.3时的操作点变化曲线,可以看出,随着对性能提出的更高的要求,当系统负载提升时,系统通过运行于操作点1600确保了系统有更高的性能。

从对最优策略的求解过程可以看出,应用此框架可以在不同的约束条件下得到不同的最优策略。因此,它提供了一种在性能和能量损耗间取得平衡的机制。通过指定不同的性能要求,可以得到不同的优化策略。

同时,计算表明,性能约束存在着一个临界值,当性能约束比这个临界值还小时,随机模型将无解。性能约束与最小能耗之间是反比例关系,通过输入不同的性能约束的值,可以得到相应的最小能耗。附图7就是它们之间的关系曲线图,这是一条递减的凸函数曲线。

进一步的实验表明,当性能约束达到临界值时,最优策略的结果就是让系统一直运行于最高操作点上,这与系统的实际情形是一致的。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号