首页> 中国专利> 一种嵌入式软件体系结构级能耗建模方法

一种嵌入式软件体系结构级能耗建模方法

摘要

本发明公布了一种嵌入式软件体系结构级能耗建模方法。该方法首先对5个体系结构级软件特征量(有效代码行数LOC、构件数量TC、平均构件接口复杂度Rc、平均路径复杂度Rp、平均构件耦合度CF)进行度量,对度量值进行预处理后作为BP神经网络的输入值,同时通过功耗仿真实验平台HMSim获取样本程序的能耗值E作为BP神经网络的输出值,然后确定BP神经网络的具体结构,包括隐层数、隐层节点数、隐层传递函数和输出层传递函数,对BP神经网络进行训练得到BP神经网络隐层的权值和阈值,最后得到BP神经网络的能耗预测值,再与目标程序的实际能耗值进行对比。通过实验得出该方法的平均误差保持在20%的范围内,说明以软件特征量为基础的嵌入式软件体系结构级能耗建模方法是有效的。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-12-23

    未缴年费专利权终止 IPC(主分类):G06N3/08 授权公告日:20140226 终止日期:20141108 申请日:20111108

    专利权的终止

  • 2014-02-26

    授权

    授权

  • 2012-06-06

    实质审查的生效 IPC(主分类):G06N3/08 申请日:20111108

    实质审查的生效

  • 2012-04-25

    公开

    公开

说明书

所属技术领域

本发明涉及嵌入式软件能耗优化技术领域,尤其是涉及一种嵌入式软件体系结构级能耗 建模方法。

背景技术

目前,嵌入式系统在信息家电、智能控制、军事电子等领域得到了广泛的应用。截止 2009年底,全世界嵌入式设备的保有量超过了40亿台,且数量继续呈快速增长的势头,每 年电力消耗达到1000亿千瓦时以上。在全球倡导“低碳经济”的背景下,嵌入式系统的能 耗是一个日益引起人们关注的热点问题,成为嵌入式系统设计的重要考量因素。

国内外在嵌入式软件能耗建模的研究成果有T.K.Tan提出了一种使用基于特性的宏模 型分析、计算软件能耗的方法,该方法以目标处理器能耗模型刻画函数级能耗,然后根据函 数刻画整个软件的宏模型,从而对软件的能耗进行评估,并提出了一种体系结构转换的方 法,从体系结构的角度对嵌入式软件的能耗进行优化,但该模型采用线性回归方法,在面对 多种输入时模型不具有通用性,另外模型的准确性不够稳定;Lee等描述了一种基于进程代 数的形式化框架,对能源受限的实时系统进行建模与分析;Eric Senn等针对具体的体系结 构建模语言AADL(the Architecture Analysis & Design Language),提出了基于AADL模型 的嵌入式系统能耗评估精化方法;张滕滕等提出了一种基于CSP(Communicating Sequential  Process)进程代数语言的能耗模型,该模型以接口为基本研究对象,并对系统的最大、最小 和平均能耗进行了定义,但文章缺乏对该模型有效性的验证;陈丽琼等提出了一种能耗时延 Petri网(ECTPN),对系统的模块、任务、任务间关系、通信协议等进行建模,分析系统的 可调度性和能耗约束,并给出启发式算法计算满足时间约束和能耗约束的可行调度;赵霞等 提出了一种嵌入式操作系统能耗量化分析方法,利用微体系结构能耗模型估算单时钟周期指 令能耗,同时提出基于软件功能结构的操作系统内核能耗估算模型,估算分析内核执行路 径、服务、例程、原子函数的能耗,发现操作系统内核中显著影响系统能耗的关键软件模块 及其特征。

对嵌入式软件功耗的研究已经成为嵌入式研究领域的研究者所关注的焦点,但上述大多 数研究仍然停留在指令级、源程序结构级和算法级的能耗分析与估算上,对更高层次的体系 结构级的能耗分析与估算的研究还较少。本发明从嵌入式软件体系结构层面中提取出有效代 码行数、构件数目、平均构件接口复杂度、平均路径复杂度和平均构件耦合度5个体系结构 级软件特征量,并假设这些软件特征量与软件能耗存在非线性函数关系,以此为基础建立了 一种嵌入式软件体系结构级能耗建模方法。该建模方法分析了上述软件特征量影响嵌入式软 件能耗的过程,给出了具体的度量方法,并使用BP神经网络拟合出软件特征量与嵌入式软 件能耗的非线性函数关系。通过实验验证,模型预测值与实际能耗值的误差在20%以内,说 明了方法的有效性,同时也证明了体系结构级软件特征量与嵌入式软件能耗之间存在非线性 关系的假设是合理的。

发明内容

本发明的目的在于提供一种嵌入式软件体系结构级能耗建模方法。

本发明解决其技术难题所采用的技术方案的步骤如下:

1)对大量样本程序的5个体系结构级软件特征量(有效代码行数LOC、构件数量TC、平 均构件接口复杂度Rc、平均路径复杂度Rp、平均构件耦合度CF)分别进行度量。

2)对5个软件特征量的度量值进行预处理,处理后的值作为BP神经网络的输入值。

3)在功耗仿真实验平台HMSim上运行样本程序,获得样本程序的能耗值E,E将作为 BP神经网络的输出值。

4)确定BP神经网络的具体结构,包括隐层数、隐层节点数、隐层传递函数和输出层传 递函数。

●隐层数的确定:隐层数多少决定了网络误差,但过多的隐层数会导致网络复杂化,增 加网络训练时间和“过拟合”的倾向。单隐层的BP神经网络可以逼近任何在闭区间 内的连续函数,一个三层的BP网络可完成任意的n维到m维的映射。因此,隐层数 确定为1。

●隐层节点数的确定:BP神经网络中,隐层节点数对BP网络性能影响巨大,但目前 理论上还缺乏科学的和普遍的方法用于隐层节点数的确定。一般采用以下经验公式确 定隐层节点数n1:其中,n为输入层节点数,m为输出层节点数,a 为1到10之间的常数。对应到体系结构级能耗模型中,输入层包括有效代码行数、 构件数量、平均构件接口复杂度、平均路径复杂度和平均构件耦合度5个输入量,因 此,输入层节点数为5,输出层为平均功耗输出层节点数为1。因此,n1的取值 范围为3-12。

●隐层传递函数和输出层传递函数的确定:针对单隐层BP神经网络,输入层和隐层传 递函数一般采用tansig函数,输出层传递函数一般采用purelin函数。通过多组实验 可以发现,Trainlm函数在隐层节点数为11的时候,其收敛速度和逼近误差都能达到 令人满意的效果。因此,BP神经网络的训练函数使用Trainglm,训练函数的隐层结 点数为11。

5)输入样本程序软件特征量度量值和能耗值对BP神经网络进行训练,通过训练确定BP 神经网络隐层的权值和阈值。

6)输入目标程序的特征量到训练好的BP神经网络中,得到能耗预测值,再与目标程序 的实际能耗值进行对比,验证该建模方法的有效性。

附图说明

图1三组目标数据与模型预测值对比图。

具体实施方式

为了验证嵌入式软件体系结构级能耗建模方法的有效性,本发明采用三组总共27个目标 程序对其进行验证,这些程序中包含了较为常用的和较复杂的MP3文件解码程序。27个目 标程序的有效代码行数、构件数量、平均构件接口复杂度、平均路径复杂度和平均构件耦合 度等5个软件特征量的具体数值如表1所示:

表1(a)第一组目标程序软件特征量值

表1(b)第二组目标程序软件特征量值

表1(c)第三组目标程序软件特征量值

从图1中可以看出第一组目标数据的模型预测的能耗值与实际能耗值的最大误差为 33.4%,最小误差为3.1%,其平均误差为17.6%;第二组目标数据的模型预测值和实际能耗 值的最大误差为17%,最小误差为1.2%,平均误差为7.4%;第三组目标数据的模型预测值 与实际能耗值最大误差为31.7%,最小误差为4.9%,平均误差为13.4%。

通过对实验数据进行分析,可以得出以下几点结论:以软件特征量为基础的体系结构级 能耗建模方法是有效的。该建模方法的平均误差保持在20%的范围内,对于处于软件体系中 最高层次的软件体系结构来说,误差属于可以接受的范畴之内;证明了五个体系结构级软件 特征量(有效代码行数,构件数,构件平均接口复杂度,平均路径复杂度和构件平均耦合度) 与嵌入式软件能耗之间存在非线性关系的假设的合理性;验证了五个体系结构级软件特征量 的度量方法是有效的。说明有效代码行数,构件数,构件平均接口复杂度,平均路径复杂度 和构件平均耦合度可以作为从体系结构级分析软件能耗的性能指标;BP神经网络作为函数逼 近工具,在软件特征量为基础的体系结构能耗建模过程中,能够有效地反映软件特征量与软 件能耗的非线性关系。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号