在“新基建”的推动下,数据中心等基础设施发展迅猛,对电力能源的需求快速
增长。数据中心中存在大量的服务器等 IT 设备,每天都要处理海量数据,完成大
量计算,随着能源价格的不断上升,电费已经成为数据中心最主要的运营成本。
另一方面,随着移动互联网应用的普及,电源受限的移动或嵌入式设备的能耗问
题也引起越来越多的关注。在电源受限的设备例如手机中,软件能耗优化的重
要性日益凸显,优化这类软件的能耗不仅可以节能,更重要的是可以延长设备的
待机或操作时间。因此,IT 设备的节能降耗已经成为学术界和工业界共同关注
的热点问题。
在降低 IT 设备能耗方面已有大量研究工作,例如,缩小集成电路特征尺寸降
低供电电压,改进器件结构降低静态电流,以分区供电应对工 艺的离散性,动态
调整电压频率以降低运行功耗,沉浸式相变高效冷却,以及能耗感知的任务调度
等。但是,从软件开发和程序编写模式角度研究如何降低能耗的工作还比较少。
数据中心存在大量每天都要反复运行的日常应用软件,如果能从改进这些软件
的编写模式和数据访问模式入手,使这些软件在相同硬件条件下的运行能耗得
到降低,那么数据中心的整体能效就会得到进一步改善。优化程序能耗的关键
在于定位程序中能耗热点,发现产生过高能耗的原因,通过改变代码的编写方式
和数据的访问方式,达到降低程序执行能耗的目的,称这种编程模式为能耗感知
的编程(energy-aware programming,EAP)。如何在程序开发过程中准确测
量程序代码的能耗,建立起能耗、性能事件和程序代码三者之间的关联关系,是
实现能耗感知编程的关键。
本文针对能耗感知编程的需求,提出一种程序能耗和性能事件协同测量与
分析的方法,通过统一的时间基准,建立程序能耗热点、性能事件和程序代码段
之间的关联关系,确定影响程序能耗的主要因素,定位与高能耗对应的程序操作,
从而为面向能耗的代码优化奠定基础。在论述方法的基本原理之后,本文简要
介绍了基于该方法的程序能耗测量分析工具 FPowerTool
[1]
的实现以及能耗和
性能事件关联分析的方法。然后,以若干典型程序的能耗优化为例,分析程序能
耗与代码编写模式、数据存放和访问模式等因素之间的关系,通过改变程序中
与过高能耗相关的变量定义、赋值和访问模式,降低程序执行的能耗。实验结
果表明,本文提出的能耗与性能事件协同测量与分析方法能够准确地获取程序
的能耗行为,建立能耗与性能事件之间的关系,帮助程序员分析影响程序能耗的
评论0
最新资源