一种基于细粒度性能计数器建立系统实时功耗模型的方法

文档序号:6536689阅读:222来源:国知局
一种基于细粒度性能计数器建立系统实时功耗模型的方法
【专利摘要】本发明提供了一种基于细粒度性能计数器建立系统实时功耗模型的方法,包括步骤:预选反映系统运行状态的细粒度性能计数器作为预选特征值集合,通过实验建立所述预选特征值集合与运行时功耗的对应关系以形成多元方程组;采用多元线性回归法针对多元方程组进行模型求解,以得到各性能计数器对功耗的影响系数,从而建立系统的实时功耗模型,并得到对该系统运行时功耗产生实际影响的有效性能特征值集合。
【专利说明】一种基于细粒度性能计数器建立系统实时功耗模型的方法
【技术领域】
[0001]本发明涉及集成电路设计、功耗估计、动态功耗管理、系统软件设计以及系统硬件设计领域,更具体地说,本发明涉及一种基于细粒度性能计数器建立系统实时功耗模型的方法。
【背景技术】
[0002]能耗已经成为制约信息技术发展的重要因素,对计算机系统功耗值的实时获取,是动态功耗管理的前提和关键问题。获取准确的能耗值,是低功耗调度的前提和依据。
[0003]采用直接在系统中添加功耗测量硬件部件的方式,代价较大,并且大部分的系统并不支持。因此,通过建立系统功耗模型,用软件的手段对系统功耗进行精确估计,具有十分现实的意义。
[0004]当前,获取准确的运行时能耗值有2种方法:1)通过硬件传感器;2)通过软件功耗模型进行估算。为每一个节点、每一个部件部署硬件功耗传感器代价昂贵,难以实施;而功耗预测模型尚处于摸索阶段,仅有的几个实验室级的模型的精度普遍在10%左右。比如,参考文献“Xi Chen, Chi Xu, Robert P.Dick, et al.Performance and powermodeling in a mu111-programmed mult1-core environment, Design AutomationConference, 2010:813-818”中提出了一种在线的、支持多核多线程环境的处理器性能和功耗估算方法,该性能模型釆用复用距离直方图、高速缓存访问频率、每个进程的吞吐量和缓存命中率之间的关系来预测系统的吞吐量,系统级功耗模型使用多变量线性回归推导。参考文献 “G.Contreras,M.Martonosi,J.Peng,et al.The XTREM power and performancesimulator for the Intel XScale core:Design and experiences.ACM Transactionson Embedded Computing Systems(TECS),2007,6(I):4”、“Gilberto Contreras, MargaretMartonos1.Power prediction for intel XScale processors using performancemonitoring unit events,International Symposium on Low Power Electronics andDesign,2005:221-226”和“Gilberto Contreras, Margaret Martonosi, Jinzhang Peng,etal.The XTREM power and performance simulator for the Intel XScale core:Designand experiences, ACM Transactions on Embedded Computing Systems (TECS),2007: 4,,的模型中使用了一套功耗权重值,用以将6个硬件性能计数器的值映射到处理器和内存的功耗,功耗权重值是利用参数估计技术得到的,平均误差率为4%。Singh等提出一种基于性能计数器的多程序多核心环境功率估计模型,这种功率模型的建立过程是临时性的,需要用户手动调整模型参数,此外,他们的功耗模型无法处理统一核心上进程之间的时间共享(参见参考文献:Karan Singh, Major Bhadauria,Sally A.McKee.Real timepower estimation and thread scheduling via performance counters, ACM SIGARCHComputer Architecture News,2009:46-55)。W.Lloyd Bircher 等提出使用回归曲线拟合,利用9个性能计数器,得到CPU、内存,芯片组,1/0,磁盘五个子系统的功耗模型,平均误差小于 9% (参见参考文献:Bircher,W.L.and L.K.John.Complete system powerestimation:Atrickle-down approach based on performance events.2007:1EEE)。
[0005]以上模型由于只是用了少量的性能计数器,在反映计算机系统整体功耗方面有所欠缺,因此精度不理想。事实上,以上模型主要使用了 Cache (高速缓存)失效率、内存页故障(page fault),逻辑10 (输入输出)请求的个数、设备10操作数量等少数几个性能计数器。事实上,除以上因素外,还存在其他多种因素对运行时系统的功耗产生影响,对于这些因素的忽略,将会不可避免地影响功耗模型的准确度。由于精度不高,将它们用于功耗调度的结果不理想。

