[发明专利]一种自动测试计算机应用程序区间能耗的方法无效
申请号: | 201010557507.9 | 申请日: | 2010-11-24 |
公开(公告)号: | CN101980174A | 公开(公告)日: | 2011-02-23 |
发明(设计)人: | 易会战;赵克佳;杨灿群;黄春;陈娟;王锋;杜云飞;李春江 | 申请(专利权)人: | 中国人民解放军国防科学技术大学 |
主分类号: | G06F11/34 | 分类号: | G06F11/34 |
代理公司: | 国防科技大学专利服务中心 43202 | 代理人: | 郭敏 |
地址: | 410073 湖*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 自动 测试 计算机 应用程序 区间 能耗 方法 | ||
技术领域:本发明涉及计算机领域的能耗测试方法,尤其指一种测试计算机应用程序区间能耗的方法。
背景技术:新一代大规模并行计算机系统的研制面临诸多挑战,随着规模越来越庞大,系统的功耗和能耗都在飞速增长,造成了空前的功耗和热量危机,因此计算机系统的能耗越来越受到关注。
传统能耗测试领域对能耗的测试采用人工监控功耗测试设备的方法。测试人员手工启动能耗测试设备,记录测试开始时间;等待测试结束,记录测试结束时间;手工分析测试时间段的功耗和能耗数据。在计算机应用程序能耗测试领域,这种方法变得不可行。高性能计算领域计算机应用程序运行时间往往不确定,有些应用程序只运行几分钟,而有的应用程序可能运行几个小时甚至几天,采用人工监控方法耗时耗力,而且数据记录不准确。迫切需要一种自动化方法,能够自动准确测试计算机应用程序的能耗。
发明内容:
本发明要解决的技术问题是提出一种自动测试计算机应用程序区间能耗的方法。采用该方法能够自动准确测试以计算机应用程序为单位的能耗。
本发明的技术方案如下:
第一步,将功率计、目标计算机、数据库计算机进行连接,构建测试系统。
将功率计、目标计算机、数据库计算机进行连接,方法是将功率计接入目标计算机的供电线路,功率计和数据库计算机之间通过串行端口、网络端口等通信链路连接,目标计算机和数据库计算机之间通过标准的网络链路连接。
功率计是能耗的测试设备,采用能够通过串行端口、网络端口等通信链路和计算机连接的商用功率计,功率计测试目标计算机的电压、电流、功率、能耗等电气参数,向数据库计算机输出测试数据。
目标计算机是运行应用程序的计算机,功率计测试的能耗就是在目标计算机上应用程序运行区间的能耗。
数据库计算机是辅助完成能耗测试的计算机,一方面实时获取功率计测试得到的数据;另一方面和目标计算机交互,获得应用程序运行区间的时段。数据库计算机上安装有能耗数据采集程序、时间数据服务程序、应用程序能耗数据计算和显示程序。能耗数据采集程序控制功率计采集、接收和保存能耗数据。时间数据服务程序接收应用程序的时间记录请求,记录应用程序运行区间的时间;应用程序能耗数据计算和显示程序利用能耗数据和时间数据,计算应用程序运行区间能耗,将程序能耗信息显示输出。
第二步,测试系统采集能耗数据。
能耗数据采集程序采集能耗数据,过程为:
2.1能耗数据采集程序通过功率计驱动程序提供的控制接口完成和功率计的连接;
2.2能耗数据采集程序发送命令,查询功率计支持的能耗数据参数和数据采集的分辨率;
2.3能耗数据采集程序从功率计回应的能耗数据参数种类中选择需要的参数,能耗是必须支持的参数,另外一些参数包括功耗、电压、电流;
2.4能耗数据采集程序给功率计发送命令,指示功率计进入数据输出模式,以最高分辨率实时采集并向数据库计算机输出能耗数据;
2.5能耗数据采集程序读取能耗数据,如果读取到能耗数据项,逐条解析每项,并采用能耗数据表保存每项能耗数据,转2.6;如果没有读取到数据,直接转2.6;能耗数据表的每个记录项对应功率计输出的一个记录项,包括能耗、功耗、电压、电流,同时为每个记录项附加一个时间标签,指示对应能耗数据生成的时间,该时间以数据库计算机上的时间为准。
2.6能耗数据采集程序睡眠,在经过数据采集分辨率时间(功率计输出数据的最短间隔)后醒来,转2.5。
第三步,测试系统测试应用程序区间运行时间。
仅仅采集能耗数据并不能确定应用程序执行区间的能耗,需要确定应用程序执行区间的开始和终止时间。使用功率计测试电气设备短时间的电气参数时,可以通过手工记录开始时间和结束时间。但是计算机应用程序的运行时间并不确定,有时可能会运行很长时间,通过手工实施监控存在困难。本发明采用以下方法测试应用程序区间运行时间:
3.1修改编译器和应用程序,增加应用程序测试区间开始和结束时间的记录代码:
3.1.1当测试区间为整个程序执行区间时,编译器在应用程序执行开始插入程序启动的时间记录代码,在应用程序执行结束插入程序结束的时间记录代码;
3.1.2当测试区间为程序运行的一部分时,需要同时修改编译器和应用程序,增加时间记录的过程由编译器和应用程序协作完成。应用程序的修改只需要增加简单的编译提示,指示程序执行区间的开始和结束,剩余的工作由编译器自动完成。例如,使用类似C语言的表示方法,应用程序修改为:
#pragma timelog begin
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科学技术大学,未经中国人民解放军国防科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010557507.9/2.html,转载请声明来源钻瓜专利网。