Journal of Frontiers of Computer Science and Technology ›› 2022, Vol. 16 ›› Issue (6): 1291-1303.DOI: 10.3778/j.issn.1673-9418.2102046

• High Performance Computing • Previous Articles     Next Articles

Practice on Program Energy Consumption Optimization by Energy Measurement and Analysis Using FPowerTool

WEI Guang1, QIAN Depei1,2, YANG Hailong1,2, LUAN Zhongzhi1,2,+()   

  1. 1. Sino-German Joint Software Institute, School of Computer Science and Engineering, Beihang University, Beijing 100191, China
    2. State Key Laboratory of Software Development Environment, Beihang University, Beijing 100191, China
  • Received:2021-02-22 Revised:2021-04-25 Online:2022-06-01 Published:2021-05-10
  • About author:WEI Guang, born in 1986, Ph.D. candidate. His research interests include high-performance com-puting, energy optimization, etc.
    QIAN Depei, born in 1952, professor,Ph.D. su-pervisor, fellow of CCF. His research interests include computer architecture, distributed com-puting, high-performance computing and parallel computing.
    YANG Hailong, born in 1985, Ph.D., associate professor, Ph.D. supervisor, senior member of CCF. His research interests include high-performance computing, performance analysis and optimiza-tion, distributed/parallel computing and compu-ter architecture.
    LUAN Zhongzhi, born in 1971, Ph.D., associate professor, Ph.D. supervisor, senior member of CCF. His research interests include computer architecture, high-performance computing, distri-buted computing and parallel computing.
  • Supported by:
    National Key Research and Development Program of China(2017YFB0202202)

程序能耗测量分析工具FPowerTool及其能耗优化实践

魏光1, 钱德沛1,2, 杨海龙1,2, 栾钟治1,2,+()   

  1. 1. 北京航空航天大学 计算机学院 中德联合软件研究所,北京 100191
    2. 北京航空航天大学 软件开发环境国家重点实验室,北京 100191
  • 通讯作者: + E-mail: luan.zhongzhi@buaa.edu.cn
  • 作者简介:魏光(1986—),男,博士研究生,主要研究方向为高性能计算、能耗优化等。
    钱德沛(1952—),男,教授,博士生导师,CCF会士,主要研究方向为计算机系统结构、分布式计算、高性能计算、并行计算。
    杨海龙(1985—),男,博士,副教授,博士生导师,CCF高级会员,主要研究方向为高性能计算、性能分析与优化、分布式/并行计算、计算机系统结构。
    栾钟治(1971—),男,博士,副教授,博士生导师,CCF高级会员,主要研究方向为计算机系统结构、高性能计算、分布式计算、并行计算。
  • 基金资助:
    国家重点研发计划(2017YFB0202202)

Abstract:

Energy-aware programming (EAP) is a new approach to reduce energy consumption of computing systems. It introduces energy as one of the main design metrics into the process of software development to reduce program energy consumption by adjusting the way of programming. The implementation of EAP is facing some difficulties in finding energy consumption hot spots, identifying main factors which cause excessive energy consumption, and locating inappropriate code segments in the program. To address these issues, this paper proposes a new method called EPC (energy-performance correlation) for joint measurement and analysis of energy consumption and perfor-mance events during program execution. Firstly, the basic principles of EPC are introduced and the implementation of an EPC-based tool, FPowerTool, for program energy consumption measurement and analysis is presented. Then, the method of energy-performance events correlation analysis for identifying the main factors influencing energy consumption is presented. Finally, a set of programs is used as case studies to show how to locate the code segments related to high energy consumption by correlation analysis, and how to change the coding and data placement and access to reduce the program energy consumption. The experiment results show that based on the energy-aware and analysis capabilities provided by the EPC method, program performance and energy efficiency can be improved by improving data definition, assignment, placement, and access methods.

Key words: energy-aware, energy consumption optimization, performance event, energy-performance correlation

摘要:

能耗感知编程(EAP)是通过优化软件的能效来降低计算系统能耗的一种新途径。它把能耗作为主要指标引入软件开发的过程,通过调整代码的编写方式,降低程序的执行能耗。能耗感知编程的实现面临能耗热点发现、耗能原因确定和问题代码定位等问题。为了解决这些问题,提出了一种程序能耗与性能事件协同测量与分析的新方法EPC。首先,简要论述EPC的基本原理和基于该方法的程序能耗测量与分析工具FPowerTool的实现。然后,介绍如何对能耗和性能事件做关联分析,找出影响程序能耗的主要因素。最后,通过一组程序优化案例,说明如何通过关联分析定位与高能耗相关的程序代码,进而改变代码编写和数据放置与访问方式,使程序的执行能耗得到降低。实验结果表明,基于EPC方法提供的能耗感知和分析能力,通过改进数据定义、赋值、放置与访问方式等可以改善程序性能和能效。

关键词: 能耗感知, 能耗优化, 性能事件, 能耗-性能关联

CLC Number: