Additivity: A Selection Criterion for Performance Events for Reliable Energy Predictive Modeling

Authors

  • Arsalan Shahid School of Computer Science, University College Dublin, Dublin, Ireland
  • Muhammad Fahad School of Computer Science, University College Dublin, Dublin, Ireland
  • Ravi Reddy School of Computer Science, University College Dublin, Dublin, Ireland
  • Alexey Lastovetsky School of Computer Science, University College Dublin, Dublin, Ireland

DOI:

https://doi.org/10.14529/jsfi170404

Abstract

Performance events or performance monitoring counters (PMCs) are now the dominant predictor variables for modeling energy consumption. Modern hardware processors provide a large set of PMCs. Determination of the best subset of PMCs for energy predictive modeling is a non-trivial task given the fact that all the PMCs can not be determined using a single application run. Several techniques have been devised to address this challenge. While some techniques are based on a statistical methodology, some use expert advice to pick a subset (that may not necessarily be obtained in one application run) that, in experts' opinion, are significant contributors to energy consumption. However, the existing techniques have not considered a fundamental property of predictor variables that should have been applied in the first place to remove PMCs unfit for modeling energy. We address this oversight in this paper. We propose a novel selection criterion for PMCs called additivity, which can be used to determine the subset of PMCs that can potentially be used for reliable energy predictive modeling. It is based on the experimental observation that the energy consumption of a serial execution of two applications is the sum of energy consumptions observed for the individual execution of each application. A linear predictive energy model is consistent if and only if its predictor variables are additive in the sense that the vector of predictor variables for a serial execution of two applications is the sum of vectors for the individual execution of each application. The criterion, therefore, is based on a simple and intuitive rule that the value of a PMC for a serial execution of two applications is equal to the sum of its values obtained for the individual execution of each application. The PMC is branded as non-additive on a platform if there exists an application for which the calculated value differs significantly from the value observed for the application execution on the platform. The use of non-additive PMCs in a model renders it inconsistent. We study the additivity of PMCs offered by the popular state-of-the-art tools, Likwid and PAPI, by employing a detailed experimental methodology on a modern Intel Haswell multicore server CPU. We show that many PMCs in Likwid and PAPI that are widely used in models as key predictor variables are non-additive. This brings into question the reliability and the reported prediction accuracy of these models.

References

Bircher, W.L., John, L.K.: Complete system power estimation using processor performance events. IEEE Transactions on Computers 61(4), 563–577 (Apr 2012), DOI: 10.1109/TC.2011.47

Chadha, M., Ilsche, T., Bielert, M., Nagel, W.E.: A statistical approach to power estimation for x86 processors. In: Parallel and Distributed Processing Symposium Workshops (IPDPSW), 2017 IEEE International. pp. 1012–1019. IEEE (2017), DOI: 10.1109/IPDPSW.2017.98

CUPTI: Cuda profiling tools interface (2017), https://developer.nvidia.com/cuda-profiling-tools-interface, accessed: 2017-04-10

Dauwe, D., Friese, R., Pasricha, S., Maciejewski, A.A., Koenig, G.A., Siegel, H.J.: Modeling the effects on power and performance from memory interference of co-located applications in multicore systems. In: Proceedings of the International Conference on Parallel and Distributed Processing Techniques and Applications (PDPTA). p. 1. The Steering Committee of the World Congress in Computer Science, Computer Engineering and Applied Computing (WorldComp) (2014)

Dolz, M.F., Kunkel, J., Chasapis, K., Catalan, S.: An analytical methodology to derive power models based on hardware and software metrics. Computer Science-Research and Development 31(4), 165–174 (2016), DOI: 10.1007/s00450-015-0298-8

Dolz Zaragoza, M.F., Kunkel, J., Chasapis, K., Catalan Pallares, S.: An analytical methodology to derive power models based on hardware and software metrics (2015), DOI: 10.1007/s00450-015-0298-8

Eidenbenz, S.J., Djidjev, H.N., Nadiga, B.T., Park, E.J.: Simulation-based and analytical models for energy use prediction. Tech. rep., Los Alamos National Laboratory (LANL) (2016)

Goel, B., McKee, S.A., Gioiosa, R., Singh, K., Bhadauria, M., Cesati, M.: Portable, scalable, per-core power estimation for intelligent resource management. Green Computing Conference, 2010 International (2010-08-16 2010), DOI: 10.1109/GREENCOMP.2010.5598313

Gschwandtner, P., Knobloch, M., Mohr, B., Pleiter, D., Fahringer, T.: Modeling CPU energy consumption of hpc applications on the IBM POWER7. In: Parallel, Distributed and Network-Based Processing (PDP), 2014 22nd Euromicro International Conference on. pp. 536–543. IEEE (2014), DOI: 10.1109/PDP.2014.112

Haj-Yihia, J., Yasin, A., Asher, Y.B., Mendelson, A.: Fine-grain power breakdown of modern out-of-order cores and its implications on skylake-based systems. ACM Transactions on Architecture and Code Optimization (TACO) 13(4), 56 (2016), DOI: 10.1145/3018112

