CN104778113A - 一种矫正功率传感器数据的方法 - Google Patents
一种矫正功率传感器数据的方法 Download PDFInfo
- Publication number
- CN104778113A CN104778113A CN201510166270.4A CN201510166270A CN104778113A CN 104778113 A CN104778113 A CN 104778113A CN 201510166270 A CN201510166270 A CN 201510166270A CN 104778113 A CN104778113 A CN 104778113A
- Authority
- CN
- China
- Prior art keywords
- data
- power
- time
- program
- sensor
- 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
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Indication And Recording Devices For Special Purposes And Tariff Metering Devices (AREA)
- Stored Programmes (AREA)
Abstract
本发明公布了一种矫正功率传感器数据的方法。首先,根据软件运行时间长短来分别采用不同方法进行数据矫正。运行时间短的程序传感器采集到的功耗数据是趋向性数据,需要进行拟合来进行矫正。运行时间长的程序,传感器采集的数据是逐渐逼近的真实数据,采用基于误差方向的逼近函数进行矫正。通过在K20系列的GPU平台上进行实验,表明该方法适用于解决传感器测量能耗存在的问题。通过使用本方法较准确地获得软件在设备中运行的能耗,为以后的程序能耗优化奠定了基础。
Description
所属技术领域
本发明涉及嵌入式软件功耗测量技术领域,尤其是涉及一种矫正功率传感器数据的方法。
背景技术
在提倡“节能减排”的当今世界,用电设备尤其是占比重较大的科学计算设备的能耗问题成为一个不可忽视的问题,越来越受到软硬件开发商、科研机构和政府的重视。
在工业界有一句名言“如果你不能度量它,那么你就不能改进它”,这句话蕴含了度量是后续工作的基础。在能耗的度量上主要有直接的方式和间接的方式。间接的方式是利用能耗模型、利用与硬件性能计数器或硬件事件和能耗之间的关联模型进行估测软件运行的能耗。间接方式方便了用户获得功率或能耗数据,但这些数据通常误差较大且在硬件环境改变的情况下模型中的参数就必须重新进行训练。软件能耗测量最直接的方式是使用功率测量仪器,但它在能耗测量上存在和设备连接困难的缺点。目前,利用内置传感器进行功率采集测量已经成为一种趋势,如NVIDIA的Tesla系列显卡。内置传感器测量方式带来了很大的方便,同时也引起了诸如功率迟滞、程序能耗受其启动时间影响等问题。
2010年,HongS等人基于部件访问率提出了一种功率模型,用来估测部件的功率和整个程序的功率消耗。2012年,刘啸滨等人通过估算指令能耗提出了入式软件能耗计算方法和操作***内核能耗估算模型。2013年,SongS等人基于神经网络的训练结果提出了GPU的功耗模型。2014年,BurtscherM通过引入一个经验参数进行解决,但它不具有通用性。为此本发明提出了一种无需经验参数的基于逼近函数的数据采集矫正方法,通过实验验证该方法能够很好地解决此类问题。
发明内容
本发明旨在提出一种矫正功率传感器数据的方法。
本发明解决其技术难题所采用技术方案的步骤如下:
1)通过采集一定数量软件的功耗数据,得到功率传感器数据趋于真实数据时的时间,该时间用tp表示;
2)软件刚开始运行时,由于软件运行时间小于tp,测得的数据是趋向性数据,所以利用采集到的数据拟合成函数然后再求得来表示真实功率数据;因此运行时间小于tp时的程序的功率数据使用如下公式进行矫正:
3)在软件运行时间大于tp以后,传感器采集的数据逐渐逼近真实数据,此时采用以误差方向为判断标准的逼近函数进行数据矫正。因此运行时间大于tp时的程序的功率数据使用如下公式进行矫正:
其中,在步骤2)、3)的公式中,用来表示当前误差方向,tp是功率传感器数据趋于真实数据时的时间,表示真实功率数据,Preal(ti)表示ti时刻矫正后的功率数据,Pmeas(t)表示传感器在t时刻所采集的功率数据,表示根据传感器测得的数据拟合形成的函数,Δt为下次有效采样间隔时间,表示在当前误差方向K的情况下传感器所采集到的功率数据,它的取值为未矫正过的数据,ti的取值为程序开始时间(tstart)和结束时间(tend)之间的值;
4)获得程序运行时的真实数据之后,将上述矫正后的数据在程序运行的时间内进行积分得到程序的真实能耗数据:
其中,E表示软件能耗,三元组下标(tstart,tend,Sw)分别表示程序开始时间、程序结束时间、运行的软件,上标Actual表示设备实际消耗能耗情况。
本发明与背景技术相比,具有的有益效果是:
1)精确性:本发明使用一种矫正功率传感器数据的方法,相比精确性较高的Burtscher M通过引入一个经验参数进行解决得出的结果具有很大的相似性,最大误差不超过1%;
2)通用性:本发明提出了一种无需经验参数的基于逼近函数的数据采集矫正方法,对于在不同的硬件环境情况下都适用,解决了传感器测量程序能耗时所存在的功率迟滞、程序能耗受其启动时间影响的问题。
附图说明
图1是N=700000采集功率曲线图和矫正后的功率曲线图
图2是启动间隔时间为1.1sN=350000的两个相同程序的功率曲线和矫正后的功率曲线图
图3是N=700000在K20m(a)上的采集功率曲线图和矫正后的功率曲线图
图4是N=700000在K20x(b)上的采集功率曲线图和矫正后的功率曲线图
图5是N=22000000采集功率曲线图和矫正后的功率曲线图
具体实施方式
下面结合附图和实例对本发明作进一步的说明。
1)实验环境及实验程序描述
本发明选取K20系列(K20c、K20m和K20X)GPU为实验平台。实验平台所使用的CUDA开发环境是VS2010,编译环境是NVCC5.5。在这个环境上,我们使用程序通过NVML接口查询GPU的功率数据,并且查询出的数据都带有时间标签。
实验程序使用的两种不同方法实现的模拟重力感应引起的多个恒星运动程序。第一种方法实现的程序执行精确的双向力计算,这种算法在规模为N的情况下复杂度为O(n2)。我们将这种方法简称为NBody。第二种是使用了Barnes-Hut方法进行近似计算作用力的实现程序,方法的思想是把N个恒星周围的体积层次划分成有次序小正方体直到最里面的每个小正方体只有一个星体。结果被记录在一个非平衡八叉树的层次结构中。这种层次结构使方法的复杂性降为O(nlogn),我们将这种方法简称为BHut。
2)单内核程序实验
图1是使用NBody方法在N=700000时的功率曲线和使用本发明提出的方法得到的功率数据。图中曲线部分表示传感器采样得到的功率数据,红色部分表示使用本发明矫正方法中的公式(2)得到GPU功率曲线。图中t1、t2、t3分别表示程序开始时间、程序结束时间、常数能耗消耗开始时间。
通过观察图中矫正后的功率数据可以看出,矫正后的数据能够快速逼近真实功耗数据,并且当程序运行结束时立即到达尾迹能耗常数部分的数值,矫正后的数据满足软件能耗产生的实质并能够反映GPU运行时的真实功率。在程序执行的t1和t2之间,矫正后的数据能够和采样得到的稳定数据重合,间接验证了本方法的正确性。对于K20c系列GPU,活动空闲功率 为54.2W左右,因此在使用本方法后将程序运行结束时的能耗到常数能耗之间的功率数据置为54.2W即为软件结束后的真实功率。软件的实际能耗利用公式(3)在t1和t2时间段积分即可得到。
由图1可以看出使用本文提出的方法可以消除由传感器本身问题所带来的迟滞问题;而它所带来的一个问题是程序能耗受其启动时间影响。图2为使用NBody方法在N=350000启动间隔时间为1.1s的两个相同程序的功率曲线和使用公式(1)矫正后的功率数据。图中t1、t3分别表示第一个和第二个程序开始时间,t2、t4分别为第一个和第二个程序结束时间,t5是常数能耗开始时间。从图中可以看到1:未矫正前两个相同的程序能耗明显不相同;2:使用本方法矫正后的曲线在两个程序运行期间是相同的,在程序运行结束时都处于活动空闲状态。相同的实验在N=350000间隔0.4s的情况下得到的矫正曲线和间隔1.1s得到的矫正曲线情况相同。因此使用本方法能够很好地解决程序能耗受启动时间影响的问题且得到的功率数据与何时运行程序无关,这个特性使得功率传感器测量程序能耗时无需等待传感器数据达到空闲功率后启动下一个程序的功率测量。
为了确保所提出的方法具有通用性,本发明使用K20m,K20x和不同驱动版本下的实验情况。图3、图4分别为N=700000时K20m,K20x传感器采集功率曲线图和使用公式(2)矫正后的功率曲线图。由图中的曲线可以看出K20m、K20x和K20c对于同一程序而言具有几乎相同的功率曲线,所不同的是K20m的功率比K20c的功率要高出10W左右。图4中的曲线显示了K20x中的功率传感器采集的数据和K20c、K20m采集的数据曲线明显不同,K20x中的传感器尽最大努力去得到GPU的真实功率,这种现象也从侧面验证了本发明所提出的方法的正确性。在不同驱动版本下的功率数据曲线与矫正后的曲线和图3表现现象相同,在此不再赘述。由图3矫正后的数据可以看出使用本发明提出的方法可以很好地解决由传感器测量功耗时所产生的问题。
由于迟滞现象在K20m和K20x上被解决,因此程序能耗受启动时间影响的问题也就不存在了。通过实验结果也验证了利用本发明所提出的方法解决程序能耗受启动时间影响的问题。
3)多内核程序实验
图5是使用BHut方法在规模N=22000000所得到的功率曲线和矫正后的功率曲线图。通过本发明提出的方法得到的功率曲线和NBody曲线有别,主要表现在t1和t2阶段、t2和t3阶段、t4和t5阶段。t1和t2阶段与t2和t3阶段主要是BHut方法建立的数据结构和对数据进行处理等工作,处理这些工作的内核程序非均衡地利用GPU中SM。这些工作使得功率数据不同于t3和t4阶段的作用力计算。由于t1和t2阶段与t2和t3阶段运行时间小于tp, 因此使用公式(1)进行矫正。在t3和t4阶段内核函数运行时间大于tp,因此使用公式(2)进行矫正。在t4和t5阶段一些SM不再参与计算,因此GPU的功率出现下降,利用逼近函数很好地得到了真实功率数据。通过分析程序和观察图中的曲线,可以看出本发明提出的方法能够很好地跟踪GPU硬件功率的变化情况而不仅仅给出一个恒定的值。
4)结果比较
BurtscherM等人也提出了一种解决此类问题的方法,表1展示了在利用传感器计算程序能耗时两种方法在上述实验环境下的比较结果。
表1
由表中可以看出:(1)本文的方法与BurtscherM的方法得出的结果具有很大的相似性,最大误差不超过1%,表明本方法能够很好地解决此类问题。(2)BurtscherM的方法依赖于经验的参数,而本方法无需使用参数也能得到较好的效果,说明了本方法具有很好的通用性。
Claims (1)
1.一种矫正功率传感器数据的方法,其特征在于该方法的步骤如下:
1)通过采集一定数量软件的功耗数据,得到功率传感器数据趋于真实数据时的时间,该时间用tp表示;
2)软件刚开始运行时,由于软件运行时间小于tp,测得的数据是趋向性数据,所以利用采集到的数据拟合成函数然后再求得来表示真实功率数据;因此运行时间小于tp时的程序的功率数据使用如下公式进行矫正:
3)在软件运行时间大于tp以后,传感器采集的数据逐渐逼近真实数据,此时采用以误差方向为判断标准的逼近函数进行数据矫正;因此运行时间大于tp时的程序的功率数据使用如下公式进行矫正:
其中,在步骤2)、3)的公式中,用来表示当前误差方向,tp是功率传感器数据趋于真实数据时的时间,表示真实功率数据,Preal(ti)表示ti时刻矫正后的功率数据,Pmeas(t)表示传感器在t时刻所采集的功率数据,表示根据传感器测得的数据拟合形成的函数,Δt为下次有效采样间隔时间,表示在当前误差方向K的情况下传感器所采集到的功率数据,它的取值为未矫正过的数据,ti的取值为程序开始时间(tstart)和结束时间(tend)之间的值;
4)获得程序运行时的真实数据之后,将上述矫正后的数据在程序运行的时间内进行积分得到程序的真实能耗数据:
其中,E表示软件能耗,三元组下标(tstart,tend,Sw)分别表示程序开始时间、程序结束时间、运行的软件,上标Actual表示设备实际消耗能耗情况。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510166270.4A CN104778113B (zh) | 2015-04-10 | 2015-04-10 | 一种矫正功率传感器数据的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510166270.4A CN104778113B (zh) | 2015-04-10 | 2015-04-10 | 一种矫正功率传感器数据的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104778113A true CN104778113A (zh) | 2015-07-15 |
CN104778113B CN104778113B (zh) | 2017-11-14 |
Family
ID=53619593
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510166270.4A Expired - Fee Related CN104778113B (zh) | 2015-04-10 | 2015-04-10 | 一种矫正功率传感器数据的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104778113B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108958940A (zh) * | 2018-07-09 | 2018-12-07 | 苏州浪潮智能软件有限公司 | 一种计算机处理方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130097198A1 (en) * | 2011-10-13 | 2013-04-18 | Microsoft Corporation | Business activity monitoring runtime |
US20130159741A1 (en) * | 2011-12-15 | 2013-06-20 | Travis T. Schluessler | Method, Apparatus, and System for Energy Efficiency and Energy Conservation Including Power and Performance Balancing Between Multiple Processing Elements and/or a Communication Bus |
CN104106053A (zh) * | 2012-02-08 | 2014-10-15 | 英特尔公司 | 使用功率的动态cpu gpu 负载平衡 |
CN104461849A (zh) * | 2014-12-08 | 2015-03-25 | 东南大学 | 一种移动处理器上cpu与gpu软件功耗测量方法 |
-
2015
- 2015-04-10 CN CN201510166270.4A patent/CN104778113B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130097198A1 (en) * | 2011-10-13 | 2013-04-18 | Microsoft Corporation | Business activity monitoring runtime |
US20130159741A1 (en) * | 2011-12-15 | 2013-06-20 | Travis T. Schluessler | Method, Apparatus, and System for Energy Efficiency and Energy Conservation Including Power and Performance Balancing Between Multiple Processing Elements and/or a Communication Bus |
CN104106053A (zh) * | 2012-02-08 | 2014-10-15 | 英特尔公司 | 使用功率的动态cpu gpu 负载平衡 |
CN104461849A (zh) * | 2014-12-08 | 2015-03-25 | 东南大学 | 一种移动处理器上cpu与gpu软件功耗测量方法 |
Non-Patent Citations (2)
Title |
---|
REIJI SUDA; DA QI REN: "《2009 International Conference on Parallel and Distributed Computing, Applications and Technologies》", 17 February 2010 * |
SONG S, SU C, ROUNTREE B, ET AL.: "《2013 IEEE 27th International Symposium on Parallel & Distributed Processing 》", 30 July 2013 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108958940A (zh) * | 2018-07-09 | 2018-12-07 | 苏州浪潮智能软件有限公司 | 一种计算机处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104778113B (zh) | 2017-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103116148A (zh) | 一种核磁共振二维谱反演的方法 | |
CN103989471A (zh) | 一种基于脑电图识别的疲劳驾驶检测***及方法 | |
CN106123911A (zh) | 一种基于加速传感器和角速度传感器的记步方法 | |
CN103383312B (zh) | 发动机试验数据在线监控方法 | |
CN105588577A (zh) | 一种用于运动监测装置的异常计步的检测方法和装置 | |
CN203074671U (zh) | 一种智能视力检查装置 | |
CN104778113A (zh) | 一种矫正功率传感器数据的方法 | |
CN104298806A (zh) | 一种水电站动力特性计算机辅助测试方法 | |
CN104112003A (zh) | 对游戏终端的性能进行检测的方法及*** | |
CN103246814A (zh) | 一种基于K-means建模的个人用电设备状态识别方法 | |
CN103529337A (zh) | 设备故障与电气量信息间非线性相关关系的识别方法 | |
CN102507901B (zh) | 基于双传感器数据融合技术的土壤湿度测量装置及方法 | |
CN106730646A (zh) | 电动跑步机控制***及计步方法 | |
CN103235216A (zh) | 一种基于LabVIEW的增氧机自动测试*** | |
CN102938068A (zh) | 桥梁结构多体系损伤识别方法 | |
CN105607726B (zh) | 一种降低高性能计算集群内存功耗的方法及装置 | |
CN102222136B (zh) | 基于稳态图的arma模型阶次确定方法 | |
CN201780257U (zh) | 一种确定钢筋与混凝土界面损伤的装置 | |
CN204191757U (zh) | 一种手势捕捉手环 | |
CN203465093U (zh) | 液压马达性能测控*** | |
CN202814460U (zh) | 一种基于Zigbee通讯的涡街流量计 | |
CN205748835U (zh) | 一种用于飞机液压***渗漏检测的装置 | |
CN104598368B (zh) | 一种移动终端性能诊断方法 | |
CN106066845B (zh) | 一种抽油机示功图的学习估计方法 | |
CN205451042U (zh) | 一种数据处理*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20171114 Termination date: 20210410 |
|
CF01 | Termination of patent right due to non-payment of annual fee |