HPI clean-IT openXchange Live Talk – Energy efficiency of programming languages (João Saraiva)
Creators:: HPI, João Saraiva
Date:: 2023-01-30
Source:: https://open.hpi.de/courses/cleanit2021/items/2m5YKccatc9NnW8N2bsu1q
Status:: 🟩
Event information
The event will take place on Monday 30th of January at 18:00 CET.
The talk will be held by João Saraiva. The presentation will follow the question: How do energy, time, and memory relate to each other? In this talk, the speaker will compare a set of 27 programming languages regarding their efficiency, including from an energy point-of-view. The results show interesting findings, such as slower/faster languages consuming less/more energy, and how memory usage influences energy consumption.
João Saraiva is an Associate Professor at the Departmento de Informática, Universidade do Minho, Braga, Portugal, and a senior researcher member of HASLab/INESC TEC. He works together with a research team on reducing energy consumption across various computing systems (mobile, programs, databases, etc.). They specifically focus on the software side, where our mission is to apply (source code) analysis and transformation techniques to detect anomalies in energy consumption and to define optimizations to reduce such consumption.
Zoom Meeting: https://zoom.us/j/95042646125?pwd=bkNFcDZhZVkzejRqU1R1ZnhZNnluZz09
Meeting ID: 950 4264 6125 Passcode: 172895
Notes
Pereira, R., Couto, M., Ribeiro, F., Rua, R., Cunha, J., Fernandes, J. P., & Saraiva, J. (2017). Energy efficiency across programming languages: How do energy, time, and memory relate? Proceedings of the 10th ACM SIGPLAN International Conference on Software Language Engineering, 256–267. https://doi.org/10.1145/3136014.3136031
Green Computing
- good for the environment
- saves money
"Up to 90% of energy used by ICT hardware can be attributed to software"
The Greenhouse Gas Protocol Report, 2013
Computer Language Benchmark Game (CLBG)
- 28 different programming languages
- 13 different benchmarks (3 does use threads, 10 not)
- experts compete to code the fastest solution
Energy Measurement
- Running Average Power Limit (RAPL)
- Designed by Intel for i5/i7 architectures
- Monitors energy consumption info for Machine-Specific Registers (MSRs)
- Allows very precise and fine-grain measurements through function calls
- DRM/GPU
- CPU
- Package
Peak and Continuous Memory Usage
- Unix's time tool
Energy Consumption:
Memory Consumption:
Rosetta Code
- large repository of alternative solutions to programming problems
- almost the same result in terms of energy consumption, only exception is Java
Haskell is the only programming language that students learn in the first semester at the Universidade do Minho (Portugal).
Green Software Lab: https://greenlab.di.uminho.pt/
Paper about "Energy leaks":
Locating energy hotspots in source code | Proceedings of the 39th International Conference on Software Engineering Companion
IC4S Conference: https://ic4s-conference.eai-conferences.org/2022/