Leveraging Design Diversity to Build Energy-Efficient Applications

Detalhes bibliográficos
Ano de defesa: 2021
Autor(a) principal: OLIVEIRA JÚNIOR, Wellington de
Orientador(a): LIMA FILHO, Fernando José Castor de
Banca de defesa: Não Informado pela instituição
Tipo de documento: Tese
Tipo de acesso: Acesso aberto
Idioma: eng
Instituição de defesa: Universidade Federal de Pernambuco
Programa de Pós-Graduação: Programa de Pos Graduacao em Ciencia da Computacao
Departamento: Não Informado pela instituição
País: Brasil
Palavras-chave em Português:
Link de acesso: 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
spelling OLIVEIRA JÚNIOR, Wellington dehttp://lattes.cnpq.br/8218275999484343http://lattes.cnpq.br/7310046838140771LIMA FILHO, Fernando José Castor de2021-07-08T19:55:19Z2021-07-08T19:55:19Z2021-05-31OLIVEIRA 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/40465OLIVEIRA 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.engUniversidade Federal de PernambucoPrograma de Pos Graduacao em Ciencia da ComputacaoUFPEBrasilAttribution-NonCommercial-NoDerivs 3.0 Brazilhttp://creativecommons.org/licenses/by-nc-nd/3.0/br/info:eu-repo/semantics/openAccessEngenharia de Software e Linguagens de ProgramaçãoConsumo de energiaAnálise de desempenhoLeveraging Design Diversity to Build Energy-Efficient Applicationsinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/doctoralThesisdoutoradoreponame:Repositório Institucional da UFPEinstname:Universidade Federal de Pernambuco (UFPE)instacron:UFPEORIGINALTESE Wellington de Oliveira Júnior.pdfTESE Wellington de Oliveira Júnior.pdfapplication/pdf1642780https://repositorio.ufpe.br/bitstream/123456789/40465/1/TESE%20Wellington%20de%20Oliveira%20J%c3%banior.pdfc53c5ca2bec4ed672d5530f3889c56e2MD51CC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-8811https://repositorio.ufpe.br/bitstream/123456789/40465/2/license_rdfe39d27027a6cc9cb039ad269a5db8e34MD52LICENSElicense.txtlicense.txttext/plain; charset=utf-82310https://repositorio.ufpe.br/bitstream/123456789/40465/3/license.txtbd573a5ca8288eb7272482765f819534MD53TEXTTESE Wellington de Oliveira Júnior.pdf.txtTESE Wellington de Oliveira Júnior.pdf.txtExtracted texttext/plain320804https://repositorio.ufpe.br/bitstream/123456789/40465/4/TESE%20Wellington%20de%20Oliveira%20J%c3%banior.pdf.txt6fb7ab8bd610073c4ea1c0a1c8a30a80MD54THUMBNAILTESE Wellington de Oliveira Júnior.pdf.jpgTESE Wellington de Oliveira Júnior.pdf.jpgGenerated Thumbnailimage/jpeg1225https://repositorio.ufpe.br/bitstream/123456789/40465/5/TESE%20Wellington%20de%20Oliveira%20J%c3%banior.pdf.jpg63c03d50dda130c7012e578eb2c25e22MD55123456789/404652021-07-09 02:20:50.437oai:repositorio.ufpe.br:123456789/40465TGljZW7Dp2EgZGUgRGlzdHJpYnVpw6fDo28gTsOjbyBFeGNsdXNpdmEKClRvZG8gZGVwb3NpdGFudGUgZGUgbWF0ZXJpYWwgbm8gUmVwb3NpdMOzcmlvIEluc3RpdHVjaW9uYWwgKFJJKSBkZXZlIGNvbmNlZGVyLCDDoCBVbml2ZXJzaWRhZGUgRmVkZXJhbCBkZSBQZXJuYW1idWNvIChVRlBFKSwgdW1hIExpY2Vuw6dhIGRlIERpc3RyaWJ1acOnw6NvIE7Do28gRXhjbHVzaXZhIHBhcmEgbWFudGVyIGUgdG9ybmFyIGFjZXNzw612ZWlzIG9zIHNldXMgZG9jdW1lbnRvcywgZW0gZm9ybWF0byBkaWdpdGFsLCBuZXN0ZSByZXBvc2l0w7NyaW8uCgpDb20gYSBjb25jZXNzw6NvIGRlc3RhIGxpY2Vuw6dhIG7Do28gZXhjbHVzaXZhLCBvIGRlcG9zaXRhbnRlIG1hbnTDqW0gdG9kb3Mgb3MgZGlyZWl0b3MgZGUgYXV0b3IuCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwoKTGljZW7Dp2EgZGUgRGlzdHJpYnVpw6fDo28gTsOjbyBFeGNsdXNpdmEKCkFvIGNvbmNvcmRhciBjb20gZXN0YSBsaWNlbsOnYSBlIGFjZWl0w6EtbGEsIHZvY8OqIChhdXRvciBvdSBkZXRlbnRvciBkb3MgZGlyZWl0b3MgYXV0b3JhaXMpOgoKYSkgRGVjbGFyYSBxdWUgY29uaGVjZSBhIHBvbMOtdGljYSBkZSBjb3B5cmlnaHQgZGEgZWRpdG9yYSBkbyBzZXUgZG9jdW1lbnRvOwpiKSBEZWNsYXJhIHF1ZSBjb25oZWNlIGUgYWNlaXRhIGFzIERpcmV0cml6ZXMgcGFyYSBvIFJlcG9zaXTDs3JpbyBJbnN0aXR1Y2lvbmFsIGRhIFVGUEU7CmMpIENvbmNlZGUgw6AgVUZQRSBvIGRpcmVpdG8gbsOjbyBleGNsdXNpdm8gZGUgYXJxdWl2YXIsIHJlcHJvZHV6aXIsIGNvbnZlcnRlciAoY29tbyBkZWZpbmlkbyBhIHNlZ3VpciksIGNvbXVuaWNhciBlL291IGRpc3RyaWJ1aXIsIG5vIFJJLCBvIGRvY3VtZW50byBlbnRyZWd1ZSAoaW5jbHVpbmRvIG8gcmVzdW1vL2Fic3RyYWN0KSBlbSBmb3JtYXRvIGRpZ2l0YWwgb3UgcG9yIG91dHJvIG1laW87CmQpIERlY2xhcmEgcXVlIGF1dG9yaXphIGEgVUZQRSBhIGFycXVpdmFyIG1haXMgZGUgdW1hIGPDs3BpYSBkZXN0ZSBkb2N1bWVudG8gZSBjb252ZXJ0w6otbG8sIHNlbSBhbHRlcmFyIG8gc2V1IGNvbnRlw7pkbywgcGFyYSBxdWFscXVlciBmb3JtYXRvIGRlIGZpY2hlaXJvLCBtZWlvIG91IHN1cG9ydGUsIHBhcmEgZWZlaXRvcyBkZSBzZWd1cmFuw6dhLCBwcmVzZXJ2YcOnw6NvIChiYWNrdXApIGUgYWNlc3NvOwplKSBEZWNsYXJhIHF1ZSBvIGRvY3VtZW50byBzdWJtZXRpZG8gw6kgbyBzZXUgdHJhYmFsaG8gb3JpZ2luYWwgZSBxdWUgZGV0w6ltIG8gZGlyZWl0byBkZSBjb25jZWRlciBhIHRlcmNlaXJvcyBvcyBkaXJlaXRvcyBjb250aWRvcyBuZXN0YSBsaWNlbsOnYS4gRGVjbGFyYSB0YW1iw6ltIHF1ZSBhIGVudHJlZ2EgZG8gZG9jdW1lbnRvIG7Do28gaW5mcmluZ2Ugb3MgZGlyZWl0b3MgZGUgb3V0cmEgcGVzc29hIG91IGVudGlkYWRlOwpmKSBEZWNsYXJhIHF1ZSwgbm8gY2FzbyBkbyBkb2N1bWVudG8gc3VibWV0aWRvIGNvbnRlciBtYXRlcmlhbCBkbyBxdWFsIG7Do28gZGV0w6ltIG9zIGRpcmVpdG9zIGRlCmF1dG9yLCBvYnRldmUgYSBhdXRvcml6YcOnw6NvIGlycmVzdHJpdGEgZG8gcmVzcGVjdGl2byBkZXRlbnRvciBkZXNzZXMgZGlyZWl0b3MgcGFyYSBjZWRlciDDoApVRlBFIG9zIGRpcmVpdG9zIHJlcXVlcmlkb3MgcG9yIGVzdGEgTGljZW7Dp2EgZSBhdXRvcml6YXIgYSB1bml2ZXJzaWRhZGUgYSB1dGlsaXrDoS1sb3MgbGVnYWxtZW50ZS4gRGVjbGFyYSB0YW1iw6ltIHF1ZSBlc3NlIG1hdGVyaWFsIGN1am9zIGRpcmVpdG9zIHPDo28gZGUgdGVyY2Vpcm9zIGVzdMOhIGNsYXJhbWVudGUgaWRlbnRpZmljYWRvIGUgcmVjb25oZWNpZG8gbm8gdGV4dG8gb3UgY29udGXDumRvIGRvIGRvY3VtZW50byBlbnRyZWd1ZTsKZykgU2UgbyBkb2N1bWVudG8gZW50cmVndWUgw6kgYmFzZWFkbyBlbSB0cmFiYWxobyBmaW5hbmNpYWRvIG91IGFwb2lhZG8gcG9yIG91dHJhIGluc3RpdHVpw6fDo28gcXVlIG7Do28gYSBVRlBFLCBkZWNsYXJhIHF1ZSBjdW1wcml1IHF1YWlzcXVlciBvYnJpZ2HDp8O1ZXMgZXhpZ2lkYXMgcGVsbyByZXNwZWN0aXZvIGNvbnRyYXRvIG91IGFjb3Jkby4KCkEgVUZQRSBpZGVudGlmaWNhcsOhIGNsYXJhbWVudGUgbyhzKSBub21lKHMpIGRvKHMpIGF1dG9yIChlcykgZG9zIGRpcmVpdG9zIGRvIGRvY3VtZW50byBlbnRyZWd1ZSBlIG7Do28gZmFyw6EgcXVhbHF1ZXIgYWx0ZXJhw6fDo28sIHBhcmEgYWzDqW0gZG8gcHJldmlzdG8gbmEgYWzDrW5lYSBjKS4KRepositó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.pt_BR.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.authorLattes.pt_BR.fl_str_mv http://lattes.cnpq.br/8218275999484343
dc.contributor.advisorLattes.pt_BR.fl_str_mv http://lattes.cnpq.br/7310046838140771
dc.contributor.author.fl_str_mv OLIVEIRA JÚNIOR, Wellington de
dc.contributor.advisor1.fl_str_mv LIMA FILHO, Fernando José Castor de
contributor_str_mv LIMA FILHO, Fernando José Castor 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.accessioned.fl_str_mv 2021-07-08T19:55:19Z
dc.date.available.fl_str_mv 2021-07-08T19:55:19Z
dc.date.issued.fl_str_mv 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.citation.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.
dc.identifier.uri.fl_str_mv https://repositorio.ufpe.br/handle/123456789/40465
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.
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.publisher.none.fl_str_mv Universidade Federal de Pernambuco
dc.publisher.program.fl_str_mv Programa de Pos Graduacao em Ciencia da Computacao
dc.publisher.initials.fl_str_mv UFPE
dc.publisher.country.fl_str_mv Brasil
publisher.none.fl_str_mv Universidade Federal de Pernambuco
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
bitstream.url.fl_str_mv https://repositorio.ufpe.br/bitstream/123456789/40465/1/TESE%20Wellington%20de%20Oliveira%20J%c3%banior.pdf
https://repositorio.ufpe.br/bitstream/123456789/40465/2/license_rdf
https://repositorio.ufpe.br/bitstream/123456789/40465/3/license.txt
https://repositorio.ufpe.br/bitstream/123456789/40465/4/TESE%20Wellington%20de%20Oliveira%20J%c3%banior.pdf.txt
https://repositorio.ufpe.br/bitstream/123456789/40465/5/TESE%20Wellington%20de%20Oliveira%20J%c3%banior.pdf.jpg
bitstream.checksum.fl_str_mv c53c5ca2bec4ed672d5530f3889c56e2
e39d27027a6cc9cb039ad269a5db8e34
bd573a5ca8288eb7272482765f819534
6fb7ab8bd610073c4ea1c0a1c8a30a80
63c03d50dda130c7012e578eb2c25e22
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFPE - Universidade Federal de Pernambuco (UFPE)
repository.mail.fl_str_mv attena@ufpe.br
_version_ 1862741680189341696