【发明内容】

[0006]本发明所要解决的技术问题是针对现有技术中存在上述缺陷,提供一种基于细粒度性能计数器建立系统实时功耗模型的方法,使用该方法实现的功耗估计软件,可以实时获得高精度的系统功耗值。
[0007]根据本发明,提供了一种基于细粒度性能计数器建立系统实时功耗模型的方法,包括步骤:预选反映系统运行状态的细粒度性能计数器作为预选特征值集合;通过实验建立所述预选特征值集合与运行时功耗的对应关系以形成多元方程组;采用多元线性回归法针对多元方程组进行模型求解,以得到各性能计数器对功耗的影响系数,从而建立系统的实时功耗模型,并得到对该系统运行时功耗产生实际影响的有效性能特征值集合。
[0008]优选地,预选反映系统运行状态的细粒度性能计数器作为预选特征值集合,并通过实验建立所述预选特征值集合与运行时功耗的对应关系以形成多元方程组的步骤包括:
[0009]第一步骤:建立实验环境,其中所述实验环境能够实时记录细粒度性能计数器全集的动态数值和系统总功耗Psystrai ;
[0010]第二步骤:预选反`映主要部件运行状态的细粒度性能计数器,建立预选性能计数器全集Fpreskt作为预选特征值集合;
[0011]第三步骤:进行样本提取,建立多元一次方程组;其中对预选的主要部件所组成的选定系统运行有效的测试激励,同步采样Fpreskt= {fk,k=l, 2,…,m}与系统总功耗Psysw得到足够多的样本,设最终用于模型求解的样本数量为S,建立反映运行时预选性能计数器全集Fpmirt与系统总功耗Psystrai对应关系的多元一次方程组,设Wtl为常数,μ t为第t个样本的估计误差,U= { μ t,t=l, 2,…,s},则多元方程组为:
Psystem — I = Ηδ + ΗΙ * f11 +14? ^ f 21 + ?5 ^ ,31......* fml jT JUl
Psystem _2— W) + VH 承/'l2 + H5 ^ f 22 ~l.H5^ f 32......+ Wm ^ fml + jj2
[0012]I'.'
Psystem_s= VR) + Wi * /"Ii + W2 * f 2s HS * f ls......+ Ws * fm + JUs
[0013]优选地,主要部件包括处理器、内存、磁盘、输入输出部件以及网络通信部件。
[0014]优选地,所述预选反映系统运行状态的细粒度性能计数器作为预选特征值集合,通过实验建立所述预选特征值集合与运行时功耗的对应关系以形成多元方程组的步骤包括:
[0015]第一步骤:建立实验环境,其中所述实验环境能够实时记录细粒度性能计数器全集的动态数值和系统总功耗Psystrai ;
[0016]第二步骤:预选反映系统内所有部件的运行状态的细粒度性能计数器,以建立预选性能计数器全集Fimskt作为预选特征值集合;
[0017]第三步骤:进行样本提取,建立多元一次方程组;其中对预选的主要部件所组成的选定系统运行有效的测试激励,同步采样Fpreskt= {fk,k=l, 2,…,m}与系统总功耗Psysw得到足够多的样本,设最终用于模型求解的样本数量为S,建立反映运行时预选性能计数器全集Fpmirt与系统总功耗Psystrai对应关系的多元一次方程组,设Wtl为常数,μ t为第t个样本的估计误差,U= { μ t,t=l, 2,…,s},则多元方程组为:
【权利要求】
1.一种基于细粒度性能计数器建立系统实时功耗模型的方法,其特征在于包括步骤:预选反映系统运行状态的细粒度性能计数器作为预选特征值集合,通过实验建立所述预选特征值集合与运行时功耗的对应关系以形成多元方程组;采用多元线性回归法针对多元方程组进行模型求解,以得到各性能计数器对功耗的影响系数,从而建立系统的实时功耗模型,并得到对该系统运行时功耗产生实际影响的有效性能特征值集合。
2.根据权利要求1所述的基于细粒度性能计数器建立系统实时功耗模型的方法,其特征在于,所述预选反映系统运行状态的细粒度性能计数器作为预选特征值集合,通过实验建立所述预选特征值集合与运行时功耗的对应关系以形成多元方程组的步骤包括: 第一步骤:建立实验环境,其中所述实验环境能够实时记录细粒度性能计数器全集的动态数值和系统总功耗Psystail ; 第二步骤:预选反映主要部件运行状态的细粒度性能计数器,建立预选性能计数器全集Fimskt作为预选特征值集合; 第三步骤:进行样本提取,建立多元一次方程组;针对所有部件运行有效的测试激励,同步采样Fpreskt= {fk,k=l, 2,…,m}与系统总功耗Psysw得到足够多的样本,设最终用于模型求解的样本数量为s,建立反映运行时预选性能计数器全集Fpreslrf与系统总功耗Psystrai对应关系的多元一次方程组,设Wtl为常数,μ t为第t个样本的估计误差,U= { μ t, t=l, 2,…,s},则多元方程组为:
3.根据权利要求1或2所述的基于细粒度性能计数器建立系统实时功耗模型的方法,其特征在于,主要部件包括处理器、内存、磁盘、输入输出部件以及网络通信部件。
4.根据权利要求1所述的基于细粒度性能计数器建立系统实时功耗模型的方法,其特征在于,所述预选反映系统运行状态的细粒度性能计数器作为预选特征值集合,通过实验建立所述预选特征值集合与运行时功耗的对应关系以形成多元方程组的步骤包括: 第一步骤:建立实验环境,其中所述实验环境能够实时记录细粒度性能计数器全集的动态数值和系统总功耗Psystail ; 第二步骤:预选反映系统内所有部件的运行状态的细粒度性能计数器,以建立预选性能计数器全集Fpreskt作为预选特征值集合; 第三步骤:进行样本提取,建立多元一次方程组;其中对预选的主要部件所组成的选定系统运行有效的测试激励,同步采样Fpreslrt= {fk,k=l, 2,…,m}与系统总功耗Psysw得到足够多的样本,设最终用于模型求解的样本数量为s,建立反映运行时预选性能计数器全集Fpreslct与系统总功耗Psysteail对应关系的多元一次方程组,设Wtl为常数,μ t为第t个样本的估计误差,U= { μ t,t=l, 2,…,s},则多元方程组为:
5.根据权利要求2或4所述的基于细粒度性能计数器建立系统实时功耗模型的方法,其特征在于,所述采用多元线性回归法针对多元方程组进行模型求解,以得到各性能计数器对功耗的影响系数,从而建立系统的实时功耗模型,并得到对该系统运行时功耗产生实际影响的有效性能特征值集合的步骤包括: 第四步骤:执行模型求解,其中通过多元线性回归的方法进行模型求解,使得误差平方

【文档编号】G06F19/00GK103761393SQ201410033085
【公开日】2014年4月30日 申请日期:2014年1月23日 优先权日:2014年1月23日
【发明者】程华, 陈左宁, 朱建涛, 贾家涛, 王礼生, 王明扬, 李超, 董国良, 程来旺, 张超容, 夏志禹 申请人:无锡江南计算技术研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1