当前位置: 首页 > 专利查询>四川大学专利>正文

一种基于复杂度的嵌入式软件功耗BP神经网络建模方法技术

技术编号:3825488 阅读:348 留言:0更新日期:2012-04-11 18:40
本发明专利技术公布了一种基于复杂度的软件功耗BP神经网络建模方法。提供了一种新的方法和技术用于准确、快速地预测软件功耗,为相应的功耗优化研究和开发工作提供数据基础。本发明专利技术从算法级分析软件功耗与软件特征的关联关系,对嵌入式软件的时间复杂度、空间复杂度和输入规模三个特征进行了度量,建立一种基于算法复杂度的嵌入式软件功耗宏模型。然后,设计、训练一种具有n个隐层节点的单隐层三层BP神经网络,用于实现功耗函数逼近。本发明专利技术建立的基于复杂度的软件功耗BP神经网络宏模型,相比与其他人建立的线性函数功耗宏模型,功耗预测的精度和实用性得到了较大提升,预测误差在10%以内。附图是本发明专利技术整个系统工作的流程图。

【技术实现步骤摘要】

本专利技术涉及嵌入式软件功耗优化
,尤其是涉及一种基于复杂度的嵌入式软件功 耗BP祌经网络建模方法。
技术介绍
目前在国家提倡"节能减排"的背景下,嵌入式系统的功耗是一个日益引起人们关注的 热点问题,己受到各级政府部门和业内软/硬件开发商的高度重视。嵌入式计算机系统(简称嵌入式系统)是典型的软件驱动执行的系统,从其组成分析, 嵌入式软件的运行驱动了低层微处理器、总线、Cache、存储器和I/0接口等硬件的电路活动, 导致了系统功耗的产生,因此,嵌入式软件是产生系统功耗的"主动"因素和"活跃"因素, 这也是嵌入式软件功耗的本质含义。嵌入式软件的功耗优化设计是研究在一定性能(如速度、吞吐量、实时性、可靠性、防 危性、可信性、成本等)约束下嵌入式软件的功耗优化(功耗降低或功耗最小化)问题,属 于静态功耗优化技术,包括功耗仿真、功耗建模、功耗估计、功耗降低、功耗评价以及相应 支持工具开发等内容,是软件运行时开展动态功耗管理(DPM: Dynamic Power Management) 和RTOS功耗相关任务调度(Power-aware Task Scheduling)的基础。其巾,功耗建模主要是 从软件本身影响其功耗的相关因素(即软件设计特征)角度,深入分析了软件功耗的构成及 形成机理,建立功耗与关联因素的关系模型。嵌入式软件功耗模型通常可以分为以下四类1) 基于硬i牛性能i十数器的功耗模型(Hardware performance counter-based power model): 由于多数现代微处理器中都嵌入了可编程的计数器,通过监控系统发生的事件,能够用于测 量微处理器的性能,因而进一步可用于软件的功耗分析与优化。2) 指令级的功耗模型(Instruction-level power model):又称为低层模型或微模型 (Micro-model),通过对微处理器的每条汇编指令以及指令对(Instruction pair)进行功耗测量,实现汇编语言程序级的功耗分析与估计,同时,通过编译时产生的符号表信息也能够部 分实现对高级语言程序的功耗分析与优化。3) 基于特征的宏模型(Characterization-based macro-model):又称为高层模型,针对高 级语言程序(如C、 0++和^^等)的函数或子程序,采用回归拟合方法建立功耗与软件的 某些相关高层度量特征(如算法复杂度或基于路径的基本块关联信息(Trace-based basic-block correlation information))之间的关联模型,能够快速地对软件的功耗进行分析与估计。这是 当前软件功耗建模的一个主要方向, 一些研究者根据具体的研究问题提出了明确的功耗函数关系,如二元线性函数关系。4)基于微结构级仿真的功耗模型(Architectural level simulation-based power model):针 对特定结构的微处理器,采用周期精确的全功能微结构级功耗仿真器(Cycle-accurate fUll-fUnction power simulator),如Wattch和Soft Watt ,对软件的功耗进行测量和估计,从而为 软件的功耗分析与优化提供基础数据。目前,针对嵌入式软件的功耗分析与建模技术,为了提高功耗估计的速度,宏模型一般 使用简单的二元线性函数。从理论上看,假设软件功耗与软件高层度量特征之间的关联关系是线性回归函数关系,缺乏充分的依据;从实践上看,线性函数拟合功耗函数关系,虽然模型简单,估计速度较快,但功耗估计值误差也较大(一般在20%以内),许多情况下不能满足 实际工程需要。两方面综合分析,嵌入式软件功耗函数更可能是一个非线性函数。
技术实现思路
本专利技术的目的在于提供了一种基于算法复杂度的嵌入式软件功耗BP神经网络建模方法。本专利技术解决其技术难题所采用的技术方案的步骤如下1) 度量算法复杂度的特征量嵌入式软件功耗在算法层次上与算法复杂度密切相关,本专利技术抽取出算法复杂度的下列 三个特征量进行度量*时间复杂度Os度量选择算法的平均时间复杂度作为时间复杂度的计算依据。 *空间复杂度&度量选择算法在其运行期间辅助变量所申请空间总量作为空间复杂 度的计算依据。*输入规模&度量输入规模的度量方法一般受算法的操作细节影响,不同的具体算 法有不同的度量方法,如对于一个英文字符拼写检査算法,统计输入中词或者字符 的数量作为输入规模的度量;对于排序、査找列表的最小元素等与列表有关的算法, 列表的长度是该算法的输入规模;而一个"次多项式p^=^x"+…+"。求值的问题, 输入规模是多项式的次数,或者是多项式系数的个数。2) 建立基于算法复杂度的软件功耗模型 通过如下公式得到嵌入式软件的功耗<formula>formula see original document page 5</formula>其中」&表示软件的功耗, i^表示软件的平均功率,说明书第3/7页rs表示软件的运行时间,Cs表示功耗相关的算法复杂度的特征量,/表示软件功率与算法复杂度的特征量的关联函数(简称功耗函数)。由于A =/(CU s,/,),为确定功耗函数/,本专利技术采用BP (Back-Propagation反向传播)祌经网络(简称BP网络)拟合,实现功耗函数逼近。 3) BP网络的功耗函数逼近BP网络是将W-H学习规则一般化,对非线性可微分函数进行权值训练的多层网络。本 专利技术采用具有"个隐层节点的单隐层三层BP网络,使用输入矢量O,, Ss, /,和相应的输出矢量^样本集训练BP网络,逼近功耗函数/,包括以下步骤*隐层数的确定使用单隐层的BP网络。 *节点数的确定根据如下经验公式选择隐层节点数n;, q = V +附+ a ,其中,"=3为输入节点个数,w-l为输出节点个数,a为l到10之间的常数,因此, 取值范围为3 12。*各层函数的确定BP网络训练中隐层传递函数使用tansig函数,输出层传递函数使 用purelin函数。* BP网络的训练与构造通过功耗仿真实验平台HMSim获得软件功耗实验数据,用 于训练、构造BP网络,确定各层的权值和阈值,形成一个训练好的BP网络模型, 从而逼近功耗函数/,使该BP网络能够在一定输入规模下产生相应期望户5的输出。本专利技术与
技术介绍
相比,具有的有益效果是1) 精确性本专利技术建立的基于复杂度的软件功耗BP网络宏模型,相比与其他人建立的 线性函数功耗宏模型,功耗预测的精度得到了较大提升,预测误差在10%以内。2) 实用性可用于快速预测(或估算)软件算法在一定输入规模情况下的功耗值,为开展相应的功耗优化研究和开发工作打下坚实的数据基础。 附图说明图l是本专利技术整个系统工作的流程图。图2是本专利技术BP网络结构图。 具体实施例方式下面结合附图和实例对本专利技术作进一步的说明。61)度量算法复杂度的特征量嵌入式软件功耗在算法层次上与算法复杂度密切相关,本专利技术抽取出算法复杂度的下列 三个特征量进行度量*时间复杂度Os度量选择算法的平均时间复杂度作为时间复杂度的计算依据,并将 算法的平均时间复杂度Of>7)、 CY7og^、 CYwZo本文档来自技高网
...

