CN105653459A - 应用功耗测量方法及装置 - Google Patents
应用功耗测量方法及装置 Download PDFInfo
- Publication number
- CN105653459A CN105653459A CN201610021875.9A CN201610021875A CN105653459A CN 105653459 A CN105653459 A CN 105653459A CN 201610021875 A CN201610021875 A CN 201610021875A CN 105653459 A CN105653459 A CN 105653459A
- Authority
- CN
- China
- Prior art keywords
- power consumption
- application
- parameter sets
- target
- intended application
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
Abstract
本发明公开了一种应用功耗测量方法及装置,属于计算机技术领域。所述方法包括:获取目标应用运行时的至少两个初始功耗参数集合;根据至少两个初始功耗参数集合,确定目标功耗参数集合,目标功耗参数集合为至少两个初始功耗参数集合的均值;根据目标功耗参数集合,建立三维查找表LUT;获取目标应用运行时的一组目标变量参数;在三维LUT中查找一组目标变量参数对应的目标动态功耗;根据目标动态功耗确定目标应用的整体功耗。本发明解决了应用功耗测量的准确性较差的问题,提高了应用功耗测量的准确性,本发明用于应用的功耗测量。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种应用功耗测量方法及装置。
背景技术
计算机上可以运行多个应用,为了对计算机上运行的多个应用进行管理,需要对计算机上运行的每个应用的整体功耗进行测量。
应用的整体功耗由应用的静态功耗和应用的动态功耗组成。相关技术中,使用线性函数模型对应用的动态功耗与计算机使用状态值的关系进行描述。首先,在应用运行的过程中,可以采集不同时刻应用的动态功耗以及计算机的使用状态值,然后,以计算机的使用状态值为变量,以应用的动态功耗为函数值,建立线性函数模型。当需要测量该应用在某一时刻的整体功耗时,可以获取该应用的静态功耗,然后获取在该时刻计算机的使用状态值,将该时刻计算机的使用状态值代入建立好的线性函数模型,得出该时刻应用的动态功耗,并将该应用的静态功耗和动态功耗之和作为该应用的整体功耗。
由于线性函数模型的函数值具有线性变化的特征,但是某一些应用的动态功耗不具有线性变化的特征,使用线性函数模型无法准确的测量不具有线性变化特征的动态功耗,进而无法准确的测量应用的整体功耗,因此,应用功耗测量的准确性较差。
发明内容
为了解决应用功耗测量的准确性较差的问题,本发明提供了一种应用功耗测量方法及装置。所述技术方案如下:
一方面,提供了一种应用功耗测量方法,所述方法包括:
获取目标应用运行时的至少两个初始功耗参数集合,每个初始功耗参数集合包括至少一个功耗参数子集,每个功耗参数子集包括:一组变量参数以及所述一组变量参数对应的动态功耗,所述一组变量参数包括:中央处理器CPU利用率、最末级缓存LLC缺失率和磁盘访问率,每个初始功耗参数集合包括:所述目标应用运行过程中,不同的CPU利用率、不同的LLC缺失率以及不同的磁盘访问率;
根据所述至少两个初始功耗参数集合,确定目标功耗参数集合,所述目标功耗参数集合为所述至少两个初始功耗参数集合的均值;
根据所述目标功耗参数集合,建立三维查找表LUT,所述三维LUT用于记录所述目标应用运行时,每组变量参数与动态功耗的对应关系;
获取所述目标应用运行时的一组目标变量参数;
在所述三维LUT中查找所述一组目标变量参数对应的目标动态功耗;
根据所述目标动态功耗确定所述目标应用的整体功耗。
可选的,所述目标应用运行在计算机上,在所述获取目标应用运行时的至少两个初始功耗参数集合之前,所述方法还包括:
在所述计算机上未运行任何应用时,获取所述计算机的静态功耗;
根据所述目标动态功耗确定所述目标应用的整体功耗,包括:
获取所述计算机上运行的应用的个数;
根据所述计算机的静态功耗、所述计算机上运行的应用的个数以及静态功耗计算公式,确定所述目标应用运行时的静态功耗,所述静态功耗计算公式为:
PApp(i)_static=PHost_static/NApp;
其中,所述PApp(i)_static为所述目标应用运行时的静态功耗,所述PHost_static为所述计算机的静态功耗,所述NApp为所述计算机上运行的应用的个数;
根据所述目标应用运行时的静态功耗、所述目标动态功耗和整体功耗计算公式,确定所述目标应用的整体功耗,所述整体功耗计算公式为:
PApp(i)=PApp(i)_static+PApp(i)_dynamic;
其中,所述PApp(i)为所述目标应用的整体功耗,所述PApp(i)_dynamic为所述对应的动态功耗,所述PApp(i)_static为所述目标应用的静态功耗。
可选的,根据所述目标功耗参数集合,建立三维LUT,包括:
根据所述目标功耗参数集合,确定CPU利用率的变化范围、所述LLC缺失率的变化范围和所述磁盘访问率的变化范围;
根据所述CPU利用率的变化范围、所述LLC缺失率的变化范围、所述磁盘访问率的变化范围和所述目标功耗参数集合,建立初始LUT,所述初始LUT上设置有至少一个位置,每个位置与一组变量参数相对应,所述目标功耗参数集合中任一组变量参数对应的位置上,记录有所述任一组变量参数对应的动态功耗;
根据所述目标功耗参数集合中的动态功耗,确定空位变量参数对应的空位动态功耗,所述空位变量参数对应的位置上未记录有动态功耗;
将所述空位动态功耗填入所述空位变量参数对应的位置,得到所述三维LUT。
可选的,所述获取目标应用运行时的至少两个初始功耗参数集合,包括:
确定n个应用的至少两个启动顺序,所述n个应用包括所述目标应用,所述n大于或等于1;
在所述计算机上未运行应用时,根据第一启动顺序,在所述计算机上依次启动所述n个应用,当i>1,且在启动第i+1个应用时,第1个至第i个应用均运行在所述计算机上,所述第一启动顺序为所述至少两个启动顺序中的任一启动顺序,所述i大于或等于1,且小于或等于n;
在启动第i个应用后,获取所述第i个应用运行时的初始功耗参数集合。
可选的,所述获取目标应用运行时的至少两个初始功耗参数集合,包括:
确定n个应用的至少两个启动顺序,所述n个应用包括所述目标应用,所述n大于或等于1;
在所述计算机上未运行应用时,根据第一启动顺序,在所述计算机上依次启动所述n个应用,在启动第i个应用时,所述计算机上未运行有任何应用,所述第一启动顺序为所述至少两个启动顺序中的任一启动顺序,所述i大于或等于1,且小于或等于n;
在启动第i个应用时,获取所述第i个应用运行时的初始功耗参数集合。
可选的,所述CPU利用率的变化范围为:[0%,400%);所述LLC缺失率的单位为1000000次每秒,所述LLC缺失率的变化范围为:[0,500),所述磁盘访问率的单位为1000次每秒,所述磁盘访问率的变化范围为:[0,50)。
可选的,所述目标功耗参数集合包括:所述目标应用运行过程中,所有不同的CPU利用率、所有不同的LLC缺失率以及所有不同的磁盘访问率。
另一方面,提供了一种应用功耗测量装置,所述应用功耗测量装置包括:
第一获取模块,用于获取目标应用运行时的至少两个初始功耗参数集合,每个初始功耗参数集合包括至少一个功耗参数子集,每个功耗参数子集包括:一组变量参数以及所述一组变量参数对应的动态功耗,所述一组变量参数包括:中央处理器CPU利用率、最末级缓存LLC缺失率和磁盘访问率,所述目标功耗参数集合包括:所述目标应用运行过程中,不同的CPU利用率、不同的LLC缺失率以及不同的磁盘访问率;
第一确定模块,用于根据所述至少两个初始功耗参数集合,确定目标功耗参数集合,所述目标功耗参数集合为所述至少两个初始功耗参数集合的均值;
建立模块,用于根据所述目标功耗参数集合,建立三维查找表LUT,所述三维LUT用于记录所述目标应用运行时,每组变量参数与动态功耗的对应关系;
第二获取模块,用于获取所述目标应用运行时的一组目标变量参数;
查找模块,用于在所述三维LUT中查找所述一组目标变量参数对应的目标动态功耗;
第二确定模块,用于根据所述目标动态功耗确定所述目标应用的整体功耗。
可选的,所述目标应用运行在计算机上,所述应用功耗测量装置还包括:
第三获取模块,用于在所述计算机上未运行任何应用时,获取所述计算机的静态功耗;
所述第二确定模块还用于:
获取所述计算机上运行的应用的个数;
根据所述计算机的静态功耗、所述计算机上运行的应用的个数以及静态功耗计算公式,确定所述目标应用运行时的静态功耗,所述静态功耗计算公式为:
PApp(i)_static=PHost_static/NApp;
其中,所述PApp(i)_static为所述目标应用运行时的静态功耗,所述PHost_static为所述计算机的静态功耗,所述NApp为所述计算机上运行的应用的个数;
根据所述目标应用运行时的静态功耗、所述目标动态功耗和整体功耗计算公式,确定所述目标应用的整体功耗,所述整体功耗计算公式为:
PApp(i)=PApp(i)_static+PApp(i)_dynamic;
其中,所述PApp(i)为所述目标应用的整体功耗,所述PApp(i)_dynamic为所述对应的动态功耗,所述PApp(i)_static为所述目标应用的静态功耗。
可选的,所述建立模块还用于:
根据所述目标功耗参数集合,确定CPU利用率的变化范围、所述LLC缺失率的变化范围和所述磁盘访问率的变化范围;
根据所述CPU利用率的变化范围、所述LLC缺失率的变化范围、所述磁盘访问率的变化范围和所述目标功耗参数集合,建立初始LUT,所述初始LUT上设置有至少一个位置,每个位置与一组变量参数相对应,所述目标功耗参数集合中任一组变量参数对应的位置上,记录有所述任一组变量参数对应的动态功耗;
根据所述目标功耗参数集合中的动态功耗,确定空位变量参数对应的空位动态功耗,所述空位变量参数对应的位置上未记录有动态功耗;
将所述空位动态功耗填入所述空位变量参数对应的位置,得到所述三维LUT。
可选的,所述第一获取模块还用于:
确定n个应用的至少两个启动顺序,所述n个应用包括所述目标应用,所述n大于或等于1;
在所述计算机上未运行应用时,根据第一启动顺序,在所述计算机上依次启动所述n个应用,当i>1,且在启动第i+1个应用时,第1个至第i个应用均运行在所述计算机上,所述第一启动顺序为所述至少两个启动顺序中的任一启动顺序,所述i大于或等于1,且小于或等于n;
在启动第i个应用后,获取所述第i个应用运行时的初始功耗参数集合。
可选的,所述第一获取模块还用于:
确定n个应用的至少两个启动顺序,所述n个应用包括所述目标应用,所述n大于或等于1;
在所述计算机上未运行应用时,根据第一启动顺序,在所述计算机上依次启动所述n个应用,在启动第i个应用时,所述计算机上未运行有任何应用,所述第一启动顺序为所述至少两个启动顺序中的任一启动顺序,所述i大于或等于1,且小于或等于n;
在启动第i个应用时,获取所述第i个应用运行时的初始功耗参数集合。
可选的,所述CPU利用率的变化范围为:[0%,400%);所述LLC缺失率的单位为1000000次每秒,所述LLC缺失率的变化范围为:[0,500),所述磁盘访问率的单位为1000次每秒,所述磁盘访问率的变化范围为:[0,50)。
可选的,所述目标功耗参数集合包括:所述目标应用运行过程中,所有不同的CPU利用率、所有不同的LLC缺失率以及所有不同的磁盘访问率。
本发明提供了一种应用功耗测量方法及装置,在测量目标应用的整体功耗前,建立了三维LUT,且该三维LUT用于记录目标应用运行时,每组变量参数与动态功耗的对应关系,且该三维LUT能够适用于测量不具有线性变化特征的动态功耗,因此,能够准确的测量应用的整体功耗,提高了应用功耗测量的准确性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种应用功耗测量方法的方法流程图;
图2-1为本发明实施例提供的另一种应用功耗测量方法的方法流程图;
图2-2为本发明实施例提供的一种初始LUT的示意图;
图2-3为本发明实施例提供的一种初始LUT中的二维表格的示意图;
图2-4为本发明实施例提供的一种三维LUT中的二维表格的示意图;
图3-1为本发明实施例提供的一种应用功耗测量装置的结构示意图;
图3-2为本发明实施例提供的另一种应用功耗测量装置的结构示意图。
通过上述附图,已示出本发明明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本发明构思的范围,而是通过参考特定实施例为本领域技术人员说明本发明的概念。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
相关技术中,使用线性函数模型对应用在计算机上运行时,中央处理器(英文:CentralProcessingUnit;简称:CPU)、缓存(英文:Cache)单元和磁盘的使用状态以及功耗的对应关系进行描述。具体的,首先,可以将该应用在计算机上运行,并在运行的过程中,采集该应用在不同时刻对应的CPU、Cache单元和磁盘的使用状态以及功耗,然后,以应用对应的CPU、Cache单元和磁盘的使用状态为变量,以应用对应的功耗为函数值,建立线性函数模型。当需要测量该应用在运行时某一时刻对应的功耗时,可以获取在该时刻应用对应的CPU、Cache单元和磁盘的使用状态,并将该时刻应用对应的CPU、Cache单元和磁盘的使用状态代入建立好的线性函数模型,从而确定该时刻应用对应的功耗。
如图1所示,本发明实施例提供了一种应用功耗测量方法,该应用功耗测量方法可以包括:
步骤101、获取目标应用运行时的至少两个初始功耗参数集合,每个初始功耗参数集合包括至少一个功耗参数子集,每个功耗参数子集包括:一组变量参数以及一组变量参数对应的动态功耗,一组变量参数包括:中央处理器CPU利用率、最末级缓存(英文:LastLevelCache;简称:LLC)缺失率和磁盘访问率,目标功耗参数集合包括:目标应用运行过程中,不同的CPU利用率、不同的LLC缺失率以及不同的磁盘访问率。
步骤102、根据至少两个初始功耗参数集合,确定目标功耗参数集合,目标功耗参数集合为至少两个初始功耗参数集合的均值。
步骤102、根据目标功耗参数集合,建立三维查找表(英文:LookUpTable;简称:LUT),三维LUT用于记录目标应用运行时,每组变量参数与动态功耗的对应关系。
步骤103、获取目标应用运行时的一组目标变量参数。
步骤104、在三维LUT中查找一组目标变量参数对应的目标动态功耗。
步骤105、根据目标动态功耗确定目标应用的整体功耗。
综上所述,由于本发明实施例提供的应用功耗测量方法中,在测量目标应用的整体功耗前,建立了三维LUT,且该三维LUT用于记录目标应用运行时,每组变量参数与动态功耗的对应关系,且该三维LUT能够适用于测量不具有线性变化特征的动态功耗,因此,能够准确的测量应用的整体功耗,提高了应用功耗测量的准确性。
可选的,目标应用运行在计算机上,在步骤101之前,方法还包括:
在计算机上未运行任何应用时,获取计算机的静态功耗;
步骤105可以包括:
获取计算机上运行的应用的个数;
根据计算机的静态功耗、计算机上运行的应用的个数以及静态功耗计算公式,确定目标应用运行时的静态功耗,静态功耗计算公式为:
PApp(i)_static=PHost_static/NApp;
其中,PApp(i)_static为目标应用运行时的静态功耗,PHost_static为计算机的静态功耗,NApp为计算机上运行的应用的个数;
根据目标应用运行时的静态功耗、目标动态功耗和整体功耗计算公式,确定目标应用的整体功耗,整体功耗计算公式为:
PApp(i)=PApp(i)_static+PApp(i)_dynamic;
其中,PApp(i)为目标应用的整体功耗,PApp(i)_dynamic为对应的动态功耗,PApp(i)_static为目标应用的静态功耗。
可选的,步骤102可以包括:
根据目标功耗参数集合,确定CPU利用率的变化范围、LLC缺失率的变化范围和磁盘访问率的变化范围;
根据CPU利用率的变化范围、LLC缺失率的变化范围、磁盘访问率的变化范围和目标功耗参数集合,建立初始LUT,初始LUT上设置有至少一个位置,每个位置与一组变量参数相对应,目标功耗参数集合中任一组变量参数对应的位置上,记录有任一组变量参数对应的动态功耗;
根据目标功耗参数集合中的动态功耗,确定空位变量参数对应的空位动态功耗,空位变量参数对应的位置上未记录有动态功耗;
将空位动态功耗填入空位变量参数对应的位置,得到三维LUT。
可选的,步骤101可以包括:
确定n个应用的至少两个启动顺序,n个应用包括目标应用,n大于或等于1;
在计算机上未运行应用时,根据第一启动顺序,在计算机上依次启动n个应用,当i>1,且在启动第i+1个应用时,第1个至第i个应用均运行在计算机上,第一启动顺序为至少两个启动顺序中的任一启动顺序,i大于或等于1,且小于或等于n;
在启动第i个应用后,获取第i个应用运行时的初始功耗参数集合。
可选的,步骤101还可以包括:
确定n个应用的至少两个启动顺序,n个应用包括目标应用,n大于或等于1;
在计算机上未运行应用时,根据第一启动顺序,在计算机上依次启动n个应用,在启动第i个应用时,计算机上未运行有任何应用,第一启动顺序为至少两个启动顺序中的任一启动顺序,i大于或等于1,且小于或等于n;
在启动第i个应用时,获取第i个应用运行时的初始功耗参数集合。
可选的,CPU利用率的变化范围为:[0%,400%);LLC缺失率的单位为1000000次每秒,LLC缺失率的变化范围为:[0,500),磁盘访问率的单位为1000次每秒,磁盘访问率的变化范围为:[0,50)。
可选的,目标功耗参数集合可以包括:目标应用运行过程中,所有不同的CPU利用率、所有不同的LLC缺失率以及所有不同的磁盘访问率。
综上所述,由于本发明实施例提供的应用功耗测量方法中,在测量目标应用的整体功耗前,建立了三维LUT,且该三维LUT用于记录目标应用运行时,每组变量参数与动态功耗的对应关系,且该三维LUT能够适用于测量不具有线性变化特征的动态功耗,因此,能够准确的测量应用的整体功耗,提高了应用功耗测量的准确性。
如图2-1所示,本发明实施例提供了另一种应用功耗测量方法,该应用功耗测量方法可以用于测量运行在计算机上的目标应用的整体功耗,该应用功耗测量方法可以包括:
步骤201、在计算机上未运行任何应用时,获取计算机的静态功耗。
示例的,当计算机上未运行任何应用时,可以给计算机接入工作电压,并直接获取计算机的功耗,将此时获取的计算机上的功耗作为计算机的静态功耗,示例的,可以使用功耗仪获取计算机的静态功耗。可选的,获取计算机的功耗的具体步骤可以参考相关技术中获取计算机功耗的具体步骤,本发明实施例在此不做赘述。
步骤202、获取目标应用运行时的至少两个初始功耗参数集合。
具体的,目标功耗参数集合可以包括至少一个功耗参数子集,每个功耗参数子集可以包括:一组变量参数以及一组变量参数对应的动态功耗,一组变量参数可以包括:CPU利用率、LLC缺失率和磁盘访问率,目标功耗参数集合可以包括:目标应用运行过程中,所有不同的CPU利用率、所有不同的LLC缺失率以及所有不同的磁盘访问率。
需要说明的是,该LLC缺失率也称为LLCmiss(缺失)率,即应用在计算机上运行时,每秒计算机上的最末级缓存缺失次数。磁盘访问率为应用在计算机上运行时,每秒计算机上磁盘的访问次数。
一方面,在获取目标应用运行时的至少两个初始功耗参数集合时,可以首先确定n个应用的至少两个启动顺序,该n个应用可以包括目标应用,n大于或等于1。然后,在所述计算机上未运行应用时,根据第一启动顺序,在计算机上依次启动n个应用,需要说明是,当i>1,且在启动第i+1个应用时,第1个至第i个应用均运行在计算机上,该第一启动顺序为至少两个启动顺序中的任一启动顺序,所述i大于或等于1,且小于或等于n;在启动第i个应用后,可以获取第i个应用运行时的初始功耗参数集合。当多个应用同时运行在计算机上时,采用这种方式可以快速简单的获取每个应用运行时的至少两个初始功耗参数集合。
可选的,若计算机上需要运行四个应用,且在该第一启动顺序中,目标应用为该四个应用中第一个在计算机上启动的应用,则可以在计算机上启动目标应用后,获取计算机的第一整体功耗,然后可以将该第一整体功耗与步骤201中计算得到的计算机的静态功耗的差值,作为该第一个应用的动态功耗。进一步的,在获取第一整体功耗时,还可以获取该应用的CPU利用率、LLC缺失率和磁盘访问率。示例的,可以在该第一个应用在计算机运行的一段时间内,获取该第一个应用的多组功耗参数子集,每组动态功耗参数子集均可以包括一组变量参数以及一组变量参数对应的动态功耗,该一组变量参数可以包括CPU利用率、LLC缺失率和磁盘访问率。
持续对第一个应用的CPU利用率、LLC缺失率和磁盘访问率进行采样,直至采取的CPU利用率的变化范围覆盖该应用运行时CPU利用率的变化范围,采取的LLC缺失率的变化范围覆盖该应用运行时LLC缺失率的变化范围,采取的磁盘访问率的变化范围覆盖该应用运行时磁盘访问率的变化范围。使得该目标功耗参数集合中的CPU利用率可以包括:目标应用运行过程中,所有不同的CPU利用率;该目标功耗参数集合中的LLC缺失率可以包括:目标应用运行过程中,所有不同的LLC缺失率;该目标功耗参数集合中的磁盘访问率可以包括:目标应用运行过程中,所有不同的磁盘访问率。
可选的,若计算机上需要运行四个应用,且在该第一启动顺序中,该目标应用为该四个应用中第二个在计算机上启动的应用,在启动目标应用后,第一个应用和第二个应用同时运行在计算机上,可以在确定第一个应用运行时计算机的第一整体功耗的前提下,在第一个应用和第二个应用均运行时,获取计算机的第二整体功耗,并将该第二整体功耗与第一整体功耗的差值作为该第二个应用的动态功耗。然后可以参考获取第一个应用的目标功耗参数集合的方法,获取第二个应用的目标功耗参数集合。
可选的,若计算机上需要运行四个应用,且在该第一启动顺序中,该目标应用为该四个应用中第三个在计算机上启动的应用,在启动目标应用后,第一个应用、第二个应用和第三个应用同时运行在计算机上,可以在确定第一个应用和第二个应用运行时计算机的第二整体功耗的前提下,在第一个应用、第二个应用和第三个应用均运行时,获取计算机的第三整体功耗,并将该第三整体功耗与第二整体功耗的差值作为该第三个应用的动态功耗。然后可以参考获取第一个应用的目标功耗参数集合的方法,获取第三个应用的目标功耗参数集合。
可选的,若计算机上需要运行四个应用,且在该第一启动顺序中,该目标应用为该四个应用中第四个在计算机上启动的应用,在启动目标应用后,第一个应用、第二个应用、第三个应用和第四个应用同时运行在计算机上,可以在确定第一个应用、第二个应用和第三个应用运行时计算机的第三整体功耗的前提下,在第一个应用、第二个应用、第三个应用和第四个应用均运行时,获取计算机的第四整体功耗,并将该第四整体功耗与第三整体功耗的差值作为该第四个应用的动态功耗。然后可以参考获取第一个应用的目标功耗参数集合的方法,获取第四个应用的目标功耗参数集合。
示例的,在获取上述第一整体功耗、第二整体功耗、第三整体功耗或第四整体功耗时,可以使用功耗仪进行获取。在获取应用的CPU利用率、LLC缺失率和磁盘访问率时,可以通过管理程序的专用工具获得,该管理程序的专用工具可以为Linux操作***下的top工具(Linux操作***下的一种测量工具)和perf工具(Linux操作***下的一种测量工具)。
另一方面,在获取目标应用运行时的至少两个初始功耗参数集合时,还可以首先确定n个应用的至少两个启动顺序,n个应用包括目标应用,n大于或等于1。然后在计算机上未运行应用时,根据第一启动顺序,在计算机上依次启动n个应用,在启动第i个应用时,计算机上未运行有任何应用,第一启动顺序为至少两个启动顺序中的任一启动顺序,i大于或等于1,且小于或等于n。并且在启动第i个应用时,获取第i个应用运行时的初始功耗参数集合。当多个应用同时运行在计算机上时,采用这种方式可以准确的获取每个应用运行时的至少两个初始功耗参数集合。
可选的,若计算机上需要运行四个应用,且在该第一启动顺序中,目标应用为该四个应用中第一个在计算机上启动的应用,则可以在计算机上启动目标应用后,获取计算机的第一整体功耗,然后可以将该第一整体功耗与步骤201中计算得到的计算机的静态功耗的差值,作为该第一个应用的动态功耗。进一步的,在获取第一整体功耗时,还可以获取该应用的CPU利用率、LLC缺失率和磁盘访问率。示例的,可以在该第一个应用在计算机运行的一段时间内,获取该第一个应用的多组功耗参数子集,每组动态功耗参数子集均可以包括一组变量参数以及一组变量参数对应的动态功耗,该一组变量参数可以包括CPU利用率、LLC缺失率和磁盘访问率。
持续对第一个应用的CPU利用率、LLC缺失率和磁盘访问率进行采样,直至采取的CPU利用率的变化范围覆盖该应用运行时CPU利用率的变化范围,采取的LLC缺失率的变化范围覆盖该应用运行时LLC缺失率的变化范围,采取的磁盘访问率的变化范围覆盖该应用运行时磁盘访问率的变化范围。使得该目标功耗参数集合中的CPU利用率可以包括:目标应用运行过程中,所有不同的CPU利用率;该目标功耗参数集合中的LLC缺失率可以包括:目标应用运行过程中,所有不同的LLC缺失率;该目标功耗参数集合中的磁盘访问率可以包括:目标应用运行过程中,所有不同的磁盘访问率。
可选的,若计算机上需要运行四个应用,且在该第一启动顺序中,该目标应用为该四个应用中第三个在计算机上启动的应用,在启动目标应用后,仅第三个应用(目标应用)运行在计算机上,可以获取计算机的第三整体功耗,并将该第三整体功耗与计算机的静态功耗的差值作为该第三个应用的动态功耗。然后可以参考获取第一个应用的目标功耗参数集合的方法,获取第三个应用的目标功耗参数集合。
可选的,若计算机上需要运行四个应用,且在该第一启动顺序中,该目标应用为该四个应用中第四个在计算机上启动的应用,在启动目标应用后,仅第四个应用(目标应用)运行在计算机上,可以获取计算机的第四整体功耗,并将该第四整体功耗与计算机的静态功耗的差值作为该第四个应用的动态功耗。然后可以参考获取第一个应用的目标功耗参数集合的方法,获取第四个应用的目标功耗参数集合。
步骤203、根据所述至少两个初始功耗参数集合,确定目标功耗参数集合。
示例的,可以将目标应用运行时的至少两个初始功耗参数集合的均值作为目标功耗参数集合。具体的,可以将该至少两个初始功耗参数集合代入目标公式中,计算该目标功耗参数集合,该目标公式可以为:
其中,i为CPU利用率,j为LLC缺失率和k为磁盘访问率,valueAvg[i][j][k]为目标功耗参数集合中参数i,j,k对应的动态功耗,n为所述初始功耗参数集合的个数,valuep[i][j][k]为至少两个初始功耗参数集合中,第p个初始功耗参数集合中参数i,j,k对应的动态功耗。
由于在至少两个的不同的启动顺序下,获取了至少两个初始功耗参数集合,并将该至少两个初始功耗参数集合的均值作为目标功耗参数集合,即进行了多次采样,并将多次采样的均值作为目标采样值,这样整体上应用功耗参数集合覆盖面更广,更具有随机性,更能反映应用的真实运行情况,减小了单次采样的不确定性,提高目标功耗参数集合的准确性。示例的,该初始目标功耗参数集合的个数大于或等于3,且小于或等于5。
步骤204、根据目标功耗参数集合,建立三维LUT。
示例的,可以根据每个应用的目标功耗参数集合,为每个应用建立一个三维LUT。三维LUT可以用于记录目标应用运行时,每组变量参数与动态功耗的对应关系。
在为一个应用建立三维LUT时,可以根据获取的目标功耗参数集合中记录的CPU利用率、LLC确实率和磁盘的访问率,确定CPU利用率的变化范围、LLC缺失率的变化范围和磁盘访问率的变化范围。可选的,CPU利用率的变化范围可以为:[0%,400%),示例的,CPU利用率的单位可以为1%,此时该CPU利用率的变化范围为[0,400);LLC缺失率的单位可以为2000000次每秒,LLC缺失率的变化范围可以为:[0,500),磁盘访问率的单位可以为2000次每秒,磁盘访问率的变化范围可以为:[0,50)。
在确定一组变量参数中每个参数的变化范围后,可以根据CPU利用率的变化范围、LLC缺失率的变化范围、磁盘访问率的变化范围和目标功耗参数集合中记载的对应关系,建立初始LUT。该初始LUT上可以设置有至少一个位置,且该每个位置与一组变量参数相对应,目标功耗参数集合中任一组变量参数对应的位置上,记录有任一组变量参数对应的动态功耗。示例的,如图2-2所示,该初始LUT可以为一个三维表格,且该三维表格的三个输入分别为该应用的CPU利用率、LLC缺失率和磁盘访问率,该三维表格的输出为该应用的动态功耗。该三维表格可以由至少一个二维表格M组成,且每个二维表格M的两个输入可以为CPU利用率和LLC缺失率,且该至少一个二维表格M与获取的至少一个磁盘访问率一一对应,每个二维表格M的输出为该二维表格M对应的磁盘访问率、该二维表格M中的CPU利用率和该二维表格M中的LLC缺失率所对应的动态功耗。
图2-3为本发明实施例提供的一种初始LUT中的二维表格示意图,如图2-3所示,该二维表格的横向输入可以为LLC缺失率,该二维表格的纵向输入可以为CPU利用率,且该二维表格对应的磁盘访问率可以为2倍的2000次每秒。示例的,当CPU利用率为7倍的1%,LLC缺失率为2倍的2000000次每秒,该磁盘访问率可以为2倍的2000次每秒时,该应用的动态功耗为该二维表格中,第8行第3列的位置上记录的动态功耗可以为16W(瓦)。当CPU利用率为9倍的1%,LLC缺失率为2倍的2000000次每秒,该磁盘访问率可以为2倍的2000次每秒时,该应用的动态功耗为该二维表格中,第10行第3列的位置上记录的动态功耗可以为28W(瓦)。
在建立好该初始LUT后,可以根据目标功耗参数集合中的动态功耗,确定空位变量参数对应的空位动态功耗并将空位动态功耗填入空位变量参数对应的位置,得到三维LUT。需要说明的是,该空位变量参数可以为该初始LUT上未记录有动态功耗的位置对应的变量参数。如图2-3所示,该二维表格中,第二行第二列的位置上未记录有动态功耗,此时,可以认为该空位变相参数为CPU利用率为1倍的1%,LLC缺失率为1倍的2000000次每秒,该磁盘访问率可以为2倍的2000次每秒。
在建立好该初始LUT后,根据目标功耗参数集合和初始LUT得到三维LUT时,可以根据该初始LUT中已经记录有的动态功耗确定空位动态功耗。示例的,图2-3为本发明实施例提供的一种三维LUT中的二维表格示意图,如图2-4所示,可以将二维表格中的第一行LUT[0][]的每个位置填入0,表明当空位变量参数为CPU利用率为1倍的1%和磁盘访问率为2倍的2000次每秒时,该应用的动态功耗均为0W。
在该二维表格中的行LUT[CPU][]中:
1)若该行中存在连续的空白序列(连续至少2个位置未记录有动态功耗),且该连续的空白序列的前后两个邻居位置均已经记录有动态功耗,则将该两个邻居位置记录的动态功耗的平均值填入该连续的空白序列中的每个位置,或者,根据该两个邻居位置记录的动态功耗在该连续的空白序列中线性填入动态功耗。
示例的,如图2-3所示,LUT[4][4]和LUT[4][5]上未记录有动态功耗,即该二维表格中的LUT[4][4]和LUT[4][5]两个位置为连续的空白序列,在行LUT[4][]中,该连续的空白序列前后的两个邻居分别为LUT[4][3](=8)和LUT[4][6](=10),且LUT[4][3](=8)和LUT[4][6](=10)的平均值为9,则如图2-4所示,可以在LUT[4][4]和LUT[4][5]两个位置中均填入9。
2)若连续的空白序列有惟一的邻居位置已经记录有动态功耗,则将该唯一的邻居位置记录的动态功耗填入该连续的空白序列中的每个位置。
示例的,如图2-3所示,LUT[3][0]、LUT[3][1]和LUT[3][2]上未记录有动态功耗,即该二维表格中的LUT[2][0]、LUT[2][1]和LUT[2][2]三个位置为连续的空白序列,在行LUT[2][]中,该连续的空白序列记录有动态功耗的邻居位置为LUT[2][3](=5),则如图2-4所示,可以在LUT[2][0]、LUT[2][1]和LUT[2][2]三个位置中均填入5。
在该二维表格中的第一列LUT[][0]中:
1)若距离位置LUT[0][0]最远的位置上未记录有动态功耗,则可以将第一列LUT[][0]中距离该最远的位置最近的位置上记录的动态功耗填入该最远的位置。
示例的,如图2-3所示,LUT[9][0]为第一列LUT[][0]中,距离位置LUT[0][0]最远的位置,LUT[9][0]上未记录有动态功耗,且第一列LUT[][0]中距离该最远的位置LUT[9][0]最近的位置LUT[8][0]上记录的动态功耗为28,则如图2-4所示,可以在位置LUT[9][0]中填入28。
2)若该列中存在连续的空白序列(连续至少2个位置未记录有动态功耗),且该连续的空白序列的前后两个邻居位置均已经记录有动态功耗,则根据该两个邻居位置记录的动态功耗在该连续的空白序列中线性填入动态功耗。
步骤205、获取目标应用运行时的一组目标变量参数。
在建立好三维LUT后,且在目标应用运行在计算机上时,如果需要测量该目标应用的整体功耗,则可以直接获取该目标应用运行时的一组目标变量参数,示例的,每个时刻该目标应用都有一组变量参数,在需要测量目标应用在某一时刻的整体功耗时,可以获取该某一时刻目标应用的一组目标变量参数,该一组目标变量参数可以包括目标CPU利用率、目标LLC缺失率和目标磁盘访问率。
步骤206、在三维LUT中查找一组目标变量参数对应的位置上记录的目标动态功耗。
在获取该目标应用的一组目标变量参数后,可以在建立好的三维LUT中查找该一组目标变量参数中的目标CPU利用率、目标LLC缺失率和目标磁盘访问率对应的位置,并获取该目标变量参数对应的位置上记录的目标动态功耗。
步骤207、根据目标动态功耗确定目标应用的整体功耗。
在确定该目标应用的动态功耗后,首先,可以获取计算机上运行的应用的个数,并根据步骤201中获取的计算机的静态功耗、计算机上运行的应用的个数以及静态功耗计算公式,确定目标应用运行时的静态功耗,该静态功耗计算公式可以为:
PApp(i)_static=PHost_static/NApp;
其中,PApp(i)_static为目标应用运行时的静态功耗,PHost_static为计算机的静态功耗,NApp为计算机上运行的应用的个数。
然后,可以根据目标应用运行时的静态功耗、目标应用的目标动态功耗和整体功耗计算公式,确定目标应用的整体功耗,该整体功耗计算公式可以为:
PApp(i)=PApp(i)_static+PApp(i)_dynamic;
其中,PApp(i)为目标应用的整体功耗,PApp(i)_dynamic为对应的动态功耗,PApp(i)_static为目标应用的静态功耗。
假设该计算机的静态功耗为150W,该计算机上运行有5个应用,则根据静态功耗计算公式可以得到,该计算机上的每个应用的静态功耗为30W。若在目标应用的三维LUT中查找的目标应用的动态功耗为40W,则可以根据整体功耗计算公式确定该目标应用的整体功耗为70W。
综上所述,由于本发明实施例提供的应用功耗测量方法中,在测量目标应用的整体功耗前,建立了三维LUT,且该三维LUT用于记录目标应用运行时,每组变量参数与动态功耗的对应关系,且该三维LUT能够适用于测量不具有线性变化特征的动态功耗,因此,能够准确的测量应用的整体功耗,提高了应用功耗测量的准确性。
如图3-1所示,本发明实施例提供了一种应用功耗测量装置30,该应用功耗测量装置30可以包括:
第一获取模块301,用于获取目标应用运行时的至少两个初始功耗参数集合,每个初始功耗参数集合包括至少一个功耗参数子集,每个功耗参数子集包括:一组变量参数以及一组变量参数对应的动态功耗,一组变量参数包括:CPU利用率、LLC缺失率和磁盘访问率,目标功耗参数集合包括:目标应用运行过程中,不同的CPU利用率、不同的LLC缺失率以及不同的磁盘访问率。
第一确定模块302,用于根据至少两个初始功耗参数集合,确定目标功耗参数集合,目标功耗参数集合为至少两个初始功耗参数集合的均值。
建立模块303,用于根据目标功耗参数集合,建立三维LUT,三维LUT用于记录目标应用运行时,每组变量参数与动态功耗的对应关系。
第二获取模块304,用于获取目标应用运行时的一组目标变量参数。
查找模块305,用于在三维LUT中查找一组目标变量参数对应的目标动态功耗。
第二确定模块306,用于根据目标动态功耗确定目标应用的整体功耗。
综上所述,由于本发明实施例提供的应用功耗测量装置中,建立模块在测量目标应用的整体功耗前,建立了三维LUT,且该三维LUT用于记录目标应用运行时,每组变量参数与动态功耗的对应关系,且该三维LUT能够适用于测量不具有线性变化特征的动态功耗,因此,能够准确的测量应用的整体功耗,提高了应用功耗测量的准确性。
如图3-2所示,本发明实施例提供了另一种应用功耗测量装置30,目标应用运行在计算机上,该应用功耗测量装置30可以包括:
第一获取模块301,用于获取目标应用运行时的至少两个初始功耗参数集合,每个初始功耗参数集合包括至少一个功耗参数子集,每个功耗参数子集包括:一组变量参数以及一组变量参数对应的动态功耗,一组变量参数包括:CPU利用率、LLC缺失率和磁盘访问率,目标功耗参数集合包括:目标应用运行过程中,不同的CPU利用率、不同的LLC缺失率以及不同的磁盘访问率。
第一确定模块302,用于根据至少两个初始功耗参数集合,确定目标功耗参数集合,目标功耗参数集合为至少两个初始功耗参数集合的均值。
建立模块303,用于根据目标功耗参数集合,建立三维LUT,三维LUT用于记录目标应用运行时,每组变量参数与动态功耗的对应关系。
第二获取模块304,用于获取目标应用运行时的一组目标变量参数。
查找模块305,用于在三维LUT中查找一组目标变量参数对应的目标动态功耗。
第二确定模块306,用于根据目标动态功耗确定目标应用的整体功耗。
第三获取模块307,用于在计算机上未运行任何应用时,获取计算机的静态功耗。
综上所述,由于本发明实施例提供的应用功耗测量装置中,建立模块在测量目标应用的整体功耗前,建立了三维LUT,且该三维LUT用于记录目标应用运行时,每组变量参数与动态功耗的对应关系,且该三维LUT能够适用于测量不具有线性变化特征的动态功耗,因此,能够准确的测量应用的整体功耗,提高了应用功耗测量的准确性。
可选的,第二确定模块305还可以用于:
获取计算机上运行的应用的个数;
根据计算机的静态功耗、计算机上运行的应用的个数以及静态功耗计算公式,确定目标应用运行时的静态功耗,静态功耗计算公式为:
PApp(i)_static=PHost_static/NApp;
其中,PApp(i)_static为目标应用运行时的静态功耗,PHost_static为计算机的静态功耗,NApp为计算机上运行的应用的个数;
根据目标应用运行时的静态功耗、目标动态功耗和整体功耗计算公式,确定目标应用的整体功耗,整体功耗计算公式为:
PApp(i)=PApp(i)_static+PApp(i)_dynamic;
其中,PApp(i)为目标应用的整体功耗,PApp(i)_dynamic为对应的动态功耗,PApp(i)_static为目标应用的静态功耗。
可选的,建立模块303还可以用于:
根据目标功耗参数集合,确定CPU利用率的变化范围、LLC缺失率的变化范围和磁盘访问率的变化范围;
根据CPU利用率的变化范围、LLC缺失率的变化范围、磁盘访问率的变化范围和目标功耗参数集合,建立初始LUT,初始LUT上设置有至少一个位置,每个位置与一组变量参数相对应,目标功耗参数集合中任一组变量参数对应的位置上,记录有任一组变量参数对应的动态功耗;
根据目标功耗参数集合中的动态功耗,确定空位变量参数对应的空位动态功耗,空位变量参数对应的位置上未记录有动态功耗;
将空位动态功耗填入空位变量参数对应的位置,得到三维LUT。
可选的,第一获取模块301还可以用于:
确定n个应用的至少两个启动顺序,n个应用包括目标应用,n大于或等于1;
在计算机上未运行应用时,根据第一启动顺序,在计算机上依次启动n个应用,当i>1,且在启动第i+1个应用时,第1个至第i个应用均运行在计算机上,第一启动顺序为至少两个启动顺序中的任一启动顺序,i大于或等于1,且小于或等于n;
在启动第i个应用后,获取第i个应用运行时的初始功耗参数集合。
可选的,第一获取模块301还可以用于:
确定n个应用的至少两个启动顺序,n个应用包括目标应用,n大于或等于1;
在计算机上未运行应用时,根据第一启动顺序,在计算机上依次启动n个应用,在启动第i个应用时,计算机上未运行有任何应用,第一启动顺序为至少两个启动顺序中的任一启动顺序,i大于或等于1,且小于或等于n;
在启动第i个应用时,获取第i个应用运行时的初始功耗参数集合。
可选的,CPU利用率的变化范围为:[0%,400%);LLC缺失率的单位为1000000次每秒,LLC缺失率的变化范围为:[0,500),磁盘访问率的单位为1000次每秒,磁盘访问率的变化范围为:[0,50)。
可选的,目标功耗参数集合可以包括:目标应用运行过程中,所有不同的CPU利用率、所有不同的LLC缺失率以及所有不同的磁盘访问率。
综上所述,由于本发明实施例提供的应用功耗测量装置中,建立模块在测量目标应用的整体功耗前,建立了三维LUT,且该三维LUT用于记录目标应用运行时,每组变量参数与动态功耗的对应关系,且该三维LUT能够适用于测量不具有线性变化特征的动态功耗,因此,能够准确的测量应用的整体功耗,提高了应用功耗测量的准确性。
需要说明的是,本发明实施例提供的应用功耗测量方法步骤的先后顺序可以进行适当调整,步骤也可以根据情况进行相应增减,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本发明的保护范围之内,因此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的应用功耗测量装置的具体工作过程,可以参考前述应用功耗的测量方法实施例中的对应过程,在此不再赘述。
上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,在此不再一一赘述。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (14)
1.一种应用功耗测量方法,其特征在于,所述方法包括:
获取目标应用运行时的至少两个初始功耗参数集合,每个初始功耗参数集合包括至少一个功耗参数子集,每个功耗参数子集包括:一组变量参数以及所述一组变量参数对应的动态功耗,所述一组变量参数包括:中央处理器CPU利用率、最末级缓存LLC缺失率和磁盘访问率,每个初始功耗参数集合包括:所述目标应用运行过程中,不同的CPU利用率、不同的LLC缺失率以及不同的磁盘访问率;
根据所述至少两个初始功耗参数集合,确定目标功耗参数集合,所述目标功耗参数集合为所述至少两个初始功耗参数集合的均值;
根据所述目标功耗参数集合,建立三维查找表LUT,所述三维LUT用于记录所述目标应用运行时,每组变量参数与动态功耗的对应关系;
获取所述目标应用运行时的一组目标变量参数;
在所述三维LUT中查找所述一组目标变量参数对应的目标动态功耗;
根据所述目标动态功耗确定所述目标应用的整体功耗。
2.根据权利要求1所述的方法,其特征在于,所述目标应用运行在计算机上,在所述获取目标应用运行时的至少两个初始功耗参数集合之前,所述方法还包括:
在所述计算机上未运行任何应用时,获取所述计算机的静态功耗;
根据所述目标动态功耗确定所述目标应用的整体功耗,包括:
获取所述计算机上运行的应用的个数;
根据所述计算机的静态功耗、所述计算机上运行的应用的个数以及静态功耗计算公式,确定所述目标应用运行时的静态功耗,所述静态功耗计算公式为:
PApp(i)_static=PHost_static/NApp;
其中,所述PApp(i)_static为所述目标应用运行时的静态功耗,所述PHost_static为所述计算机的静态功耗,所述NApp为所述计算机上运行的应用的个数;
根据所述目标应用运行时的静态功耗、所述目标动态功耗和整体功耗计算公式,确定所述目标应用的整体功耗,所述整体功耗计算公式为:
PApp(i)=PApp(i)_static+PApp(i)_dynamic;
其中,所述PApp(i)为所述目标应用的整体功耗,所述PApp(i)_dynamic为所述对应的动态功耗,所述PApp(i)_static为所述目标应用的静态功耗。
3.根据权利要求1所述的方法,其特征在于,根据所述目标功耗参数集合,建立三维LUT,包括:
根据所述目标功耗参数集合,确定CPU利用率的变化范围、所述LLC缺失率的变化范围和所述磁盘访问率的变化范围;
根据所述CPU利用率的变化范围、所述LLC缺失率的变化范围、所述磁盘访问率的变化范围和所述目标功耗参数集合,建立初始LUT,所述初始LUT上设置有至少一个位置,每个位置与一组变量参数相对应,所述目标功耗参数集合中任一组变量参数对应的位置上,记录有所述任一组变量参数对应的动态功耗;
根据所述目标功耗参数集合中的动态功耗,确定空位变量参数对应的空位动态功耗,所述空位变量参数对应的位置上未记录有动态功耗;
将所述空位动态功耗填入所述空位变量参数对应的位置,得到所述三维LUT。
4.根据权利要求1所述的方法,其特征在于,所述获取目标应用运行时的至少两个初始功耗参数集合,包括:
确定n个应用的至少两个启动顺序,所述n个应用包括所述目标应用,所述n大于或等于1;
在所述计算机上未运行应用时,根据第一启动顺序,在所述计算机上依次启动所述n个应用,当i>1,且在启动第i+1个应用时,第1个至第i个应用均运行在所述计算机上,所述第一启动顺序为所述至少两个启动顺序中的任一启动顺序,所述i大于或等于1,且小于或等于n;
在启动第i个应用后,获取所述第i个应用运行时的初始功耗参数集合。
5.根据权利要求1所述的方法,其特征在于,所述获取目标应用运行时的至少两个初始功耗参数集合,包括:
确定n个应用的至少两个启动顺序,所述n个应用包括所述目标应用,所述n大于或等于1;
在所述计算机上未运行应用时,根据第一启动顺序,在所述计算机上依次启动所述n个应用,在启动第i个应用时,所述计算机上未运行有任何应用,所述第一启动顺序为所述至少两个启动顺序中的任一启动顺序,所述i大于或等于1,且小于或等于n;
在启动第i个应用时,获取所述第i个应用运行时的初始功耗参数集合。
6.根据权利要求3所述的方法,其特征在于,
所述CPU利用率的变化范围为:[0%,400%);所述LLC缺失率的单位为1000000次每秒,所述LLC缺失率的变化范围为:[0,500),所述磁盘访问率的单位为1000次每秒,所述磁盘访问率的变化范围为:[0,50)。
7.根据权利要求1所述的方法,其特征在于,
所述目标功耗参数集合包括:所述目标应用运行过程中,所有不同的CPU利用率、所有不同的LLC缺失率以及所有不同的磁盘访问率。
8.一种应用功耗测量装置,其特征在于,所述应用功耗测量装置包括:
第一获取模块,用于获取目标应用运行时的至少两个初始功耗参数集合,每个初始功耗参数集合包括至少一个功耗参数子集,每个功耗参数子集包括:一组变量参数以及所述一组变量参数对应的动态功耗,所述一组变量参数包括:中央处理器CPU利用率、最末级缓存LLC缺失率和磁盘访问率,所述目标功耗参数集合包括:所述目标应用运行过程中,不同的CPU利用率、不同的LLC缺失率以及不同的磁盘访问率;
第一确定模块,用于根据所述至少两个初始功耗参数集合,确定目标功耗参数集合,所述目标功耗参数集合为所述至少两个初始功耗参数集合的均值;
建立模块,用于根据所述目标功耗参数集合,建立三维查找表LUT,所述三维LUT用于记录所述目标应用运行时,每组变量参数与动态功耗的对应关系;
第二获取模块,用于获取所述目标应用运行时的一组目标变量参数;
查找模块,用于在所述三维LUT中查找所述一组目标变量参数对应的目标动态功耗;
第二确定模块,用于根据所述目标动态功耗确定所述目标应用的整体功耗。
9.根据权利要求8所述的应用功耗测量装置,其特征在于,所述目标应用运行在计算机上,所述应用功耗测量装置还包括:
第三获取模块,用于在所述计算机上未运行任何应用时,获取所述计算机的静态功耗;
所述第二确定模块还用于:
获取所述计算机上运行的应用的个数;
根据所述计算机的静态功耗、所述计算机上运行的应用的个数以及静态功耗计算公式,确定所述目标应用运行时的静态功耗,所述静态功耗计算公式为:
PApp(i)_static=PHost_static/NApp;
其中,所述PApp(i)_static为所述目标应用运行时的静态功耗,所述PHost_static为所述计算机的静态功耗,所述NApp为所述计算机上运行的应用的个数;
根据所述目标应用运行时的静态功耗、所述目标动态功耗和整体功耗计算公式,确定所述目标应用的整体功耗,所述整体功耗计算公式为:
PApp(i)=PApp(i)_static+PApp(i)_dynamic;
其中,所述PApp(i)为所述目标应用的整体功耗,所述PApp(i)_dynamic为所述对应的动态功耗,所述PApp(i)_static为所述目标应用的静态功耗。
10.根据权利要求8所述的应用功耗测量装置,其特征在于,所述建立模块还用于:
根据所述目标功耗参数集合,确定CPU利用率的变化范围、所述LLC缺失率的变化范围和所述磁盘访问率的变化范围;
根据所述CPU利用率的变化范围、所述LLC缺失率的变化范围、所述磁盘访问率的变化范围和所述目标功耗参数集合,建立初始LUT,所述初始LUT上设置有至少一个位置,每个位置与一组变量参数相对应,所述目标功耗参数集合中任一组变量参数对应的位置上,记录有所述任一组变量参数对应的动态功耗;
根据所述目标功耗参数集合中的动态功耗,确定空位变量参数对应的空位动态功耗,所述空位变量参数对应的位置上未记录有动态功耗;
将所述空位动态功耗填入所述空位变量参数对应的位置,得到所述三维LUT。
11.根据权利要求8所述的应用功耗测量装置,其特征在于,所述第一获取模块还用于:
确定n个应用的至少两个启动顺序,所述n个应用包括所述目标应用,所述n大于或等于1;
在所述计算机上未运行应用时,根据第一启动顺序,在所述计算机上依次启动所述n个应用,当i>1,且在启动第i+1个应用时,第1个至第i个应用均运行在所述计算机上,所述第一启动顺序为所述至少两个启动顺序中的任一启动顺序,所述i大于或等于1,且小于或等于n;
在启动第i个应用后,获取所述第i个应用运行时的初始功耗参数集合。
12.根据权利要求8所述的应用功耗测量装置,其特征在于,所述第一获取模块还用于:
确定n个应用的至少两个启动顺序,所述n个应用包括所述目标应用,所述n大于或等于1;
在所述计算机上未运行应用时,根据第一启动顺序,在所述计算机上依次启动所述n个应用,在启动第i个应用时,所述计算机上未运行有任何应用,所述第一启动顺序为所述至少两个启动顺序中的任一启动顺序,所述i大于或等于1,且小于或等于n;
在启动第i个应用时,获取所述第i个应用运行时的初始功耗参数集合。
13.根据权利要求11所述的应用功耗测量装置,其特征在于,
所述CPU利用率的变化范围为:[0%,400%);所述LLC缺失率的单位为1000000次每秒,所述LLC缺失率的变化范围为:[0,500),所述磁盘访问率的单位为1000次每秒,所述磁盘访问率的变化范围为:[0,50)。
14.根据权利要求8所述的应用功耗测量装置,其特征在于,
所述目标功耗参数集合包括:所述目标应用运行过程中,所有不同的CPU利用率、所有不同的LLC缺失率以及所有不同的磁盘访问率。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610021875.9A CN105653459A (zh) | 2016-01-13 | 2016-01-13 | 应用功耗测量方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610021875.9A CN105653459A (zh) | 2016-01-13 | 2016-01-13 | 应用功耗测量方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105653459A true CN105653459A (zh) | 2016-06-08 |
Family
ID=56487381
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610021875.9A Pending CN105653459A (zh) | 2016-01-13 | 2016-01-13 | 应用功耗测量方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105653459A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021022926A1 (zh) * | 2019-08-06 | 2021-02-11 | 中兴通讯股份有限公司 | 基于网络的应用功耗调控方法、终端及存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070124094A1 (en) * | 2005-11-29 | 2007-05-31 | Brey Thomas M | Histogram difference method and system for power/performance measurement and management |
CN102306118A (zh) * | 2011-08-31 | 2012-01-04 | 中兴通讯股份有限公司 | Android终端应用程序功耗监控的方法和装置 |
CN102854968A (zh) * | 2012-05-04 | 2013-01-02 | 北京邮电大学 | 一种虚拟机实时能耗计量方法 |
CN103245829A (zh) * | 2013-05-24 | 2013-08-14 | 中国科学院计算技术研究所 | 一种虚拟机功耗测量方法 |
CN103324777A (zh) * | 2013-05-21 | 2013-09-25 | 网视科技(杭州)有限公司 | 一种基于时间的Android应用程序能耗建模方法 |
CN103423189A (zh) * | 2013-09-03 | 2013-12-04 | 中国科学院计算技术研究所 | 一种服务器风扇功耗测量方法 |
CN103513748A (zh) * | 2012-06-29 | 2014-01-15 | 联想(北京)有限公司 | 一种信息处理方法、信息处理器及电子设备 |
CN103744739A (zh) * | 2014-01-23 | 2014-04-23 | 华中科技大学 | 一种基于多目标决策提高硬盘可靠性的方法 |
CN104281510A (zh) * | 2013-07-05 | 2015-01-14 | 贝壳网际(北京)安全技术有限公司 | 应用程序耗电程度的获得方法、***及节能方法、*** |
CN105100504A (zh) * | 2014-05-22 | 2015-11-25 | 北京奇虎科技有限公司 | 设备应用耗电管理方法和装置 |
-
2016
- 2016-01-13 CN CN201610021875.9A patent/CN105653459A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070124094A1 (en) * | 2005-11-29 | 2007-05-31 | Brey Thomas M | Histogram difference method and system for power/performance measurement and management |
CN102306118A (zh) * | 2011-08-31 | 2012-01-04 | 中兴通讯股份有限公司 | Android终端应用程序功耗监控的方法和装置 |
CN102854968A (zh) * | 2012-05-04 | 2013-01-02 | 北京邮电大学 | 一种虚拟机实时能耗计量方法 |
CN103513748A (zh) * | 2012-06-29 | 2014-01-15 | 联想(北京)有限公司 | 一种信息处理方法、信息处理器及电子设备 |
CN103324777A (zh) * | 2013-05-21 | 2013-09-25 | 网视科技(杭州)有限公司 | 一种基于时间的Android应用程序能耗建模方法 |
CN103245829A (zh) * | 2013-05-24 | 2013-08-14 | 中国科学院计算技术研究所 | 一种虚拟机功耗测量方法 |
CN104281510A (zh) * | 2013-07-05 | 2015-01-14 | 贝壳网际(北京)安全技术有限公司 | 应用程序耗电程度的获得方法、***及节能方法、*** |
CN103423189A (zh) * | 2013-09-03 | 2013-12-04 | 中国科学院计算技术研究所 | 一种服务器风扇功耗测量方法 |
CN103744739A (zh) * | 2014-01-23 | 2014-04-23 | 华中科技大学 | 一种基于多目标决策提高硬盘可靠性的方法 |
CN105100504A (zh) * | 2014-05-22 | 2015-11-25 | 北京奇虎科技有限公司 | 设备应用耗电管理方法和装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021022926A1 (zh) * | 2019-08-06 | 2021-02-11 | 中兴通讯股份有限公司 | 基于网络的应用功耗调控方法、终端及存储介质 |
US11943127B2 (en) | 2019-08-06 | 2024-03-26 | Zte Corporation | Network-based control method for power consumption of applications, terminal and storage medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10678686B2 (en) | Estimation method for read and write access performance using average read retry times and a valid data weight ratio | |
US9880012B2 (en) | Hybrid road network and grid based spatial-temporal indexing under missing road links | |
CN109871415B (zh) | 一种基于图数据库的用户画像构建方法、***及存储介质 | |
CN107122126A (zh) | 数据的迁移方法、装置和*** | |
CN111707279B (zh) | 一种激光点云与地图的匹配评价方法、介质、终端和装置 | |
US20220253214A1 (en) | Data processing method, apparatus, device, and readable storage medium | |
CN104346384A (zh) | 一种小文件处理方法及装置 | |
CN104699424A (zh) | 一种基于页面热度的异构内存管理方法 | |
CN104281664A (zh) | 分布式图计算***数据切分方法和*** | |
CN115099175B (zh) | 一种时序网表的获取方法、装置、电子设备和存储介质 | |
CN104516822A (zh) | 一种内存访问方法和设备 | |
JP2023064082A (ja) | 高精地図における三次元地図の構築方法、装置、機器および記憶媒体 | |
CN104202817B (zh) | 大型室内空间中的多热点信号指纹地图的存储和匹配方法 | |
CN104134027A (zh) | 一种顺序流识别的方法以及装置 | |
CN105653459A (zh) | 应用功耗测量方法及装置 | |
CN108133116A (zh) | Cad户型图墙厚自动识别方法及*** | |
CN101901192B (zh) | 一种片上和片外数据对象静态分配方法 | |
CN115292962B (zh) | 基于轨迹抽稀的路径相似度匹配方法、设备及存储介质 | |
CN114743150A (zh) | 目标跟踪方法、装置、电子设备及存储介质 | |
CN111127065B (zh) | 用户职住地的获取方法和装置 | |
CN106407453A (zh) | 一种性能数据管理方法及*** | |
CN102447589A (zh) | 一种聚合记录的方法及装置 | |
CN117909199B (zh) | 性能测定方法、装置、设备,负载均衡方法,***及介质 | |
CN113806236B (zh) | 一种移动测试领域云真机一机多控的方法及*** | |
CN103729244A (zh) | 一种收集方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160608 |
|
RJ01 | Rejection of invention patent application after publication |