An energy consumption model for softwares using machine learning is proposed to address the problem that software developers either are usually not aware of the specific energy consumption of their codes
or may measure the energy consumption of the application softwares using some tools but do not understand the factors which affect energy consumption and the relationship among them. The Ridge machine learning algorithm is adopted based on testings of 4 different machine learning algorithms to establish the model for estimating the software energy consumption characterized by software performance events. First
the collected measurement values of energy consumptions and the data of the software performance events of a set of softwares are used as the training samples
and the machine learning algorithm is applied to build up the energy consumption model. Then the average energy consumption of any other software is estimated using this model. On this basis
a real-time program energy consumption model for the running programs is established. Experimental results show that the energy consumption prediction error given by the proposed average energy consumption model is less than 9%. A comparison with the average energy consumption model shows that the real-time program energy consumption model further reduces the prediction error. When the software designers use the proposed model to get the energy consumption of their codes
they are not required to measure or train their own software. Not only can the energy consumption of the software be accurately estimated
but also the causes of energy consumption can be explained
and the energy efficiency of the software can be optimized according to the prediction result.
关键词
Keywords
references
HEDDEGHEM W V, LAMBERT S, LANNOO B, et al. Trends in worldwide ICT electricity consumption from 2007 to 2012 [J]. Computer Communications. 2014, 50(1): 64-76.
AHMAD W, OLZENSPIESP K F H, STOELINGA M, et al. Green computing: power optimisation of VFI-based real-time multiprocessor dataflow applications [C]∥Proceedings of the 2015 Euromicro Conference on Digital System Design. Piscataway, NJ, USA: IEEE, 2015: 272-275.
GE Rong, VOGT R, MAJUMDER J, et al. Effects of dynamic voltage and frequency scaling on a K20 GPU [C]∥Proceedings of the 2013 42nd International Conference on Parallel Processing. Piscataway, NJ, USA: IEEE, 2013: 826-833.
MARTONOSI M, TIWARI V, BROOKS D. Wattch: a framework for architectural-level power analysis and optimization [C]∥Proceedings of the 27th International Symposium on Computer Architecture. Piscataway, NJ, USA: IEEE, 2000: 83-94.
BRANCO D. Impact of GCC optimization levels in energy consumption during C/C++program execution [C]∥Proceedings of the 13th IEEE International Scientific Conference on Informatics. Piscataway, NJ, USA: IEEE, 2015: 52-56.
SEO C, MALEK S, MEDVIDOVIC N. Component-level energy consumption estimation for distributed java-based software systems [C]∥Proceedings of the International Symposium on Component-Based Software Engineering. Berlin, Germany: Springer-Verlag, 2008: 97-113.
CHEN Hui, LI Youhuizi, SHI Weisong. Fine-grained power management using process-level profiling [J]. Sustainable Computing: Informatics and Systems, 2012, 2(1): 33-42.
SHYE A, SCHOLBROCK B, MEMIK G. Into the wild: studying real user activity patterns to guide power optimizations for mobile architectures [C]∥Proceedings of the 42nd Annual IEEE/ACM International Symposium on Microarchitecture. Piscataway, NJ, USA: IEEE, 2009: 168-178.
GURUMURTHI S, SIVASUBRAMANIAM A, IRWIN M J, et al. Using complete machine simulation for software power estimation: the SoftWatt approach [C]∥Proceedings of the 8th International Symposium on High-Performance Computer Architecture. Piscataway, NJ, USA: IEEE, 2002: 141-150.
ZHANG Lide, TIWANA B, DICK R P, et al. Accurate online power estimation and automatic battery behavior based power model generation for smartphones [C]∥Proceedings of the 2010 IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis. Piscataway, NJ, USA: IEEE, 2010: 105-114.
GE Rong, FENG Xizhou. ETune: a power analysis framework for data-intensive computing [C]∥Proceedings of the 41st International Conference on Parallel Processing Workshops. Piscataway, NJ, USA: IEEE, 2012: 254-261.
PATHAK A, HU Y C, ZHANG M, et al. Fine-grained power modeling for smartphones using system call tracing [C]∥Proceedings of the 6th Conference on Computer Systems. New York, USA: ACM, 2001: 153-168.
AGGARWAL K, ZHANG Chenlei, CAMPBELL J C, et al. The power of system call traces: predicting the software energy consumption impact of changes [C]∥Proceedings of the 24th International Conference on Computer Science and Software Engineering. New York, USA: ACM, 2014: 219-233.
ZECENA I, BURTSCHER M, JIN T D, et al. Evaluating the performance and energy efficiency of n-body codes on multi-core CPUs and GPUs [C]∥ Proceedings of the 2013 32nd IEEE International Performance Computing and Communications Conference. Piscataway, NJ, USA: IEEE, 2013: 1-8.
HASTIE T, TIBSHIRANI R, FRIEDMAN J. Linear methods for regression in the elements of statistical learning: data mining, inference, and prediction [M]∥ Springer Series in Statistics. Berlin, Germany: Springer, 2008: 43-52.
Anon. Running average power limit-rapl [EB/OL].(2014-06-06)[2017-06-05]. https: ∥01.org/zh/blogs /2014/running-average-power-limit-rapl.
ZONG Ziliang, GE Rong, GU Qijun. Marcher: a heterogeneous system supporting energy-aware high performance computing and big data analytics [J]. Big Data Research, 2017, 8: 27-38.