【技术保护点】
一种基于复杂度的嵌入式软件功耗BP神经网络建模方法,其特征在于该方法的步骤如下: 1)度量算法复杂度的特征量 嵌入式软件功耗在算法层次上与算法复杂度密切相关,本专利技术抽取出算法复杂度的下列三个特征量进行度量: ●时间复杂度O ↓[S]度量:选择算法的平均时间复杂度作为时间复杂度的计算依据; ●空间复杂度S↓[S]度量:选择算法在其运行期间辅助变量所申请空间总量作为空间复杂度的计算依据; ●输入规模I↓[S]度量:输入规模的度量方法一般受算法的操作细节 影响,不同的具体算法有不同的度量方法,如对于一个英文字符拼写检查算法,统计输入中词或者字符的数量作为输入规模的度量;对于排序、查找列表的最小元素等与列表有关的算法,列表的长度是该算法的输入规模;而一个n次多项式p(x)=a↓[n]x↑[n]+…+a↓[0]求值的问题,输入规模是多项式的次数,或者是多项式系数的个数; 2)建立基于算法复杂度的软件功耗模型 通过如下公式得到嵌入式软件的功耗: E↓[S]=P↓[S]×T↓[S]=f(C↓[S])×T↓[S]=f( O↓[s],S↓[s],I↓[s])×T↓[S] 其中: E↓[S]表示软件的功耗, P↓[S]表示软件的平均功率, TS表示软件的运行时间, C↓[S]表示功耗相关的算法复杂度的特征量, f表示软件功率 与算法复杂度的特征量的关联函数(简称功耗函数), 由于P↓[S]=f(O↓[s],S↓[s],I↓[s]),为确定功耗函数f,本专利技术采用BP(Back-Propagation反向传播)神经网络(简称BP网络)进行拟合,实现功耗函数逼近 ; 3)BP网络的功耗函数逼近 BP网络是将W-H学习规则一般化,对非线性可微分函数进行权值训练的多层网络;本专利技术采用具有n个隐层节点的单隐层三层BP网络,使用输入矢量O↓[s],S↓[s],I↓[s]和相应的输出矢量PS样本集 训练BP网络,逼近功耗函数f,包括以下步骤: ●隐层数的确定:使用单隐层的BP网络; ●节点数的确定:根据如下经验公式选择隐层节点数n↓[1], *** 其中,n=3为输入节点个数,m=1为输出节点个数,a为1到10 之间的常数,因此,n1取值范围为3~12; ●各层函数的确定:BP网络训练中隐层传递函数使用tansig函数,输出层传递函数使...

【技术特征摘要】

【专利技术属性】
技术研发人员:郭兵沈艳李奇任磊罗刚廖海艳朱建周雪梅李冉曾蜀芳
申请(专利权)人:四川大学
类型:发明
国别省市:90[中国|成都]

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

1
相关领域技术
  • 暂无相关专利