TY - GEN
T1 - Helping developers write energy efficient Haskell through a data-structure evaluation
AU - Melfe, Gilberto
AU - Fonseca, Alcides
AU - Fernandes, Joo Paulo
N1 - Publisher Copyright:
© 2018 ACM.
PY - 2018/5/27
Y1 - 2018/5/27
N2 - How a program is written has implications in the energy consumption of the running system, with economical and environmental consequences. In this context, understanding the energy consumption of operations on data-structures is crucial when optimizing software to execute under power constricted environments. Existing studies have not focused on the different components of energy consumption that processors expose, rather considering the global consumption. To understand the relationship between CPU and memory energy consumptions with execution time, we instrument a microbenchmark suite to collect such values, and we analyze the results. Our benchmark suite is comprised of 16 implementations of functional sequences, collections and associative collections while measuring detailed energy and time metrics. We further investigate the energy consumption impact of using different compilation optimizations. We have concluded that energy consumption is directly proportional to execution time. Additionally, DRAM and Package energy consumptions are directly proportional, with the DRAM representing between 15 and 31% of the total energy consumption. Finally, we also conclude that optimizations can have both a positive or a negative impact on energy consumption.
AB - How a program is written has implications in the energy consumption of the running system, with economical and environmental consequences. In this context, understanding the energy consumption of operations on data-structures is crucial when optimizing software to execute under power constricted environments. Existing studies have not focused on the different components of energy consumption that processors expose, rather considering the global consumption. To understand the relationship between CPU and memory energy consumptions with execution time, we instrument a microbenchmark suite to collect such values, and we analyze the results. Our benchmark suite is comprised of 16 implementations of functional sequences, collections and associative collections while measuring detailed energy and time metrics. We further investigate the energy consumption impact of using different compilation optimizations. We have concluded that energy consumption is directly proportional to execution time. Additionally, DRAM and Package energy consumptions are directly proportional, with the DRAM representing between 15 and 31% of the total energy consumption. Finally, we also conclude that optimizations can have both a positive or a negative impact on energy consumption.
KW - data structures
KW - energy consumption
KW - functional programming
KW - Haskell
UR - http://www.scopus.com/inward/record.url?scp=85051250960&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85051250960&partnerID=8YFLogxK
U2 - 10.1145/3194078.3194080
DO - 10.1145/3194078.3194080
M3 - Conference contribution
AN - SCOPUS:85051250960
T3 - Proceedings - International Conference on Software Engineering
SP - 9
EP - 15
BT - Proceedings 2018 ACM/IEEE 6th International Workshop on Green and Sustainable Software, GREENS 2018
PB - IEEE Computer Society
T2 - 6th ACM/IEEE International Workshop on Green and Sustainable Software, GREENS 2018, co-located with the 40th International Conference on Software Engineering, ICSE 2018
Y2 - 27 May 2018
ER -