Por favor, use este identificador para citar o enlazar este ítem:
https://repositorio.ufpe.br/handle/123456789/40465
Comparte esta pagina
Registro completo de metadatos
Campo DC | Valor | Lengua/Idioma |
---|---|---|
dc.contributor.advisor | LIMA FILHO, Fernando José Castor de | - |
dc.contributor.author | OLIVEIRA JÚNIOR, Wellington de | - |
dc.date.accessioned | 2021-07-08T19:55:19Z | - |
dc.date.available | 2021-07-08T19:55:19Z | - |
dc.date.issued | 2021-05-31 | - |
dc.identifier.citation | 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. | pt_BR |
dc.identifier.uri | https://repositorio.ufpe.br/handle/123456789/40465 | - |
dc.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é | pt_BR |
dc.description.abstract | 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. | pt_BR |
dc.description.sponsorship | FACEPE | pt_BR |
dc.language.iso | eng | pt_BR |
dc.publisher | Universidade Federal de Pernambuco | pt_BR |
dc.rights | openAccess | pt_BR |
dc.rights | Attribution-NonCommercial-NoDerivs 3.0 Brazil | * |
dc.rights.uri | http://creativecommons.org/licenses/by-nc-nd/3.0/br/ | * |
dc.subject | Engenharia de Software e Linguagens de Programação | pt_BR |
dc.subject | Consumo de energia | pt_BR |
dc.subject | Análise de desempenho | pt_BR |
dc.title | Leveraging Design Diversity to Build Energy-Efficient Applications | pt_BR |
dc.type | doctoralThesis | pt_BR |
dc.contributor.authorLattes | http://lattes.cnpq.br/8218275999484343 | pt_BR |
dc.publisher.initials | UFPE | pt_BR |
dc.publisher.country | Brasil | pt_BR |
dc.degree.level | doutorado | pt_BR |
dc.contributor.advisorLattes | http://lattes.cnpq.br/7310046838140771 | pt_BR |
dc.publisher.program | Programa de Pos Graduacao em Ciencia da Computacao | pt_BR |
dc.description.abstractx | Desenvolver 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. | pt_BR |
Aparece en las colecciones: | Teses de Doutorado - Ciência da Computação |
Ficheros en este ítem:
Fichero | Descripción | Tamaño | Formato | |
---|---|---|---|---|
TESE Wellington de Oliveira Júnior.pdf | 1,6 MB | Adobe PDF | ![]() Visualizar/Abrir |
Este ítem está protegido por copyright original |
Este ítem está sujeto a una licencia Creative Commons Licencia Creative Commons