Pinpoint the Joules: Unifying Runtime-Support for Energy Measurements on Heterogeneous Systems

For the design and operation of today’s computer systems, power and energy requirements are highest priorities. Unlike performance analyses, however, power and energy measurements of heterogeneous systems are difficult to conduct. Especially at the system-software level, performing power and energy measurements remains challenging. Yet, such measurements are essential to improve software components for low power and high energy-efficiency.In this paper, we analyze and discuss the power and energy characteristics of several heterogeneous systems with up to 20 cores (160 hardware threads) and 1 TB of main memory. For the analyzed systems, we outline challenges regarding power and energy measurements and show ways to overcome limitations (i.e., sampling constraints). To improve the current state of the art in power and energy measurements at the system-software level, we present the design and implementation of PINPOINT, an energy-profiling tool which unifies different power and energy measurement interfaces.

[1]  James H. Laros,et al.  Evaluating energy and power profiling techniques for HPC workloads , 2017, 2017 Eighth International Green and Sustainable Computing Conference (IGSC).

[2]  Vincent M. Weaver Self-monitoring overhead of the Linux perf_ event performance counter interface , 2015, 2015 IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS).

[3]  Liba Svobodova Computer System Performance Measurement: Instruction Set Processor Level and Microcode Level. , 1974 .

[4]  Zhijia Du,et al.  Toward Low-Cost, High-Energy Density, and High-Power Density Lithium-Ion Batteries , 2017 .

[5]  Kirk E. Jordan,et al.  Improving Performance and Energy Efficiency on OpenPower Systems Using Scalable Hardware-Software Co-design , 2018, ISC Workshops.

[6]  Brian Tierney,et al.  Netest: a tool to measure the maximum burst size, available bandwidth and achievable throughput , 2003, International Conference on Information Technology: Research and Education, 2003. Proceedings. ITRE2003..

[7]  Bronis R. de Supinski,et al.  Adagio: making DVS practical for complex HPC applications , 2009, ICS.

[8]  Courtenay T. Vaughan,et al.  Energy-Efficient High Performance Computing: Measurement and Tuning , 2012, HiPC 2012.

[9]  Wolfgang Schröder-Preikschat,et al.  How to Make Profit: Exploiting Fluctuating Electricity Prices with Albatross, A Runtime System for Heterogeneous HPC Clusters , 2018, ROSS@HPDC.

[10]  Andreas Polze,et al.  Are Low-Power SoCs Feasible for Heterogenous HPC Workloads? , 2016, Euro-Par Workshops.

[11]  Richard Stern Seoul, Korea , 1998 .

[12]  Rüdiger Kapitza,et al.  Proactive Energy-Aware Programming with PEEK , 2014, TRIOS.

[13]  Christoph Bockisch,et al.  Evaluating techniques for method-exact energy measurements: towards a framework for platform-independent code-level energy measurements , 2020, SAC.

[14]  Alan Jay Smith,et al.  Software strategies for portable computer energy management , 1998, IEEE Wirel. Commun..

[15]  Christoph Bockisch,et al.  Survey of approaches for assessing software energy consumption , 2017 .

[16]  David J. Lilja,et al.  Measuring computer performance : A practitioner's guide , 2000 .

[17]  Mateo Valero,et al.  Supercomputing with commodity CPUs: Are mobile SoCs ready for HPC? , 2013, 2013 SC - International Conference for High Performance Computing, Networking, Storage and Analysis (SC).

[18]  Alec Wolman,et al.  Latency Analysis of TCP on an ATM Network , 1994, USENIX Winter.

[19]  Bernd Mohr,et al.  Managing hardware power saving modes for high performance computing , 2011, 2011 International Green Computing Conference and Workshops.

[20]  Laxmikant V. Kalé,et al.  Support for Power Efficient Proactive Cooling Mechanisms , 2017, 2017 IEEE 24th International Conference on High Performance Computing (HiPC).

[21]  Jean-Marc Pierson,et al.  DVFS Governor for HPC: Higher, Faster, Greener , 2015, 2015 23rd Euromicro International Conference on Parallel, Distributed, and Network-Based Processing.

[22]  Mark Horowitz,et al.  Energy dissipation in general purpose microprocessors , 1996, IEEE J. Solid State Circuits.

[23]  Kang G. Shin,et al.  Profiling Software for Energy Consumption , 2012, 2012 IEEE International Conference on Green Computing and Communications.

[24]  Rong Ge,et al.  Green Supercomputing Comes of Age , 2008, IT Professional.

[25]  J.H. Snyder,et al.  Low-power software for low-power people , 1994, Proceedings of 1994 IEEE Symposium on Low Power Electronics.

[26]  Bernd Mohr,et al.  Modeling CPU Energy Consumption of HPC Applications on the IBM POWER7 , 2014, 2014 22nd Euromicro International Conference on Parallel, Distributed, and Network-Based Processing.

[27]  Karthikeyan Sankaralingam,et al.  Dark Silicon and the End of Multicore Scaling , 2012, IEEE Micro.

[28]  Parthasarathy Ranganathan,et al.  Energy-Driven Statistical Sampling: Detecting Software Hotspots , 2002, PACS.

[29]  Bruno Schulze,et al.  The survey on ARM processors for HPC , 2019, The Journal of Supercomputing.

[30]  David A. Patterson,et al.  In-datacenter performance analysis of a tensor processing unit , 2017, 2017 ACM/IEEE 44th Annual International Symposium on Computer Architecture (ISCA).

[31]  Gokcen Kestor,et al.  Quantifying the energy cost of data movement in scientific applications , 2013, 2013 IEEE International Symposium on Workload Characterization (IISWC).

[32]  George Ho,et al.  PAPI: A Portable Interface to Hardware Performance Counters , 1999 .

[33]  Ming Zhang,et al.  Where is the energy spent inside my app?: fine grained energy accounting on smartphones with Eprof , 2012, EuroSys '12.

[34]  Fuat Keceli,et al.  Global Extensible Open Power Manager: A Vehicle for HPC Community Collaboration on Co-Designed Energy Management Solutions , 2017, ISC.

[35]  Wolfgang Schröder-Preikschat,et al.  Bridging the Gap: Energy-efficient Execution of Software Workloads on Heterogeneous Hardware Components , 2019, e-Energy.