CN102426662A - 一种嵌入式软件体系结构级能耗建模方法 - Google Patents
一种嵌入式软件体系结构级能耗建模方法 Download PDFInfo
- Publication number
- CN102426662A CN102426662A CN2011103489730A CN201110348973A CN102426662A CN 102426662 A CN102426662 A CN 102426662A CN 2011103489730 A CN2011103489730 A CN 2011103489730A CN 201110348973 A CN201110348973 A CN 201110348973A CN 102426662 A CN102426662 A CN 102426662A
- Authority
- CN
- China
- Prior art keywords
- energy consumption
- latent
- neural network
- value
- average
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公布了一种嵌入式软件体系结构级能耗建模方法。该方法首先对5个体系结构级软件特征量(有效代码行数LOC、构件数量TC、平均构件接口复杂度Rc、平均路径复杂度Rp、平均构件耦合度CF)进行度量,对度量值进行预处理后作为BP神经网络的输入值,同时通过功耗仿真实验平台HMSim获取样本程序的能耗值E作为BP神经网络的输出值,然后确定BP神经网络的具体结构,包括隐层数、隐层节点数、隐层传递函数和输出层传递函数,对BP神经网络进行训练得到BP神经网络隐层的权值和阈值,最后得到BP神经网络的能耗预测值,再与目标程序的实际能耗值进行对比。通过实验得出该方法的平均误差保持在20%的范围内,说明以软件特征量为基础的嵌入式软件体系结构级能耗建模方法是有效的。
Description
所属技术领域
本发明涉及嵌入式软件能耗优化技术领域,尤其是涉及一种嵌入式软件体系结构级能耗建模方法。
背景技术
目前,嵌入式系统在信息家电、智能控制、军事电子等领域得到了广泛的应用。截止2009年底,全世界嵌入式设备的保有量超过了40亿台,且数量继续呈快速增长的势头,每年电力消耗达到1000亿千瓦时以上。在全球倡导“低碳经济”的背景下,嵌入式系统的能耗是一个日益引起人们关注的热点问题,成为嵌入式系统设计的重要考量因素。
国内外在嵌入式软件能耗建模的研究成果有T.K.Tan提出了一种使用基于特性的宏模型分析、计算软件能耗的方法,该方法以目标处理器能耗模型刻画函数级能耗,然后根据函数刻画整个软件的宏模型,从而对软件的能耗进行评估,并提出了一种体系结构转换的方法,从体系结构的角度对嵌入式软件的能耗进行优化,但该模型采用线性回归方法,在面对多种输入时模型不具有通用性,另外模型的准确性不够稳定;Lee等描述了一种基于进程代数的形式化框架,对能源受限的实时系统进行建模与分析;Eric Senn等针对具体的体系结构建模语言AADL(the Architecture Analysis & Design Language),提出了基于AADL模型的嵌入式系统能耗评估精化方法;张滕滕等提出了一种基于CSP(Communicating SequentialProcess)进程代数语言的能耗模型,该模型以接口为基本研究对象,并对系统的最大、最小和平均能耗进行了定义,但文章缺乏对该模型有效性的验证;陈丽琼等提出了一种能耗时延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神经网络作为函数逼近工具,在软件特征量为基础的体系结构能耗建模过程中,能够有效地反映软件特征量与软件能耗的非线性关系。
Claims (1)
1.一种嵌入式软件体系结构级能耗建模方法,其特征在于该方法的步骤如下:
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神经网络中,得到能耗预测值,再与目标程序的实际能耗值进行对比,验证建模方法的有效性。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110348973.0A CN102426662B (zh) | 2011-11-08 | 2011-11-08 | 一种嵌入式软件体系结构级能耗建模方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110348973.0A CN102426662B (zh) | 2011-11-08 | 2011-11-08 | 一种嵌入式软件体系结构级能耗建模方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102426662A true CN102426662A (zh) | 2012-04-25 |
CN102426662B CN102426662B (zh) | 2014-02-26 |
Family
ID=45960641
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110348973.0A Expired - Fee Related CN102426662B (zh) | 2011-11-08 | 2011-11-08 | 一种嵌入式软件体系结构级能耗建模方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102426662B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104268276A (zh) * | 2014-10-16 | 2015-01-07 | 福建师范大学 | 一种基于规则的软件体系结构层性能优化模型的建模方法 |
CN104407972A (zh) * | 2014-11-21 | 2015-03-11 | 昆明理工大学 | 一种基于改进神经网络的嵌入式软件能耗测试方法 |
CN106326919A (zh) * | 2016-08-16 | 2017-01-11 | 西北农林科技大学 | 一种基于bp神经网络的生猪行为分类方法 |
CN110429584A (zh) * | 2019-07-10 | 2019-11-08 | 唐山钢铁集团有限责任公司 | 一种采用Petri网建立电耗系统预测模型的方法 |
CN113239599A (zh) * | 2021-06-15 | 2021-08-10 | 江苏理工学院 | 基于bp神经网络的智能轮胎磨损寿命预估方法及装置 |
CN113722239A (zh) * | 2021-11-01 | 2021-11-30 | 南昌航空大学 | 机载嵌入式软件质量检测方法、装置、介质及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050039040A1 (en) * | 2003-03-31 | 2005-02-17 | Ransom Douglas S. | System and method for seal tamper detection for intelligent electronic devices |
CN1766848A (zh) * | 2005-11-08 | 2006-05-03 | 北京大学 | 基于模拟器的嵌入式软件运行时能耗估算方法 |
CN102004644A (zh) * | 2010-12-16 | 2011-04-06 | 四川大学 | 一种嵌入式软件源程序结构级能耗优化评价方法 |
-
2011
- 2011-11-08 CN CN201110348973.0A patent/CN102426662B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050039040A1 (en) * | 2003-03-31 | 2005-02-17 | Ransom Douglas S. | System and method for seal tamper detection for intelligent electronic devices |
CN1766848A (zh) * | 2005-11-08 | 2006-05-03 | 北京大学 | 基于模拟器的嵌入式软件运行时能耗估算方法 |
CN102004644A (zh) * | 2010-12-16 | 2011-04-06 | 四川大学 | 一种嵌入式软件源程序结构级能耗优化评价方法 |
Non-Patent Citations (1)
Title |
---|
曹东等: "构件化嵌入式软件设计的能耗性质分析与验证", 《南京理工大学学报》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104268276A (zh) * | 2014-10-16 | 2015-01-07 | 福建师范大学 | 一种基于规则的软件体系结构层性能优化模型的建模方法 |
CN104268276B (zh) * | 2014-10-16 | 2017-08-01 | 福建师范大学 | 一种基于规则的软件体系结构层性能优化模型的建模方法 |
CN104407972A (zh) * | 2014-11-21 | 2015-03-11 | 昆明理工大学 | 一种基于改进神经网络的嵌入式软件能耗测试方法 |
CN106326919A (zh) * | 2016-08-16 | 2017-01-11 | 西北农林科技大学 | 一种基于bp神经网络的生猪行为分类方法 |
CN110429584A (zh) * | 2019-07-10 | 2019-11-08 | 唐山钢铁集团有限责任公司 | 一种采用Petri网建立电耗系统预测模型的方法 |
CN113239599A (zh) * | 2021-06-15 | 2021-08-10 | 江苏理工学院 | 基于bp神经网络的智能轮胎磨损寿命预估方法及装置 |
CN113722239A (zh) * | 2021-11-01 | 2021-11-30 | 南昌航空大学 | 机载嵌入式软件质量检测方法、装置、介质及电子设备 |
CN113722239B (zh) * | 2021-11-01 | 2022-01-25 | 南昌航空大学 | 机载嵌入式软件质量检测方法、装置、介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN102426662B (zh) | 2014-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102426662B (zh) | 一种嵌入式软件体系结构级能耗建模方法 | |
Dobos et al. | Advances in CSP simulation technology in the System Advisor Model | |
CN105719059B (zh) | 光伏发电系统置信容量评估方法 | |
Liang et al. | A combined model based on CEEMDAN, permutation entropy, gated recurrent unit network, and an improved bat algorithm for wind speed forecasting | |
CN103106314A (zh) | 太阳能光伏电源输出功率的时序概率建模方法 | |
He et al. | Analysis of design strategy of energy efficient buildings based on databases by using data mining and statistical metrics approach | |
CN103455362A (zh) | 一种硬件语言自动转换系统 | |
CN1438593A (zh) | 智能电器专用芯片的设计方法 | |
CN105939026A (zh) | 基于混合Laplace分布的风电功率波动量概率分布模型建立方法 | |
CN101881995A (zh) | 一种针对arm指令集的层次分类功耗测量方法 | |
CN105426282A (zh) | 优化数字芯片验证平台测试用例回归次数的方法 | |
CN102004679A (zh) | 一种基于马尔科夫链的构件化嵌入式软件能耗估算模型 | |
Gong et al. | A new solution for stochastic optimal power flow: combining limit relaxation with iterative learning control | |
Kim et al. | A Verification of the Accuracy in BIM-Based Quantity Taking-Off-Focusing on Finishing Work | |
Li et al. | Rapid prediction and evaluation of COVID-19 epidemic in the United States based on feature selection and improved ARIMAX model | |
Zheng et al. | Iterative learning based adaptive traffic signal control | |
CN105116721A (zh) | 基于最小二乘的水箱系统辨识方法 | |
Wang et al. | Research on construction project cost prediction model based on recurrent neural network | |
Parehkar et al. | Auto-Calibration and Optimization of Large-Scale Water Resources Systems | |
Gou et al. | M5 based edge architecture modeling | |
He et al. | Design of energy consumption monitoring system of public buildings based on artificial neural network | |
Cisty et al. | Support vector machine based model for water content in soil interpolation | |
张玉兰 et al. | Rainfall forecast accuracy evaluation method for flood control demand | |
CN207123354U (zh) | 一种钢铁企业具有氧气管网压力预测功能的压力检测系统 | |
Huowen et al. | Study on evaluation method of energy consumption in computer system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140226 Termination date: 20141108 |
|
EXPY | Termination of patent right or utility model |