HCL: HCLWattsUp: API for power and energy measurements using WattsUp Pro Meter (2016), http://git.ucd.ie/hcl/hclwattsup, accessed: 2017-04-24

HCL: SLOPE-PMC: Towards the automation of pmcs collection for intel based multicore platforms (2017), https://git.ucd.ie/hcl/SLOPE/tree/master/SLOPE-PMC, accessed: 2017-04-24

Intel Optimzed HPCG: Overview of the intel optimized hpcg, https://software.intel.com/en-us/node/599524, accessed: 2017-04-24

IntelPCM: Intel performance counter monitor - a better way to measure cpu utilization. (2012), https://software.intel.com/en-us/articles/intel-performance-counter-monitor, accessed: 2017-04-22

Jarus, M., Oleksiak, A., Piontek, T., Wglarz, J.: Runtime power usage estimation of HPC servers for various classes of real-life applications. Future Generation Computer Systems 36 (2014), DOI: 10.1016/j.future.2013.07.012

Kadayif, I., Chinoda, T., Kandemir, M., Vijaykirsnan, N., Irwin, M.J., Sivasubramaniam, A.: vec: Virtual energy counters. In: Proceedings of the 2001 ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering. pp. 28–31. PASTE ’01, ACM (2001), DOI: 10.1145/379605.379639

Lively, C., Wu, X., Taylor, V., Moore, S., Chang, H.C., Su, C.Y., Cameron, K.: Power-aware predictive models of hybrid (mpi/openmp) scientific applications on multicore systems. Computer Science-Research and Development 27(4), 245–253 (2012), DOI: 10.1007/s00450-011-0190-0

O’Brien, K., Pietri, I., Reddy, R., Lastovetsky, A., Sakellariou, R.: A survey of power and energy predictive models in HPC systems and applications. ACM Computing Surveys 50(3) (2017), DOI: 10.1145/3078811

PAPI: Performance application programming interface 5.5.1 (2017), http://icl.cs.utk.edu/papi/, accessed: 2017-04-24

Singh, K., Bhadauria, M., McKee, S.A.: Real time power estimation and thread scheduling via performance counters. ACM SIGARCH Computer Architecture News 37(2), 46–55 (2009), DOI: 10.1145/1577129.1577137

Song, S., Su, C., Rountree, B., Cameron, K.W.: A simplified and accurate model of power performance efficiency on emergent GPU architectures. In: 27th IEEE International Parallel & Distributed Processing Symposium (IPDPS). pp. 673–686. IEEE Computer Society (2013), DOI: 10.1109/IPDPS.2013.73

Treibig, J., Hager, G., Wellein, G.: Likwid: A lightweight performance-oriented tool suite for x86 multicore environments. In: Parallel Processing Workshops (ICPPW), 2010 39th International Conference on. pp. 207–216. IEEE (2010), DOI: 10.1109/ICPPW.2010.38

Wang, S.: Software power analysis and optimization for power-aware multicore systems. Wayne State University (2014), https://digitalcoomons.wayne.edu/oa dissertations/933/, accessed: 2017-04-24

Waterland, A.: Stress. https://people.seas.harvard.edu/_apw/stress/ (2001), accessed: 2017-04-24

Wiki, P.: perf: Linux profiling with performance counters (2017), https://perf.wiki.kernel.org/index.php/Main Page, accessed: 2017-04-23

Witkowski, M., Oleksiak, A., Piontek, T., Weglarz, J.: Practical power consumption estimation for real life HPC applications. Future Gener. Comput. Syst. 29(1) (Jan 2013), DOI: 10.1016/j.future.2012.06.003

Wu, X., Chang, H.C., Moore, S., Taylor, V., Su, C.Y., Terpstra, D., Lively, C., Cameron, K., Lee, C.W.: Mummi: multiple metrics modeling infrastructure for exploring performance and power modeling. In: Proceedings of the Conference on Extreme Science and Engineering Discovery Environment: Gateway to Discovery. p. 36. ACM (2013), DOI: 10.1145/2484762.2484773

Wu, X., Lively, C., Taylor, V., Chang, H.C., Su, C.Y., Cameron, K., Moore, S., Terpstra, D., Weaver, V.: Mummi: multiple metrics modeling infrastructure. In: Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing (SNPD), 2013 14th ACIS International Conference on. pp. 289–295. IEEE (2013), DOI: 10.1109/SNPD.2013.73

Wu, X., Taylor, V., Cook, J., Mucci, P.J.: Using Performance-Power modeling to improve energy efficiency of HPC applications. Computer 49(10), 20–29 (2016), DOI: 10.1109/MC.2016.311

Downloads

Published

2017-12-29

How to Cite

Shahid, A., Fahad, M., Reddy, R., & Lastovetsky, A. (2017). Additivity: A Selection Criterion for Performance Events for Reliable Energy Predictive Modeling. Supercomputing Frontiers and Innovations, 4(4), 50–65. https://doi.org/10.14529/jsfi170404

Most read articles by the same author(s)