Skip navigation
Please use this identifier to cite or link to this item: https://repositorio.ufpe.br/handle/123456789/18706

Share on

Title: Understanding the energy Behavior of concurrent haskell programs
Authors: LIMA, Luís Gabriel Nunes Ferreira
Keywords: EficiênciaEnergética. ConsumodeEnergia. Haskell. ProgramaçãoConcorrente. ProgramaçãoFuncional. AnálisedeDesempenho.; Energy-Efficiency. Energy Consumption. Haskell. Concurrent Programming. Functional Programming. Performance Analysis.
Issue Date: 22-Aug-2016
Publisher: Universidade Federal de Pernambuco
Abstract: Energy-efficiency has concerned hardware and low-level software designers for years. However, the rapid proliferation of battery-powered mobile devices combined with the growing worldwide movement towards sustainability have caused developers and researchers to study the energy impact of application software in execution. Recent work has studied the effect that factors such as code obfuscation, object-oriented refactorings, and data types have on energy efficiency. In this work, we attempt to shed light on the energy behavior of concurrent programs written in a purely functional language, Haskell. We conducted an empirical study to assess the performance and energy behavior of three different thread management approaches and three primitives for concurrency control using nine different benchmarks with an experimental space exploration of more than 400 configurations. In this study, we found out that small changes can make a big difference in terms of energy consumption. For instance, in one of our benchmarks, under a specific configuration, choosing one concurrency control primitive (MVar) over another (TMVar) can yield 60% energy savings. Also, the relationship between energy consumption and performance is not always clear. We found scenarios where the configuration with the best performance also exhibited the worst energy consumption. To support developers in better understanding this complex relationship, we have extended two existing performance analysis tools also to collect and present data about energy consumption. In addition, based on the results of our empirical study, we provide a list of guidelines for developers with good practices for writing energy-efficient code in this environment.
Description: Orientador também citado por: CASTOR FILHO, Fernando
URI: https://repositorio.ufpe.br/handle/123456789/18706
Appears in Collections:Dissertações de Mestrado - Ciência da Computação

Files in This Item:
File Description SizeFormat 
dissertacao-final.pdf927,92 kBAdobe PDFThumbnail
View/Open


This item is protected by original copyright



This item is licensed under a Creative Commons License Creative Commons