ABSTRACT
Energy efficiency is one of the key aspects of modern software. Therefore, we present a tool for measuring the energy consumption of Erlang programs. Using this tool, we measured the energy consumption of different basic language elements, such as data structures, higher-order functions and parallel language constructs. Based on the results of our measurements, we present refactorings that may help to decrease the energy consumption of Erlang software. The refactorings are part of the well-known RefactorErl static analyser and transformer framework for Erlang.
- Ericsson AB. 2019. Compilation and Code Loading. http://erlang.org/doc/reference_manual/code_loading.html. (2019). [Accessed: 2019.05.24.].Google Scholar
- I. Bozó, D. Horpácsi, Z. Horváth, R. Kitlei, J. Köszegi, M. Tejfel, and M Tóth. 2011. RefactorErl - Source Code Analysis and Refactoring in Erlang. In Proceedings of the 12th Symposium on Programming Languages and Software Tools, ISBN 978-9949-23-178-2. TUT Press, Institute of Cybernetics at Tallinn University of Technology, Tallin, Estonia, 138-148.Google Scholar
- Alexander Chatzigeorgiou. 2003. Performance and power evaluation of C++ object-oriented programming in embedded processors. Information and Software Technology 45 (03 2003), 195-201.Google Scholar
- L. Cruz, R. Abreu, and J. Rouvignac. 2017. Leafactor: Improving Energy Efficiency of Android Apps via Automatic Refactoring. In 2017 IEEE/ACM 4th International Conference on Mobile Software Engineering and Systems (MOBILESoft). IEEE, Buenos Aires, Argentina, 205-206. Google ScholarDigital Library
- L. G. Lima, F. Soares-Neto, P. Lieuthier, F. Castor, G. Melfe, and J. P. Fernandes. 2016. Haskell in Green Land: Analyzing the Energy Behavior of a Purely Functional Language. In 2016 IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering (SANER), Vol. 1. IEEE, Suita, Japan, 517-528.Google Scholar
- A.A. Meszaros and G. Nagy. 2019. Measuring the energy consumption of Erlang programs and energy conscious refactorings. Sientific Thesis, Scientific Student Association Conference, ELTE-IK, Budapest, Hungary, Received 1st prize. (2019).Google Scholar
- A.A. Meszaros, G. Nagy, I. Bozo, and M. Toth. 2018. Towards Green Computing in Erlang. Studia Universitatis Babe?-Bolyai Informatica 63, 1 (2018), 64-79.Google Scholar
- Srinivas Pandruvada. 2014. RUNNING AVERAGE POWER LIMIT - RAPL. https://01.org/blogs/2014/running-average-power-limit---rapl. (2014). [Accessed: 2019.03.27.].Google Scholar
- Rui Pereira, Marco Couto, João Saraiva, Jácome Cunha, and João Paulo Fernandes. 2016. The Influence of the Java Collection Framework on Overall Energy Consumption. In Proceedings of the 5th International Workshop on Green and Sustainable Software (GREENS '16). ACM, New York, NY, USA, 15-21. Google ScholarDigital Library
- Vimal P. Parmar, Apurva K. Pandya, and Dr. CK Kumbharana. 2011. Optimization of Energy Usage for Computer Systems by Effective Implementation of Green Computing. International Journal of Advanced Networking Applications (IJANA) Sp. issue of National Conference held at Marvadi Educational Institution (2011), 87-90. https://www.ijana.in/Special%20Issue/16.pdfGoogle Scholar
- K. Sagonas, M. Pettersson, R. Carlsson, P. Gustafsson, and T. Lindahl. 2003. All You Wanted to Know About the HiPE Compiler: (but Might Have Been Afraid to Ask). In Proceedings of the 2003 ACM SIGPLAN Workshop on Erlang (ERLANG '03). ACM, New York, NY, USA, 36-42. Google ScholarDigital Library
- Skel Tutorial. 2014. Available at http://chrisb.host.cs.st-andrews.ac.uk/skel-test-master/tutorial/bin/tutorial.html. (2014). [Accessed: 2019.05.24.].Google Scholar
- M. Tóth and I. Bozó. 2012. Static Analysis of Complex Software Systems Implemented in Erlang. Central European Functional Programming Summer School - Fourth Summer School, CEFP 2011, Revisited Selected Lectures, Lecture Notes in Computer Science (LNCS), Vol. 7241, pp. 451-514, Springer-Verlag, ISSN: 0302-9743. (2012). Google ScholarDigital Library
- Filipe Varjão. 2017. Measuring Erlang energy consumption, and why this matters. http://www.erlang-factory.com/sfbay2017/filipevarjao.html. (2017). [Accessed: 2018.03.25.].Google Scholar
- Vincent M. Weaver. 2015. Reading RAPL energy measurements from Linux. http://web.eece.maine.edu/~vweaver/projects/rapl/. (2015). [Accessed: 2019.03.27.].Google Scholar
Index Terms
- Tools supporting green computing in Erlang
Recommendations
Green Computing: Energy Consumption Optimized Service Hosting
SOFSEM '09: Proceedings of the 35th Conference on Current Trends in Theory and Practice of Computer ScienceGreen Computing is a recent trend towards designing, building, and operating computer systems to be energy efficient. While programs such as Energy Star have been around since the early 1990s, recent concerns regarding global climate change and the ...
An energy consumption model and analysis tool for cloud computing environments
GREENS '12: Proceedings of the First International Workshop on Green and Sustainable SoftwareCloud computing delivers computing as a utility to users worldwide. A consequence of this model is that cloud data centres have high deployment and operational costs, as well as significant carbon footprints for the environment. We need to develop Green ...
Experimental analysis of task-based energy consumption in cloud computing systems
ICPE '13: Proceedings of the 4th ACM/SPEC International Conference on Performance EngineeringCloud computing delivers IT solutions as a utility to users. One consequence of this model is that large cloud data centres consume large amounts of energy and produce significant carbon footprints. A common objective of cloud providers is to develop ...
Comments