Leveraging Design Diversity to Build Energy-Efficient Applications

Detalhes bibliográficos
Autor(a) principal: OLIVEIRA JÚNIOR, Wellington de
Data de Publicação: 2021
Tipo de documento: Tese
Idioma: eng
Título da fonte: Repositório Institucional da UFPE
dARK ID: ark:/64986/0013000007v11
Texto Completo: https://repositorio.ufpe.br/handle/123456789/40465
Resumo: OLIVEIRA JÚNIOR, Wellington de, também é conhecido em citações bibliográficas por: OLIVEIRA, Wellington de. LIMA FILHO, Fernando José Castor de, também é conhecido em citações bibliográficas por: CASTOR FILHO, Fernando José e CASTOR, Fernando José
id UFPE_019c136e6f644f3d60dfcc0ac8f90d9e
oai_identifier_str oai:repositorio.ufpe.br:123456789/40465
network_acronym_str UFPE
network_name_str Repositório Institucional da UFPE
repository_id_str 2221
spelling Leveraging Design Diversity to Build Energy-Efficient ApplicationsEngenharia de Software e Linguagens de ProgramaçãoConsumo de energiaAnálise de desempenhoOLIVEIRA JÚNIOR, Wellington de, também é conhecido em citações bibliográficas por: OLIVEIRA, Wellington de. LIMA FILHO, Fernando José Castor de, também é conhecido em citações bibliográficas por: CASTOR FILHO, Fernando José e CASTOR, Fernando JoséDeveloping an application with energy consumption in mind may be difficult for a developer. First, because developers may not be familiar with techniques to reduce energy consumption. Second, because it may not be clear when and where these techniques can be applied, since apps with different characteristics require different solutions. Third, because information about energy efficiency is spread throughout multiple sources, making it difficult to make informed decisions. In this thesis, we introduce the concept of energy design diversity and how it can be used by non-specialists developers to build energy optimized applications. Our main insight is that, for many software development issues, there are multiple readily available diversely-designed solutions that have different characteristics in terms of energy consumption. Our objective is to help developers produce more energy efficient code without a significant increase in code complexity. To achieve our objective, we looked into two different aspects that impact the energy consumption of software systems: development approaches and Java collections. Our results when analyzing the different development approaches shows that using hybrid approaches to optimize CPU-intensive snippets for their code may result in an increase in energy efficiency. To compare the different development approaches, we realized empirical experiments on 33 different benchmarks and 3 applications on 5 different devices. Even with small changes the modifications made using JavaScript or C++ instead of Java can significantly reduce energy consumption. Regarding Java collections, we propose an approach for energy-aware development to help non-specialists developers. Using this approach, we implemented our energy saving tool, CT+, using energy profiles to compare the different collections implementations. Across 7 devices, 2295changes were made, achieving up to 16.34% reduction in energy consumption, usually changing a single line of code. Aside from the collections implementations itself, the results points that other factors may heavily influence collections energy optimizations such as: workload, device, development environment, energy profile and battery’s age. It is also relevant to point out that some of the most commonly used implementations (ArrayList, Hashtable, and HashMap) can often be replaced with more energy efficient versions, usually from alternative sources to the Java Collections Framework.FACEPEDesenvolver um aplicativo com o consumo de energia em mente pode ser difícil para um desenvolvedor. Primeiro, porque os desenvolvedores podem não estar familiarizados com as técnicas para reduzir o consumo de energia. Em segundo lugar, porque pode não estar claro quando e onde essas técnicas podem ser aplicadas, uma vez que aplicativos com características diferentes requerem soluções diferentes. Terceiro, porque as informações sobre eficiência energética estão espalhadas por várias fontes, dificultando a tomada de decisões por parte dos desenvolvedores. Nesta tese, apresentamos o conceito de energy design diversity e como ele pode ser usado por desenvolvedores para construir aplicativos energeticamente otimizados. O raciocínio é que existem várias soluções já disponíveis com características diferentes em termos de consumo de energia. Nosso objetivo é ajudar os desenvolvedores a produzir código com maior eficiência energética sem um aumento significativo na complexidade do código. Nossos resultados ao analisar as diferentes abordagens de desenvolvimento mostram que o uso de abordagens híbridas para otimizar trechos de uso intensivo de CPU para seu código pode resultar em um aumento na eficiência energética. Mesmo com pequenas alterações, as modificações feitas usando JavaScript ou C ++ ao invés de Java podem reduzir significativamente o consumo de energia. Com relação às coleções Java, propomos uma abordagem para o desenvolvimento energeticamente consciente para ajudar os desenvolvedores não especialistas. Usando essa abordagem, implementamos nossa ferramenta de economia de energia, o CT+, usando perfis de energia para comparar as diferentes implementações de coleções. Em 7 dispositivos, foram feitas alterações 2295, alcançando uma redução de até 16,34 % no consumo de energia, geralmente alterando uma única linha de código. Além das próprias implementações das coleções, os resultados apontam que outros fatores podem influenciar fortemente as otimizações de energia das coleções, tais como: carga de trabalho, dispositivo, ambiente de desenvolvimento, perfil de energia e idade da bateria. Também é relevante apontar que algumas das implementações mais comumente usadas (ArrayList, Hashtable, e HashMap) podem frequentemente ser substituídas por versões mais energeticamente eficientes, geralmente de fontes alternativas ao Java Collections Framework.Universidade Federal de PernambucoUFPEBrasilPrograma de Pos Graduacao em Ciencia da ComputacaoLIMA FILHO, Fernando José Castor dehttp://lattes.cnpq.br/8218275999484343http://lattes.cnpq.br/7310046838140771OLIVEIRA JÚNIOR, Wellington de2021-07-08T19:55:19Z2021-07-08T19:55:19Z2021-05-31info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/doctoralThesisapplication/pdfOLIVEIRA JÚNIOR, Wellington de. Leveraging Design Diversity to Build Energy-Efficient Applications. 2021. Tese (Doutorado em Ciência da Computação) – Universidade Federal de Pernambuco, Recife, 2021.https://repositorio.ufpe.br/handle/123456789/40465ark:/64986/0013000007v11engAttribution-NonCommercial-NoDerivs 3.0 Brazilhttp://creativecommons.org/licenses/by-nc-nd/3.0/br/info:eu-repo/semantics/openAccessreponame:Repositório Institucional da UFPEinstname:Universidade Federal de Pernambuco (UFPE)instacron:UFPE2021-07-09T05:20:50Zoai:repositorio.ufpe.br:123456789/40465Repositório InstitucionalPUBhttps://repositorio.ufpe.br/oai/requestattena@ufpe.bropendoar:22212021-07-09T05:20:50Repositório Institucional da UFPE - Universidade Federal de Pernambuco (UFPE)false
dc.title.none.fl_str_mv Leveraging Design Diversity to Build Energy-Efficient Applications
title Leveraging Design Diversity to Build Energy-Efficient Applications
spellingShingle Leveraging Design Diversity to Build Energy-Efficient Applications
OLIVEIRA JÚNIOR, Wellington de
Engenharia de Software e Linguagens de Programação
Consumo de energia
Análise de desempenho
title_short Leveraging Design Diversity to Build Energy-Efficient Applications
title_full Leveraging Design Diversity to Build Energy-Efficient Applications
title_fullStr Leveraging Design Diversity to Build Energy-Efficient Applications
title_full_unstemmed Leveraging Design Diversity to Build Energy-Efficient Applications
title_sort Leveraging Design Diversity to Build Energy-Efficient Applications
author OLIVEIRA JÚNIOR, Wellington de
author_facet OLIVEIRA JÚNIOR, Wellington de
author_role author
dc.contributor.none.fl_str_mv LIMA FILHO, Fernando José Castor de
http://lattes.cnpq.br/8218275999484343
http://lattes.cnpq.br/7310046838140771
dc.contributor.author.fl_str_mv OLIVEIRA JÚNIOR, Wellington de
dc.subject.por.fl_str_mv Engenharia de Software e Linguagens de Programação
Consumo de energia
Análise de desempenho
topic Engenharia de Software e Linguagens de Programação
Consumo de energia
Análise de desempenho
description OLIVEIRA JÚNIOR, Wellington de, também é conhecido em citações bibliográficas por: OLIVEIRA, Wellington de. LIMA FILHO, Fernando José Castor de, também é conhecido em citações bibliográficas por: CASTOR FILHO, Fernando José e CASTOR, Fernando José
publishDate 2021
dc.date.none.fl_str_mv 2021-07-08T19:55:19Z
2021-07-08T19:55:19Z
2021-05-31
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/doctoralThesis
format doctoralThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv OLIVEIRA JÚNIOR, Wellington de. Leveraging Design Diversity to Build Energy-Efficient Applications. 2021. Tese (Doutorado em Ciência da Computação) – Universidade Federal de Pernambuco, Recife, 2021.
https://repositorio.ufpe.br/handle/123456789/40465
dc.identifier.dark.fl_str_mv ark:/64986/0013000007v11
identifier_str_mv OLIVEIRA JÚNIOR, Wellington de. Leveraging Design Diversity to Build Energy-Efficient Applications. 2021. Tese (Doutorado em Ciência da Computação) – Universidade Federal de Pernambuco, Recife, 2021.
ark:/64986/0013000007v11
url https://repositorio.ufpe.br/handle/123456789/40465
dc.language.iso.fl_str_mv eng
language eng
dc.rights.driver.fl_str_mv Attribution-NonCommercial-NoDerivs 3.0 Brazil
http://creativecommons.org/licenses/by-nc-nd/3.0/br/
info:eu-repo/semantics/openAccess
rights_invalid_str_mv Attribution-NonCommercial-NoDerivs 3.0 Brazil
http://creativecommons.org/licenses/by-nc-nd/3.0/br/
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv Universidade Federal de Pernambuco
UFPE
Brasil
Programa de Pos Graduacao em Ciencia da Computacao
publisher.none.fl_str_mv Universidade Federal de Pernambuco
UFPE
Brasil
Programa de Pos Graduacao em Ciencia da Computacao
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFPE
instname:Universidade Federal de Pernambuco (UFPE)
instacron:UFPE
instname_str Universidade Federal de Pernambuco (UFPE)
instacron_str UFPE
institution UFPE
reponame_str Repositório Institucional da UFPE
collection Repositório Institucional da UFPE
repository.name.fl_str_mv Repositório Institucional da UFPE - Universidade Federal de Pernambuco (UFPE)
repository.mail.fl_str_mv attena@ufpe.br
_version_ 1846272407963172864