CN114417733A - 构建功耗预测模型的方法、装置、电子设备及存储介质 - Google Patents

构建功耗预测模型的方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN114417733A
CN114417733A CN202210111757.2A CN202210111757A CN114417733A CN 114417733 A CN114417733 A CN 114417733A CN 202210111757 A CN202210111757 A CN 202210111757A CN 114417733 A CN114417733 A CN 114417733A
Authority
CN
China
Prior art keywords
power consumption
processor
performance events
model
value
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.)
Pending
Application number
CN202210111757.2A
Other languages
English (en)
Inventor
贾凡
邢金璋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Loongson Technology Corp Ltd
Original Assignee
Loongson Technology Corp Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Loongson Technology Corp Ltd filed Critical Loongson Technology Corp Ltd
Priority to CN202210111757.2A priority Critical patent/CN114417733A/zh
Publication of CN114417733A publication Critical patent/CN114417733A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/27Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • G06F17/12Simultaneous equations, e.g. systems of linear equations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/231Hierarchical techniques, i.e. dividing or merging pattern sets so as to obtain a dendrogram
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2115/00Details relating to the type of the circuit
    • G06F2115/10Processors

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Operations Research (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Computer Hardware Design (AREA)
  • Geometry (AREA)
  • Probability & Statistics with Applications (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明实施例提供了一种构建功耗预测模型的方法、装置以及存储介质,其中的方法包括:运行训练程序集中的各训练程序,并记录每个训练程序的运行数据,运行数据包括运行每个训练程序时每个预置性能事件的计数值、运行每个训练程序时处理器的功耗值、以及每个训练程序的运行时长;根据每个训练程序的运行数据以及预设的模型规模n进行迭代计算,在迭代终止条件到达时,得到从所述预置性能事件中选出的n个目标性能事件以及所述n个目标性能事件对应的模型参数;根据所述n个目标性能事件以及所述n个目标性能事件对应的模型参数,构建功耗预测模型。通过本发明实施例,可以在不增加硬件单元的基础上及时并准确地获取处理器的功耗值。

Description

构建功耗预测模型的方法、装置、电子设备及存储介质
技术领域
本发明涉及通信技术领域,特别是涉及一种构建功耗预测模型的方法、一种构建功耗预测模型的装置、一种电子设备以及一种存储介质。
背景技术
功耗是目前处理器设计中重要考虑的因素之一。虽然可以通过减少时钟频率来降低处理器功耗。然而,一味降低时钟频率并不能真正达到降低功耗的目的,因为低频下的运行可能导致系统处理任务的时长增加,反而从整体上增加了功耗。
动态电压频率调节(Dynamic Voltage and Frequency Scaling,DVFS)是一种低功耗技术,根据芯片的实际功耗设定工作电压和时钟频率,既可以保证提供的功率满足要求又不会导致性能过剩,从而可以降低功耗。
为了使用DVFS技术降低处理器功耗,如何及时并准确地获取处理器的功耗值,成为目前亟待解决的问题。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种构建功耗预测模型的方法、电子装置、设备及存储介质,可以降低处理器功耗。
相应的,本发明实施例还提供了一种构建功耗预测模型的装置、以及一种存储介质,用以保证上述方法的实现及应用。
为了解决上述问题,本发明实施例公开了一种构建功耗预测模型的方法,所述方法包括:
运行训练程序集中的各训练程序,并记录每个训练程序的运行数据,所述运行数据包括运行每个训练程序时每个预置性能事件的计数值、运行每个训练程序时处理器的功耗值、以及每个训练程序的运行时长;
根据所述每个训练程序的运行数据以及预设的模型规模n进行迭代计算,在迭代终止条件到达时,得到从所述预置性能事件中选出的n个目标性能事件以及所述n个目标性能事件对应的模型参数;
根据所述n个目标性能事件以及所述n个目标性能事件对应的模型参数,构建功耗预测模型。
本发明实施例还公开了一种预测处理器功耗的方法,所述方法包括:
在处理器运行过程中,获取n个目标性能事件中每个目标性能事件的计数值;
将所述每个目标性能事件的计数值输入功耗预测模型,通过所述功耗预测模型输出所述处理器的功耗值,所述功耗预测模型根据权利要求1至7任一所述的构建功耗预测模型的方法预先构建。
本发明实施例还公开了一种构建功耗预测模型的装置,所述装置包括:
运行记录模块,用于运行训练程序集中的各训练程序,并记录每个训练程序的运行数据,所述运行数据包括运行每个训练程序时每个预置性能事件的计数值、运行每个训练程序时处理器的功耗值、以及每个训练程序的运行时长;
迭代计算模块,用于根据所述每个训练程序的运行数据以及预设的模型规模n进行迭代计算,在迭代终止条件到达时,得到从所述预置性能事件中选出的n个目标性能事件以及所述n个目标性能事件对应的模型参数;
模型构建模块,用于根据所述n个目标性能事件以及所述n个目标性能事件对应的模型参数,构建功耗预测模型。
本发明实施例还公开了一种预测处理器功耗的装置,所述装置包括:
计数获取模块,用于在处理器运行过程中,获取n个目标性能事件中每个目标性能事件的计数值;
功耗计算模块,用于将所述每个目标性能事件的计数值输入功耗预测模型,通过所述功耗预测模型输出所述处理器的功耗值,所述功耗预测模型根据前述任一所述的构建功耗预测模型的方法预先构建。
本发明实施例还公开了一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如前述中任一所述的构建功耗预测模型的方法的步骤。
本发明实施例还公开了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时能够实现本发明实施例中一个或多个所述的构建功耗预测模型的方法。
本发明实施例提供的预测处理器功耗的方法、装置、设备及存储介质包括以下优点:
本发明实施例提供了一种构建功耗预测模型的方法。所述功耗预测模型可以根据处理器运行时各目标性能事件的计数值估计处理器的功耗值。所述功耗预测模型的模型参数根据处理器运行大量的训练程序离线训练得到,训练完成的功耗预测模型可以及时准确地计算处理器的功耗值,并且不用增加额外的硬件单元,可以减少硬件成本。对于任意的处理器架构,均可以通过本发明提供的方法构建功耗预测模型。在模型构建完成之后,在处理器的运行过程中,利用已构建的功耗预测模型可以准确并及时地计算处理器的功耗值,进而可以根据模型计算的处理器的功耗值进行DVFS处理,降低处理器功耗。
附图说明
图1是本发明的一种构建功耗预测模型的方法实施例的步骤流程图;
图2是本发明的一种预测处理器功耗的方法实施例的步骤流程图;
图3是本发明的一种构建功耗预测模型的装置实施例的结构框图;
图4是本发明的一种预测处理器功耗的装置实施例的结构框图;
图5是本发明提供的计算设备的结构示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中的术语“和/或”用于描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本发明实施例中术语“多个”是指两个或两个以上,其它量词与之类似。
方法实施例
参照图1,示出了本发明的一种构建功耗预测模型的方法实施例的步骤流程图,所述方法具体可以包括如下步骤:
步骤101、运行训练程序集中的各训练程序,并记录每个训练程序的运行数据,所述运行数据包括运行每个训练程序时每个预置性能事件的计数值、运行每个训练程序时处理器的功耗值、以及每个训练程序的运行时长;
步骤102、根据所述每个训练程序的运行数据以及预设的模型规模n进行迭代计算,在迭代终止条件到达时,得到从所述预置性能事件中选出的n个目标性能事件以及所述n个目标性能事件对应的模型参数;
步骤103、根据所述n个目标性能事件以及所述n个目标性能事件对应的模型参数,构建功耗预测模型。
本发明提供了一种构建功耗预测模型的方法。所述功耗预测模型可以根据处理器运行时各目标性能事件的计数值估计处理器的功耗值。所述功耗预测模型的模型参数根据处理器运行大量的训练程序离线训练得到,训练完成的功耗预测模型可以及时准确地计算处理器的功耗值,并且不用增加额外的硬件单元,减少硬件成本。
性能事件的计数值是指与性能相关的事件发生的次数,例如运算次数、内存访问次数等。预置性能事件指处理器运行过程中能够观测的与性能相关的所有事件。目前大多处理器都具备性能事件计数的功能,因此,本发明可适用于任意的处理器架构,对于任意的处理器,均可以通过本发明提供的方法构建功耗预测模型。在模型构建完成之后,在处理器的运行过程中,获取n个目标性能事件的计数值,将获取的n个目标性能事件的计数值输入已构建的功耗预测模型,即可输出处理器的功耗值,进而可以根据模型输出的处理器的功耗值进行DVFS处理,降低处理器功耗。
所述目标性能事件是预先通过训练从预置性能事件中选取的性能事件,目标性能事件可用于预测处理器的功耗值。在处理器运行过程中,不用部署读取处理器功耗的硬件单元,只需获取目标性能事件的计数值即可准确预测处理器的功耗值,可以减少硬件成本。
所述训练程序集中包括至少一个训练程序。本发明实施例通过运行训练程序集中的训练程序,训练得到目标性能事件以及功耗预测模型的模型参数,由此可以构建功耗预测模型。在处理器运行过程中,获取目标性能事件的计数值代入构建的功耗预测模型,即可计算得到预测的处理器的功耗值。
本发明实施例对所述训练程序集中训练程序的类型不做限制,所述训练程序可以包括性能测试基准程序,也可以包括用户开发的针对处理器模块的测试程序,例如,针对浮点运算模块的测试程序等。
进一步地,为保证训练结果的准确性,所述训练程序集中的训练程序在运行过程中应使用到处理器的所有部件。
模型规模是指选取的用于构建功耗预测模型的目标性能事件的数目。在具体实施中,可以根据采样的便捷性和模型的准确性综合确定模型规模。示例性地,在选择模型规模为8(8个目标性能事件)时可以达到采样的便捷性和模型的准确性之间的平衡。可以理解的是,本发明对模型规模的具体数值不做限制。
本发明实施例依次运行所述训练程序集中的每个训练程序,读取并记录每个训练程序的运行数据,所述运行数据包括运行每个训练程序时每个预置性能事件的计数值、运行每个训练程序时处理器的功耗值、以及每个训练程序的运行时长。
需要说明的是,在训练阶段,运行每个训练程序时每个预置性能事件的计数值,可以通过预先开发的用于读取性能事件计数的相关软件读取得到。运行每个训练程序时处理器的功耗值,可以通过预先开发的用于读取处理器功耗的相关软件读取得到。在模型参数训练完成,得到功耗预测模型之后,利用训练完成的功耗预测模型即可预测处理器的功耗值,而不用再部署读取处理器功耗的相关软件的硬件单元,仅通过目标性能事件的计数值即可准确预测处理器的功耗值,可以减少硬件和软件成本。
根据所述每个训练程序的运行数据以及预设的模型规模n进行迭代计算,在迭代终止条件到达时,得到从所述预置性能事件中选出的n个目标性能事件以及所述n个目标性能事件对应的模型参数。
在本发明的一种可选实施例中,所述模型参数可以包括:选出的n个目标性能事件中每个目标性能事件分别对应的权重以及单位电压的静态功耗权重;所述根据所述n个目标性能事件以及所述n个目标性能事件对应的模型参数,构建功耗预测模型,可以包括:
根据所述n个目标性能事件中每个目标性能事件对应的权重、单位电压的静态功耗权重、预设的模型规模、n个目标性能事件中每个目标性能事件的计数值、处理器的供电电压、以及处理器的运行时长,构建功耗预测模型。
其中,所述n个目标性能事件中每个目标性能事件对应的权重和单位电压的静态功耗权重是功耗预测模型的模型参数,通过运行训练程序集中的训练程序训练得到。所述每个目标性能事件对应的权重用于体现不同目标性能事件对处理器的功耗值产生的影响程度不同。所述单位电压的静态功耗权重表示每单位电压升高造成的静态功耗的增量。
所述预设的模型规模是预设值,可以根据实际需要进行设置。所述n个目标性能事件中每个目标性能事件的计数值、处理器的供电电压、以及处理器的运行时长为实际应用中预测处理器的功耗值时读取的具体数值。
通过本发明实施例,在训练得到功耗预测模型的模型参数之后,在实际应用中预测处理器的功耗值时,只需获取该处理器在运行时n个目标性能事件中每个目标性能事件的计数值、处理器的供电电压、以及处理器的运行时长,即可根据已训练得到的模型参数构建功耗预测模型进而计算得到该处理器的功耗值,而不用使用额外的硬件来读取处理器的功耗值,可以在准确预测处理器功耗值的同时,减少硬件成本以及减小硬件体积。
在本发明的一种可选实施例中,所述功耗预测模型可以用如下公式表示:
Figure BDA0003495304540000071
其中,E表示功耗预测模型输出的处理器的功耗值,n表示模型规模,V表示处理器的供电电压,t表示处理器的运行时长,pmci表示通过训练选出的n个目标性能事件中第i个目标性能事件的计数值,wi和β为训练得到的模型参数,wi表示第i个目标性能事件的权重,β表示单位电压的静态功耗权重。
需要说明的是,E表示功耗预测模型预测的处理器的功耗值,该预测的功耗值表示时间窗口t内处理器的总功耗。所述时间窗口t也即处理器的运行时长,如果t足够小,如t小于预设阈值,则可以用时间窗口t内的平均功耗作为预测的处理器的实时功耗。
在本发明的一种可选实施例中,所述训练程序集包括m个训练程序,所述根据所述每个训练程序的运行数据以及预设的模型规模n进行迭代计算,包括:
步骤S11、选择本轮的n个候选性能事件;
步骤S12、生成训练数据,所述训练数据包括第一向量和第二向量,所述第一向量包括所述m个训练程序分别对应n个候选性能事件的计数值以及每个训练程序的运行时长,所述第二向量包括所述m个训练程序中每个训练程序运行时处理器的功耗值;
步骤S13、根据所述训练数据,计算所述n个候选性能事件对应的模型评估分数和模型参数;
步骤S14、将本轮计算得到的模型评估分数与上一轮进行比较,保留较大者。
所述候选性能事件可以是预置性能事件中的任意性能事件,本发明实施例从候选性能事件中确定目标性能事件。示例性地,假设有20个预置性能事件,每次从这20个性能事件中随机选择不重复的8个候选性能事件进行计算,经过多轮迭代计算,确定某一次选择的8个候选性能事件为目标性能事件。
所述模型评估分数用于评价在选择n个候选性能事件时,利用这n个候选性能事件对应的模型参数构建的功耗预测模型预测处理器功耗值的准确性。一个示例中,使得模型评估分数最高的n个候选性能事件可以确定为目标性能事件。
本发明实施例在根据所述每个训练程序的运行数据以及预设的模型规模n进行迭代计算的过程中,主要使用到如下两个算法:算法1和算法2。
其中,算法1的输入包括所有训练程序的运行数据以及所需的模型规模n。算法1根据接收到的运行数据以及模型规模n进行迭代计算,在迭代终止条件到达时,得到从所述预置性能事件中选出的n个目标性能事件以及所述n个目标性能事件对应的模型参数,算法1的输出包括所述n个目标性能事件的标识以及所述n个目标性能事件对应的模型参数。
假设有N个预置性能事件,本发明实施例通过算法1进行多轮循环迭代操作,从N个预置性能事件中选出n个目标性能事件,并得到这n个目标性能事件对应的模型参数,N>n。
算法1根据接收到的所有训练程序的运行数据,选择本轮的n个候选性能事件,生成训练数据,根据所述训练数据,计算所述n个候选性能事件对应的模型评估分数和模型参数,将本轮计算得到的模型评估分数与上一轮进行比较,保留较大者。假设经过100轮循环迭代操作,计算得到n个目标性能事件以及这n个目标性能事件对应的模型参数。当执行第一次迭代操作时,第一次迭代操作称为本轮计算。又如,当执行第50次迭代操作时,第50次迭代操作称为本轮计算,第49次迭代操作称为上一轮计算。
本轮从未选择过的预置候选性能事件中随机选择一个替换上一轮n个候选性能事件中的其中一个,得到本轮的n个候选性能事件,重复执行上述迭代过程,直到迭代终止条件到达时,得到从所述预置性能事件中选出的n个目标性能事件以及所述n个目标性能事件对应的模型参数。根据所述n个目标性能事件以及所述n个目标性能事件对应的模型参数,即可构建功耗预测模型。
可选地,算法1可以通过调用算法2执行计算所述n个候选性能事件对应的模型评估分数和模型参数的步骤。
算法2的输入是算法1产生的第一向量和第二向量,算法2的输出是根据第一向量和第二向量计算得到的本轮n个候选性能事件对应的模型评估分数和模型参数。
其中,所述第一向量包括所述m个训练程序分别对应n个候选性能事件的计数值以及每个训练程序的运行时长。在本发明实施例中,所述第一向量可以为一个m*(n+1)的二维向量,表示m个程序分别对应n个性能事件的计数值。
示例性地,将第一向量记为result,该第一向量result表示如下:
Figure BDA0003495304540000091
上述第一向量result是一个m*(n+1)的二维向量,前n列表示m个训练程序分别对应n个性能事件的计数值,第n+1列表示m个训练程序的运行时长,其中:
第一行元素:a11、a12、…、a1n分别表示运行第1个训练程序时n个性能事件的计数值,a1,n+1表示第1个训练程序的运行时长。
第二行元素:a21、a22、…、a2n分别表示运行第2个训练程序时n个性能事件的计数值,a2,n+1表示第2个训练程序的运行时长。
依次类推,第m行元素:am1、am2、…、amn分别表示运行第m个训练程序时n个性能事件的计数值,am,n+1表示第m个训练程序的运行时长。
第二向量可以是一个1*m的一维向量,包括所述m个训练程序中每个训练程序运行时处理器的功耗值。
示例性地,将第二向量记为energy,该第二向量energy表示如下:
[b11 b12 … b1m]
其中,元素b11表示第一个训练程序运行时处理器的功耗值,元素b12表示第二个训练程序运行时处理器的功耗值,以此类推,元素b1m表示第m个训练程序运行时处理器的功耗值。
在本发明的一种可选实施例中,所述迭代终止条件可以包括:
计算得到最高的模型评估分数,或者,迭代次数到达预设次数。
本发明实施例按照上述迭代计算方法计算每一轮选择的n个候选性能事件对应的模型评估分数和模型参数。
一个示例中,假设n=8,初始化模型评估分数为coef。每一轮选择8个候选性能事件,计算每一轮8个候选性能事件对应的模型评估分数和模型参数。从每一轮计算得到的模型评估分数中选择最大的模型评估分数(如记为coef_temp)与coef比较,如果coef_temp大于coef,则将coef更改为coef_temp的值,并且保留coef_temp对应的n个候选性能事件和对应的模型参数。重复上述过程,直到计算得到的模型评估分数达到稳定,可以认为计算得到最高的模型评估分数,此时可以认为迭代终止条件已到达,得到n个目标性能事件对应的模型评估分数和模型参数。其中,模型评估分数达到稳定是指连续s次迭代操作计算得到的coef值不变,s为预设值。
或者,当迭代次数到达预设次数时,可以认为迭代终止条件已到达,将本轮选择的n个候选性能事件作为目标性能事件,将本轮计算得到的模型参数作为最终的模型参数。
在本发明的一种可选实施例中,记录每个训练程序的运行数据之后,所述方法还可以包括:
过滤掉计数值小于第一预设值的预置性能事件;和/或
对于每个预置性能事件,计算该预置性能事件对应各训练程序的计数值与运行每个训练程序时处理器的功耗值之间的相关系数,过滤掉相关系数小于第二预设值的预置性能事件。
为提高构建的功耗预测模型的通用性和准确性,本发明实施例在选择候选性能事件之前,还对处理器中所有的预置性能事件进行过滤,以得到更有效的候选性能事件。
本发明实施例可以提供两种过滤预置性能事件的方式。方式一是过滤掉计数值小于第一预设值的预置性能事件。为保证构建的功耗预测模型的通用性,参与构建功耗预测模型的候选性能事件不应包括偶然事件,计数值小于第一预设值的预置性能事件可以认为是偶然事件进行过滤。第一预设值可以根据实际需要进行设置。可选地,所述第一预设值可以根据时钟周期数进行设置。对于任一预置性能事件,用该预置性能事件的计数值乘以10万再除以时钟周期数,得到的值如果大于1则保留该预置性能事件,否则过滤掉该预置性能事件。例如,通过方式一可以筛选出平均每10万个时钟周期中至少出现过一次的预置性能事件。
由于处理器的功耗来自于电路活动,而电路活动一定带来正的功耗开销,所以性能事件计数的增加对于处理器功耗的贡献一定是正的。因此,为保证构建的功耗预测模型的准确性,本发明实施例通过方式二筛选出与功耗正相关的预置性能事件。方式二是对于每个预置性能事件,计算该预置性能事件对应各训练程序的计数值与运行每个训练程序时处理器的功耗值之间的相关系数,过滤掉相关系数小于第二预设值的预置性能计数。
可选地,所述相关系数可以为皮尔逊相关系数(Pearson correlationcoefficient),在统计学中,皮尔逊相关系数又称皮尔逊积矩相关系数(Pearson product-moment correlation coefficient,简称PPMCC或PCCs),是用于度量两个变量X和Y之间的相关(线性相关),其值介于-1与1之间。
第二预设值可以根据实际需要进行设置,如第二预设值可以设置为0.1,则皮尔逊相关系数小于0.1(包括负数)的预置性能事件将被过滤掉。
一个示例中,假设有3个训练程序,对于预置性能事件A,预置性能事件A对应这3个训练程序的计数值为[1,2,3],这3个训练程序中每个训练程序运行时处理器的功耗值为[2,4,6]。计算[1,2,3]与[2,4,6]之间的皮尔逊相关系数,该皮尔逊相关系数为1,则保留预置性能事件A。
另一个示例中,假设有4个训练程序,对于预置性能事件B,预置性能事件B对应这4个训练程序的计数值为[1,2,1,2],这4个训练程序中每个训练程序运行时处理器的功耗值为[1,1,2,2]。计算[1,2,1,2]与[1,1,2,2]之间的皮尔逊相关系数,该皮尔逊相关系数小于0.1,则过滤掉预置性能事件B。
在本发明的一种可选实施例中,所述方法还可以包括:
步骤S21、计算所述预置性能事件之间的相关系数;
步骤S22、根据所述相关系数对所述预置性能事件进行聚类,将相关系数大于第三预设值的预置性能事件划分到同一个分组,得到至少一个分组;
所述选择本轮的n个候选性能事件,包括:
从所述至少一个分组中选择本轮的n个候选性能事件。
多重共线性是指线性回归模型中的解释变量之间由于存在精确相关关系或高度相关关系而使模型估计失真或难以估计准确。进一步地,为了消除功耗预测模型中出现多重共线性,提高模型的准确性和稳定性,本发明实施例在对预置性能事件进行过滤之后,还可以对过滤后的预置性能事件进行层次聚类分析,计算所述预置性能事件之间的相关系数。可选地,所述相关系数可以为皮尔逊相关系数,根据所述皮尔逊相关系数对所述预置性能事件进行聚类,将皮尔逊相关系数大于第三预设值的预置性能事件划分到同一个分组,得到至少一个分组。由此,可以将相关性较高的预置性能事件划分到同一个分组。
需要说明的是,由于每一轮的n个候选性能事件是随机选择的,因此,这n个候选性能事件中可能存在部分或者全部的候选性能事件属于同一个分组。
第三预设值可以根据实际需要进行设置,如第三预设值可以设置为0.75,也即,皮尔逊相关系数大于0.75的预置性能事件被聚类到同一个分组内,聚类后得到的分组信息可以参与后续的计算模型评估分数,以消除构建的功耗预测模型的多重共线性,提高模型的准确性和稳定性。
在本发明的一种可选实施例中,所述根据所述训练数据,计算所述n个候选性能事件对应的模型评估分数和模型参数,包括:
步骤S31、利用最小二乘法对所述训练数据进行线性回归,得到功耗预测模型的线性方程,所述线程方程的系数为所述n个候选性能事件对应的模型参数;
步骤S32、统计所述线性方程的系数中的负值个数,根据所述负值个数计算第一参考分数;
步骤S33、对所述训练数据进行联合假设检验,根据校验结果计算第二参考分数;
步骤S34、统计所述n个候选性能事件中属于同一分组的相关事件个数,根据所述相关事件个数计算第三参考分数;
步骤S35、根据所述线性方程的观察值和预测值计算所述线程方程的决定系数,所述观察值包括运行每个训练程序时记录的处理器的功耗值,所述预测值包括通过所述线程方程预测的运行每个训练程序时处理器的功耗值;
步骤S36、根据所述线程方程的决定系数、所述第一参考分数、所述第二参考分数、以及所述第三参考分数,计算所述n个候选性能事件对应的模型评估分数。
本发明实施例利用最小二乘法leastsq(result,energy)对所述训练数据进行线性回归,得到功耗预测模型的线性方程。其中,energy(第二向量)为因变量,result(第一向量)为自变量。所述线程方程的系数为所述n个候选性能事件对应的模型参数。
本发明实施例通过计算第一参考分数、第二参考分数、以及第三参考分数,从三个方面对该线性方程进行评分,得到模型评估分数。
第一个方面,统计所述线性方程的系数中的负值个数,根据所述负值个数计算第一参考分数(如记为para_score)。第一个方面是依据线性方程的系数是否是负数对这个线性方程打分,负数系数越多,则该线性方程的分数越低。本发明要求最小二乘法得到的权重应全部是正值,例如,统计所述线性方程的所有系数中负值个数,每出现一个负值将扣除1分。
第二个方面,对所述训练数据进行F检验(F-test),根据校验结果计算第二参考分数(如记为Stat_score)。第二个方面是依据F联合检验得到的结果对该线性方程打分,若本轮选择的n个候选性能事件中出现多重共线性的概率越低,则stat_score分数越高。
F检验也叫做联合假设检验,是逐步回归方法中用来检测多重线性的常用方法。依照统计学中的经验,将要求这F检验每个变量的P值要小于0.05,即有95%的可靠性。p值是假设检验中假设零假设为真时观测到至少与实际观测样本相同极端的样本的概率。很小的p值说明在零假设下观测极端结果的发生概率很小。本发明实施例对所有的训练数据进行F检验,并统计F检验的P值小于0.05的情况。例如,若p值小于0.05,说明本轮选择的n个候选性能事件之间仅有5%的概率存在多重共线性。
第三个方面,统计所述n个候选性能事件中属于同一分组的相关事件个数,根据所述相关事件个数计算第三参考分数(如记为hca_score)。第三个方面是对本轮选择的n个候选性能事件的层次聚类情况进行评估,如果选择的候选性能事件中出现在同一分组的情况越多,则hca_score越低。本发明实施例在对本轮选择的n个候选性能事件计算对应的模型评估分数和模型参数的过程中,检测本轮的n个候选性能事件中是否有来自同一分组的候选性能事件,如果有来自同一分组的候选性能事件,则根据出现在同一分组中的候选性能事件的个数计算第三参考得分。例如,假设分组1中包括了{a,b,c}三个预置性能事件,恰好本轮选择的8个候选性能事件中包括a、b、c,由于a、b、c属于同一分组,表示a、b、c这三个预置性能事件中仅有一个有效的预置性能事件,则本轮的模型评估分数需要减2。
决定系数是统计学中的概念,用R2表示,决定系数越高,说明线性方程拟合的效果越好。
本发明实施例根据所述线性方程的观察值和预测值计算所述线程方程的决定系数,所述观察值包括运行每个训练程序时记录的处理器的功耗值,所述预测值包括通过所述线程方程预测的运行每个训练程序时处理器的功耗值。
假设训练程序集中包括m个训练程序,则观察值包括m个训练程序中每个训练程序运行时记录的处理器的功耗值,如记为energy[m]。预测值包括通过所述线程方程预测的每个训练程序运行时处理器的功耗值,如记为energy_predict[m]。
示例性地,可以通过下式计算决定系数R2
R2=1-SSres/SStot (2)
其中,SSres为残差平方和,SStot为总平方和,具体地:
Figure BDA0003495304540000141
Figure BDA0003495304540000151
其中,average()函数用于计算一个数组的平均值。
e[m]为观测值和预测值的残差,其中,e[i]=energy[i]-energy_predict[i]。
根据所述线程方程的决定系数、所述第一参考分数、所述第二参考分数、以及所述第三参考分数,可以计算所述n个候选性能事件对应的模型评估分数。
在本发明的一种可选实施例中,所述根据所述线程方程的决定系数、所述第一参考分数、所述第二参考分数、以及所述第三参考分数,计算所述n个候选性能事件对应的模型评估分数,可以包括:
对所述线程方程的决定系数、所述第一参考分数、所述第二参考分数、以及所述第三参考分数进行求和计算,得到所述n个候选性能事件对应的模型评估分数。
一个示例中,可以通过如下公式计算模型评估分数score:
score=R2+para_score+stat_score+hca_score (3)
在检测多重共线性的基础上,在计算模型评估分数时还考虑线性回归的拟合解释力。具体地,本发明实施例使用决定系数R2作为拟合准确度的度量标准。决定系数R2在统计学中用于度量因变量的变异中可由自变量解释部分所占的比例,以此来判断回归模型的解释力。决定系数的值就越接近于1,则说明参数对功耗结果的解释力越强。在公式(3)中,最终的模型评估分数由决定系数和三个多重共线性的检测扣分组成,因为决定系数的值总是小于1,而多重共线性的扣分至少是1,所以不会出现由于解释力更强而错误选择具有多重共线性变量的情况。
在本发明实施例中,算法1的输入包括:m个训练程序的运行数据以及模型规模n。m个训练程序的运行数据包括:运行m个训练程序记录的所有预置性能事件的计数值,运行每个训练程序时记录的处理器的功耗值,以及每个训练程序的运行时长。算法1的输出包括:选取的n个目标性能事件的标识以及这n个目标性能事件对应的模型参数(也即线程方程的系数)。
一个示例中,算法1的流程主要包括如下两个阶段:筛选和层次聚类分析阶段以及逐步回归分析阶段。
其中,筛选和层次聚类分析阶段,用于对输入的运行数据进行过滤,以删除计数值小于第一预设值的预置性能事件以及删除相关系数小于第二预设值的预置性能计数。然后对过滤后的预置性能事件进行层次聚类分析,计算预置性能事件之间的相关系数,并记录分组结果。
逐步回归分析阶段,用于通过多轮迭代计算,得到最终的输出值。逐步回归分析阶段可以包括如下步骤:步骤A、从预置性能事件中随机选择n个作为候选性能事件,并初始化模型评估分数,如将模型评估分数coef初始化为-∞。步骤B、每次从未选择的预置性能事件中随机选择一个替换n个候选性能事件中的其中一个,得到新的n个候选性能事件,计算新的n个候选性能事件对应的模型评估分数coef_temp和对应的模型参数,选择最大的coef_temp与coef比较,如果最大的coef_temp大于coef,则将coef更改为最大的coef_temp的值,并且保留最大的coef_temp对应的n个候选性能事件和对应的模型参数。步骤C、重复步骤B,直到计算得到的模型评估分数达到稳定,迭代终止,得到n个目标性能事件以及模型参数,也即算法1最终的输出值。
在本发明实施例中,算法2的输入包括:算法1产生的第一向量和第二向量,以及预置性能事件的分组结果。第一向量包括m个训练程序分别对应n个候选性能事件的计数值以及每个训练程序的运行时长。第二向量包括所述m个训练程序中每个训练程序运行时处理器的功耗值。算法2的输出包括:根据本轮选择的n个候选性能事件计算出的模型评估分数score和模型参数para,其中,para包括wi和β。
一个示例中,算法2的流程主要包括如下步骤:以第一向量作为自变量,第二向量作为因变量,进行最小二乘分析,得到模型参数(线程方程的系数)和决定系数R2,构建功耗预测模型的线性方程。统计所述线性方程的系数中的负值个数,得到第一参考分数para_score。以第一向量作为自变量,第二向量作为因变量,进行联合假设检验,统计其中p值大于0.05的变量出现的次数,得到第二参考分数stat_score。统计候选性能事件出现在不同分组的数目,进而计算出第三参考分数hca_score。计算本轮的模型评估分数coef=R2+para_score+stat_score+hca_score。输出本轮的模型评估分数coef和模型参数。
本发明实施例在执行训练集程序的过程中,通过上述算法1和算法2,从训练集程序中筛选出功耗预测模型所需的n个目标性能事件,得到每个目标性能事件对应的权重wi以及单位电压的静态功耗权重β,然后代入上述公式(1),即可构建得到用于预测处理器功耗值的功耗预测模型。
综上,本发明实施例提供了一种构建功耗预测模型的方法。所述功耗预测模型可以根据处理器运行时各目标性能事件的计数值估计处理器的功耗值。所述功耗预测模型的模型参数根据处理器运行大量的训练程序离线训练得到,训练完成的功耗预测模型可以及时准确地计算处理器的功耗值,并且不用增加额外的硬件单元,可以减少硬件成本。对于任意的处理器架构,均可以通过本发明提供的方法构建功耗预测模型。在模型构建完成之后,在处理器的运行过程中,利用已构建的功耗预测模型可以准确并及时地计算处理器的功耗值,进而可以根据模型计算的处理器的功耗值进行DVFS处理,降低处理器功耗。
参照图2,示出了本发明的一种预测处理器功耗的方法实施例的步骤流程图,所述方法具体可以包括如下步骤:
步骤201、在处理器运行过程中,获取n个目标性能事件中每个目标性能事件的计数值;
步骤202、将所述每个目标性能事件的计数值输入功耗预测模型,通过所述功耗预测模型输出所述处理器的功耗值,所述功耗预测模型根据前述的构建功耗预测模型的方法预先构建。
本发明提供的预测处理器功耗的方法可适用于任意的处理器架构,对于任意的处理器,在处理器的运行过程中,获取n个目标性能事件的计数值,将获取的n个目标性能事件的计数值输入已构建的功耗预测模型,即可输出处理器的功耗值。
所述功耗预测模型的模型参数根据处理器运行大量的训练程序离线训练得到,训练完成的功耗预测模型可以及时准确地计算处理器的功耗值,并且不用增加额外的硬件单元,减少硬件成本。
在本发明的一种可选实施例中,所述方法还可以包括:
根据所述功耗预测模型输出的所述处理器的功耗值,对所述处理器进行动态电压频率调节。
进而可以根据模型输出的处理器的功耗值进行DVFS处理,降低处理器功耗。
需要说明的是,本发明实施例可适用于多处理器的计算设备,每个处理器有各自的电压域和各自的性能事件计数器,因此,使用本发明构建的功耗预测模型可以计算每个处理器的功耗值,将每个处理器的功耗值相加即可得到计算设备的多个处理器的功耗值。
本发明实施例利用已构建的功耗预测模型即可准确并及时地计算处理器的功耗值,而不用增加额外的硬件单元来测量处理器的功耗值,在保证准确计算处理器的功耗值的基础上,可以节省硬件成本。此外,根据功耗预测模型计算的处理器的功耗值可以进行DVFS处理,降低处理器功耗。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
装置实施例
参照图3,示出了本发明的一种构建功耗预测模型的装置实施例的结构框图,所述装置具体可以包括如下模块:
运行记录模块301,用于运行训练程序集中的各训练程序,并记录每个训练程序的运行数据,所述运行数据包括运行每个训练程序时每个预置性能事件的计数值、运行每个训练程序时处理器的功耗值、以及每个训练程序的运行时长;
迭代计算模块302,用于根据所述每个训练程序的运行数据以及预设的模型规模n进行迭代计算,在迭代终止条件到达时,得到从所述预置性能事件中选出的n个目标性能事件以及所述n个目标性能事件对应的模型参数;
模型构建模块303,用于根据所述n个目标性能事件以及所述n个目标性能事件对应的模型参数,构建功耗预测模型。
可选地,所述模型参数包括:单位电压的静态功耗权重和所述n个目标性能事件中每个目标性能事件对应的权重;所述模型构建模块,具体用于根据所述n个目标性能事件中每个目标性能事件对应的权重、单位电压的静态功耗权重、预设的模型规模、n个目标性能事件中每个目标性能事件的计数值、处理器的供电电压、以及处理器的运行时长,构建功耗预测模型。
可选地,所述功耗预测模型为:
Figure BDA0003495304540000191
其中,E表示预测的处理器的功耗值,n表示模型规模,V表示处理器的供电电压,t表示处理器的运行时长,pmci表示n个目标性能事件中第i个目标性能事件的计数值,wi和β为训练得到的模型参数,wi表示第i个目标性能事件的权重,β表示单位电压的静态功耗权重。
可选地,所述训练程序集包括m个训练程序,所述迭代计算模块,包括:
事件选择子模块,用于选择本轮的n个候选性能事件;
数据生成子模块,用于生成训练数据,所述训练数据包括第一向量和第二向量,所述第一向量包括所述m个训练程序分别对应n个候选性能事件的计数值以及每个训练程序的运行时长,所述第二向量包括所述m个训练程序中每个训练程序运行时处理器的功耗值;
得分计算子模块,用于根据所述训练数据,计算所述n个候选性能事件对应的模型评估分数和模型参数;
得分比较子模块,用于将本轮计算得到的模型评估分数与上一轮进行比较,保留较大者。
可选地,所述方法还包括:
系数计算模块,用于计算所述预置性能事件之间的相关系数;
事件聚类模块,用于根据所述相关系数对所述预置性能事件进行聚类,将相关系数大于预设值的预置性能事件划分到同一个分组,得到至少一个分组;
所述事件选择子模块,具体用于从所述至少一个分组中选择本轮的n个候选性能事件。
可选地,所述得分计算子模块,包括:
线性回归单元,用于利用最小二乘法对所述训练数据进行线性回归,得到功耗预测模型的线性方程,所述线程方程的系数为所述n个候选性能事件对应的模型参数;
第一计算单元,用于统计所述线性方程的系数中的负值个数,根据所述负值个数计算第一参考分数;
第二计算单元,用于对所述训练数据进行联合假设检验,根据校验结果计算第二参考分数;
第三计算单元,用于统计所述n个候选性能事件中属于同一分组的相关事件个数,根据所述相关事件个数计算第三参考分数;
第四计算单元,用于根据所述线性方程的观察值和预测值计算所述线程方程的决定系数,所述观察值包括运行每个训练程序时记录的处理器的功耗值,所述预测值包括通过所述线程方程预测的运行每个训练程序时处理器的功耗值;
得分计算单元,用于根据所述线程方程的决定系数、所述第一参考分数、所述第二参考分数、以及所述第三参考分数,计算所述n个候选性能事件对应的模型评估分数。
可选地,所述得分计算单元,具体用于对所述线程方程的决定系数、所述第一参考分数、所述第二参考分数、以及所述第三参考分数进行求和计算,得到所述n个候选性能事件对应的模型评估分数。
可选地,所述装置还包括:
第一过滤模块,用于过滤掉计数值小于第一预设值的预置性能事件;
和/或
第二过滤模块,用于对于每个预置性能事件,计算该预置性能事件对应各训练程序的计数值与运行每个训练程序时处理器的功耗值之间的相关系数,过滤掉相关系数小于第二预设值的预置性能事件。
可选地,所述迭代终止条件包括:
计算得到最高的模型评估分数,或者,迭代次数到达预设次数。
本发明实施例提供了一种构建功耗预测模型的方法。所述功耗预测模型可以根据处理器运行时各目标性能事件的计数值估计处理器的功耗值。所述功耗预测模型的模型参数根据处理器运行大量的训练程序离线训练得到,训练完成的功耗预测模型可以及时准确地计算处理器的功耗值,并且不用增加额外的硬件单元,可以减少硬件成本。对于任意的处理器架构,均可以通过本发明提供的方法构建功耗预测模型。在模型构建完成之后,在处理器的运行过程中,利用已构建的功耗预测模型可以准确并及时地计算处理器的功耗值,进而可以根据模型计算的处理器的功耗值进行DVFS处理,降低处理器功耗
参照图4,示出了本发明的一种预测处理器功耗的装置实施例的结构框图,所述装置具体可以包括如下模块:
计数获取模块401,用于在处理器运行过程中,获取n个目标性能事件中每个目标性能事件的计数值;
功耗计算模块402,用于将所述每个目标性能事件的计数值输入功耗预测模型,通过所述功耗预测模型输出所述处理器的功耗值,所述功耗预测模型根据前述的构建功耗预测模型的方法预先构建。
可选地,所述装置还可以包括:
频率调节模块,用于根据所述功耗预测模型输出的所述处理器的功耗值,对所述处理器进行动态电压频率调节。
本发明实施例利用已构建的功耗预测模型即可准确并及时地计算处理器的功耗值,而不用增加额外的硬件单元来测量处理器的功耗值,在保证准确计算处理器的功耗值的基础上,可以节省硬件成本。此外,根据功耗预测模型计算的处理器的功耗值可以进行DVFS处理,降低处理器功耗。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
参照图5,是本发明实施例提供的计算设备的结构示意图。如图5所示,所述计算设备包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行前述实施例的访存控制方法的步骤。
本发明实施例提供了一种非临时性计算机可读存储介质,当所述存储介质中的指令由终端的程序或处理器执行时,使得终端能够执行一种构建功耗预测模型的方法,所述方法包括:运行训练程序集中的各训练程序,并记录每个训练程序的运行数据,所述运行数据包括运行每个训练程序时每个预置性能事件的计数值、运行每个训练程序时处理器的功耗值、以及每个训练程序的运行时长;根据所述每个训练程序的运行数据以及预设的模型规模n进行迭代计算,在迭代终止条件到达时,得到从所述预置性能事件中选出的n个目标性能事件以及所述n个目标性能事件对应的模型参数;根据所述n个目标性能事件以及所述n个目标性能事件对应的模型参数,构建功耗预测模型。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以预测方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种预测处理器功耗的方法和装置、一种预测处理器功耗的方法和装置以及一种存储介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (24)

1.一种构建功耗预测模型的方法,其特征在于,所述方法包括:
运行训练程序集中的各训练程序,并记录每个训练程序的运行数据,所述运行数据包括运行每个训练程序时每个预置性能事件的计数值、运行每个训练程序时处理器的功耗值、以及每个训练程序的运行时长;
根据所述每个训练程序的运行数据以及预设的模型规模n进行迭代计算,在迭代终止条件到达时,得到从所述预置性能事件中选出的n个目标性能事件以及所述n个目标性能事件对应的模型参数;
根据所述n个目标性能事件以及所述n个目标性能事件对应的模型参数,构建功耗预测模型。
2.根据权利要求1所述的方法,其特征在于,所述模型参数包括:单位电压的静态功耗权重和所述n个目标性能事件中每个目标性能事件对应的权重;所述根据所述n个目标性能事件以及所述n个目标性能事件对应的模型参数,构建功耗预测模型,包括:
根据所述n个目标性能事件中每个目标性能事件对应的权重、单位电压的静态功耗权重、预设的模型规模、n个目标性能事件中每个目标性能事件的计数值、处理器的供电电压、以及处理器的运行时长,构建功耗预测模型。
3.根据权利要求2所述的方法,其特征在于,所述功耗预测模型为:
Figure FDA0003495304530000011
其中,E表示预测的处理器的功耗值,n表示模型规模,V表示处理器的供电电压,t表示处理器的运行时长,pmci表示n个目标性能事件中第i个目标性能事件的计数值,wi和β为训练得到的模型参数,wi表示第i个目标性能事件的权重,β表示单位电压的静态功耗权重。
4.根据权利要求1所述的方法,其特征在于,所述训练程序集包括m个训练程序,所述根据所述每个训练程序的运行数据以及预设的模型规模n进行迭代计算,包括:
选择本轮的n个候选性能事件;
生成训练数据,所述训练数据包括第一向量和第二向量,所述第一向量包括所述m个训练程序分别对应n个候选性能事件的计数值以及每个训练程序的运行时长,所述第二向量包括所述m个训练程序中每个训练程序运行时处理器的功耗值;
根据所述训练数据,计算所述n个候选性能事件对应的模型评估分数和模型参数;
将本轮计算得到的模型评估分数与上一轮进行比较,保留较大者。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
计算所述预置性能事件之间的相关系数;
根据所述相关系数对所述预置性能事件进行聚类,将相关系数大于预设值的预置性能事件划分到同一个分组,得到至少一个分组;
所述选择本轮的n个候选性能事件,包括:
从所述至少一个分组中选择本轮的n个候选性能事件。
6.根据权利要求5所述的方法,其特征在于,所述根据所述训练数据,计算所述n个候选性能事件对应的模型评估分数和模型参数,包括:
利用最小二乘法对所述训练数据进行线性回归,得到功耗预测模型的线性方程,所述线程方程的系数为所述n个候选性能事件对应的模型参数;
统计所述线性方程的系数中的负值个数,根据所述负值个数计算第一参考分数;
对所述训练数据进行联合假设检验,根据校验结果计算第二参考分数;
统计所述n个候选性能事件中属于同一分组的相关事件个数,根据所述相关事件个数计算第三参考分数;
根据所述线性方程的观察值和预测值计算所述线程方程的决定系数,所述观察值包括运行每个训练程序时记录的处理器的功耗值,所述预测值包括通过所述线程方程预测的运行每个训练程序时处理器的功耗值;
根据所述线程方程的决定系数、所述第一参考分数、所述第二参考分数、以及所述第三参考分数,计算所述n个候选性能事件对应的模型评估分数。
7.根据权利要求6所述的方法,其特征在于,所述根据所述线程方程的决定系数、所述第一参考分数、所述第二参考分数、以及所述第三参考分数,计算所述n个候选性能事件对应的模型评估分数,包括:
对所述线程方程的决定系数、所述第一参考分数、所述第二参考分数、以及所述第三参考分数进行求和计算,得到所述n个候选性能事件对应的模型评估分数。
8.根据权利要求1至7任一项所述的方法,其特征在于,记录每个训练程序的运行数据之后,所述方法还包括:
过滤掉计数值小于第一预设值的预置性能事件;和/或
对于每个预置性能事件,计算该预置性能事件对应各训练程序的计数值与运行每个训练程序时处理器的功耗值之间的相关系数,过滤掉相关系数小于第二预设值的预置性能事件。
9.根据权利要求1至7任一项所述的方法,其特征在于,所述迭代终止条件包括:
计算得到最高的模型评估分数,或者,迭代次数到达预设次数。
10.一种预测处理器功耗的方法,其特征在于,所述方法包括:
在处理器运行过程中,获取n个目标性能事件中每个目标性能事件的计数值;
将所述每个目标性能事件的计数值输入功耗预测模型,通过所述功耗预测模型输出所述处理器的功耗值,所述功耗预测模型根据权利要求1至9任一所述的构建功耗预测模型的方法预先构建。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
根据所述功耗预测模型输出的所述处理器的功耗值,对所述处理器进行动态电压频率调节。
12.一种构建功耗预测模型的装置,其特征在于,所述装置包括:
运行记录模块,用于运行训练程序集中的各训练程序,并记录每个训练程序的运行数据,所述运行数据包括运行每个训练程序时每个预置性能事件的计数值、运行每个训练程序时处理器的功耗值、以及每个训练程序的运行时长;
迭代计算模块,用于根据所述每个训练程序的运行数据以及预设的模型规模n进行迭代计算,在迭代终止条件到达时,得到从所述预置性能事件中选出的n个目标性能事件以及所述n个目标性能事件对应的模型参数;
模型构建模块,用于根据所述n个目标性能事件以及所述n个目标性能事件对应的模型参数,构建功耗预测模型。
13.根据权利要求12所述的装置,其特征在于,所述模型参数包括:单位电压的静态功耗权重和所述n个目标性能事件中每个目标性能事件对应的权重;所述模型构建模块,具体用于根据所述n个目标性能事件中每个目标性能事件对应的权重、单位电压的静态功耗权重、预设的模型规模、n个目标性能事件中每个目标性能事件的计数值、处理器的供电电压、以及处理器的运行时长,构建功耗预测模型。
14.根据权利要求13所述的装置,其特征在于,所述功耗预测模型为:
Figure FDA0003495304530000041
其中,E表示预测的处理器的功耗值,n表示模型规模,V表示处理器的供电电压,t表示处理器的运行时长,pmci表示n个目标性能事件中第i个目标性能事件的计数值,wi和β为训练得到的模型参数,wi表示第i个目标性能事件的权重,β表示单位电压的静态功耗权重。
15.根据权利要求12所述的装置,其特征在于,所述训练程序集包括m个训练程序,所述迭代计算模块,包括:
事件选择子模块,用于选择本轮的n个候选性能事件;
数据生成子模块,用于生成训练数据,所述训练数据包括第一向量和第二向量,所述第一向量包括所述m个训练程序分别对应n个候选性能事件的计数值以及每个训练程序的运行时长,所述第二向量包括所述m个训练程序中每个训练程序运行时处理器的功耗值;
得分计算子模块,用于根据所述训练数据,计算所述n个候选性能事件对应的模型评估分数和模型参数;
得分比较子模块,用于将本轮计算得到的模型评估分数与上一轮进行比较,保留较大者。
16.根据权利要求15所述的装置,其特征在于,所述装置还包括:
系数计算模块,用于计算所述预置性能事件之间的相关系数;
事件聚类模块,用于根据所述相关系数对所述预置性能事件进行聚类,将相关系数大于预设值的预置性能事件划分到同一个分组,得到至少一个分组;
所述事件选择子模块,具体用于从所述至少一个分组中选择本轮的n个候选性能事件。
17.根据权利要求16所述的装置,其特征在于,所述得分计算子模块,包括:
线性回归单元,用于利用最小二乘法对所述训练数据进行线性回归,得到功耗预测模型的线性方程,所述线程方程的系数为所述n个候选性能事件对应的模型参数;
第一计算单元,用于统计所述线性方程的系数中的负值个数,根据所述负值个数计算第一参考分数;
第二计算单元,用于对所述训练数据进行联合假设检验,根据校验结果计算第二参考分数;
第三计算单元,用于统计所述n个候选性能事件中属于同一分组的相关事件个数,根据所述相关事件个数计算第三参考分数;
第四计算单元,用于根据所述线性方程的观察值和预测值计算所述线程方程的决定系数,所述观察值包括运行每个训练程序时记录的处理器的功耗值,所述预测值包括通过所述线程方程预测的运行每个训练程序时处理器的功耗值;
得分计算单元,用于根据所述线程方程的决定系数、所述第一参考分数、所述第二参考分数、以及所述第三参考分数,计算所述n个候选性能事件对应的模型评估分数。
18.根据权利要求17所述的装置,其特征在于,所述得分计算单元,具体用于对所述线程方程的决定系数、所述第一参考分数、所述第二参考分数、以及所述第三参考分数进行求和计算,得到所述n个候选性能事件对应的模型评估分数。
19.根据权利要求12至18任一项所述的装置,其特征在于,所述装置还包括:
第一过滤模块,用于过滤掉计数值小于第一预设值的预置性能事件;
和/或
第二过滤模块,用于对于每个预置性能事件,计算该预置性能事件对应各训练程序的计数值与运行每个训练程序时处理器的功耗值之间的相关系数,过滤掉相关系数小于第二预设值的预置性能事件。
20.根据权利要求12至18任一项所述的装置,其特征在于,所述迭代终止条件包括:
计算得到最高的模型评估分数,或者,迭代次数到达预设次数。
21.一种预测处理器功耗的装置,其特征在于,所述装置包括:
计数获取模块,用于在处理器运行过程中,获取n个目标性能事件中每个目标性能事件的计数值;
功耗计算模块,用于将所述每个目标性能事件的计数值输入功耗预测模型,通过所述功耗预测模型输出所述处理器的功耗值,所述功耗预测模型根据权利要求1至9任一所述的构建功耗预测模型的方法预先构建。
22.根据权利要求21所述的装置,其特征在于,所述装置还包括:
频率调节模块,用于根据所述功耗预测模型输出的所述处理器的功耗值,对所述处理器进行动态电压频率调节。
23.一种计算设备,其特征在于,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1至9中任一项所述的构建功耗预测模型的方法的步骤。
24.一种可读存储介质,其特征在于,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如权利要求1至9任一所述的构建功耗预测模型的方法的步骤。
CN202210111757.2A 2022-01-29 2022-01-29 构建功耗预测模型的方法、装置、电子设备及存储介质 Pending CN114417733A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210111757.2A CN114417733A (zh) 2022-01-29 2022-01-29 构建功耗预测模型的方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210111757.2A CN114417733A (zh) 2022-01-29 2022-01-29 构建功耗预测模型的方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN114417733A true CN114417733A (zh) 2022-04-29

Family

ID=81278906

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210111757.2A Pending CN114417733A (zh) 2022-01-29 2022-01-29 构建功耗预测模型的方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN114417733A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116795628A (zh) * 2023-05-24 2023-09-22 荣耀终端有限公司 终端设备的功耗处理方法、终端设备以及可读存储介质
CN117234859A (zh) * 2023-11-14 2023-12-15 苏州元脑智能科技有限公司 一种性能事件监控方法、装置、设备和存储介质
CN117743127A (zh) * 2024-02-09 2024-03-22 广州紫麦科技有限公司 笔记本电脑的功耗数据分析方法及系统

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116795628A (zh) * 2023-05-24 2023-09-22 荣耀终端有限公司 终端设备的功耗处理方法、终端设备以及可读存储介质
CN116795628B (zh) * 2023-05-24 2024-05-14 荣耀终端有限公司 终端设备的功耗处理方法、终端设备以及可读存储介质
CN117234859A (zh) * 2023-11-14 2023-12-15 苏州元脑智能科技有限公司 一种性能事件监控方法、装置、设备和存储介质
CN117234859B (zh) * 2023-11-14 2024-03-12 苏州元脑智能科技有限公司 一种性能事件监控方法、装置、设备和存储介质
CN117743127A (zh) * 2024-02-09 2024-03-22 广州紫麦科技有限公司 笔记本电脑的功耗数据分析方法及系统
CN117743127B (zh) * 2024-02-09 2024-05-14 广州紫麦科技有限公司 笔记本电脑的功耗数据分析方法及系统

Similar Documents

Publication Publication Date Title
CN114417733A (zh) 构建功耗预测模型的方法、装置、电子设备及存储介质
CN111639798A (zh) 智能的预测模型选择方法及装置
Allesiardo et al. Exp3 with drift detection for the switching bandit problem
JP2001502831A (ja) 測定可能な時系列の統計的依存性の分類方法
US10430268B2 (en) Operations management system, operations management method and program thereof
Giurgiu et al. Additive explanations for anomalies detected from multivariate temporal data
US20150024367A1 (en) Cost-aware non-stationary online learning
CN114297036A (zh) 数据处理方法、装置、电子设备及可读存储介质
JP6183449B2 (ja) システム分析装置、及び、システム分析方法
JP2020129314A (ja) ジョブ電力予測プログラム、ジョブ電力予測方法、およびジョブ電力予測装置
Paikari et al. Defect prediction using case-based reasoning: An attribute weighting technique based upon sensitivity analysis in neural networks
Park et al. An interpretable machine learning model enhanced integrated cpu-gpu dvfs governor
CN112182056A (zh) 一种数据检测方法、装置、设备及存储介质
JP2020194377A (ja) ジョブ電力予測プログラム、ジョブ電力予測方法、およびジョブ電力予測装置
Awad et al. Deriving parameters for open and closed qn models of operational systems through black box optimization
JP7235960B2 (ja) ジョブ電力予測プログラム、ジョブ電力予測方法、およびジョブ電力予測装置
US7840391B2 (en) Model-diversity technique for improved proactive fault monitoring
EP4116853B1 (en) Computer-readable recording medium storing evaluation program, evaluation method, and information processing device
Stival et al. Doubly-online changepoint detection for monitoring health status during sports activities
Macedo et al. A Machine Learning Approach for Spare Parts Lifetime Estimation.
CN112416709A (zh) 芯片动态功耗估计方法、装置、处理器芯片及服务器
Bayram et al. Improving reliability with dynamic syndrome allocation in intelligent software defined data centers
Qiang et al. Worker Skill Estimation from Crowdsourced Mutual Assessments
US20230161683A1 (en) Method and apparatus for detecting outliers in a set of runs of software applications
RU2671301C1 (ru) Способ и устройство оценки эффективности стратегии долгосрочного планирования мероприятий по обеспечению требуемого состояния сложной организационно-технической системы

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination