Rumo à Sustentabilidade: O Poder do Software Energeticamente Eficiente

Por Rui António Rua, Assistente de Investigação no Laboratório de Software Confiável (HASLab)

Atualmente, a tecnologia tornou-se parte integrante da vida de todos nós. Desde os smartphones aos computadores, o software tornou as nossas vidas mais fáceis e eficientes. No entanto, o setor das Tecnologias da Informação e Comunicação (TIC) é responsável por aproximadamente 10% do consumo total de energia a nível mundial, e espera-se que a sua pegada aumente para, pelo menos, 50% até 2030 [1]. O crescimento e o impacto deste setor levaram ao surgimento de novas iniciativas e áreas de investigação, como o Green Software – cuja popularidade tem vindo a aumentar ao longo dos últimos anos. Esta área foca-se na análise do consumo de energia do software, e de que forma é possível codificar software energeticamente eficiente; o principal resultado destas análises traduz-se num conjunto de boas práticas para a utilização de software de uma forma mais eficiente. Tais recomendações podem ter alvos diferentes, como os utilizadores, os programadores, ou até mesmo sistemas operacionais e plataformas.  

Mas quais são as vantagens no desenvolvimento de software energeticamente eficiente? O benefício mais óbvio é a redução do consumo de energia, ajudando assim a mitigar o impacto ambiental da tecnologia. Além disso, o software eficiente em termos energéticos pode levar a uma redução dos custos suportados por pessoas ou organizações. Ao reduzir a quantidade de energia necessária para alimentar os computadores, é possível reduzir os custos associados ao consumo de eletricidade. No que diz respeito aos utilizadores de dispositivos móveis, este tipo de software é capaz de melhorar a portabilidade, aumentando o tempo de atividade do dispositivo, e a vida útil da bateria. Quanto às organizações, a redução do consumo de energia pode levar a custos operacionais mais baixos e a uma pegada ambiental reduzida.  

Uma analogia simples para entender como as otimizações de software podem afetar o consumo de energia é comparar o funcionamento do software com a condução de um veículo. Ao pensar no software como um condutor e no hardware como um carro, podemos traçar um paralelismo entre conduzir de forma eficiente e desenvolver software com eficiência energética. Tal como os condutores, que podem controlar o consumo de combustível dos seus veículos através de uma condução eficiente, os programadores podem controlar o consumo de energia do software, através de códigos com eficiência energética. Por exemplo, podemos entender a CPU como o motor do computador; e, tal como o motor de um veículo, que requer combustível, a CPU necessita de energia. Ao otimizar o uso da CPU através de recursos como o agendamento inteligente de tarefas ou o uso de algoritmos de computação eficiente, o software pode reduzir o consumo de energia e melhorar a eficiência. Outras analogias podem ser feitas: por exemplo, o acesso à rede pode ser comparado a outras tarefas que consomem combustível, e o software pode economizar energia através do uso de modos de poupança e de gestão inteligente da largura de banda. Utilizando outra comparação, imaginemos o condutor de um camião, e a forma como otimiza o espaço para o transporte de mercadorias, de forma a reduzir o peso ou o número de viagens; o software também é capaz de otimizar a utilização de memória e de armazenamento, através de recursos como a compressão de memória.  

Além disso, desenvolver software energeticamente eficiente não significa apenas reduzir o consumo de energia: pode também melhorar a experiência dos utilizadores. À semelhança de um veículo com um motor mais eficiente, que acaba por ter um melhor desempenho, o software energeticamente eficiente pode aumentar a rapidez nos tempos de carregamento e melhorar a capacidade de resposta dos equipamentos.  

Esta nova área de investigação tem vindo a gerar resultados com um impacto científico concreto, promovendo simultaneamente o desenvolvimento das próprias comunidades. Ao longo dos últimos anos, têm sido publicados diversos estudos sobre os ganhos significativos de energia através da utilização de linguagens de programação migratórias, componentes arquitetónicos, bibliotecas ou softwares auxiliares, como os teclados virtuais. 

Além disso, existem milhões de artefactos de software que podem reutilizar este conhecimento para melhorar sua eficiência energética. Mesmo que a melhoria em termos de eficiência seja mínima, é possível replicá-la por milhões de execuções e utilizadores a nível mundial (por exemplo, uma aplicação móvel de grande popularidade), o que acaba por economizar quantidades significativas de energia, ajudando-nos a reduzir a nossa pegada ambiental.  

Em suma, o Green Software é uma importante área de investigação no ecossistema tecnológico atual. Ao reduzir o consumo de energia, o software energeticamente eficiente pode mitigar o impacto ambiental da tecnologia, ajudando pessoas e organizações a reduzir custos, e melhorando a experiência dos utilizadores. As analogias entre conduzir de forma eficiente e desenvolver software com eficiência energética poderão ser utilizadas para melhor compreender quão relevante é esta área. O desenvolvimento de software energeticamente eficiente não visa apenas reduzir o consumo de energia, mas também melhorar a performance e aumentar o grau de satisfação dos utilizadores, algo de vantajoso para todas as partes envolvidas.  

[1] “Lean ICT: Towards Digital Sobriety”, The Shift Project, julho de 2019. 

PHP Code Snippets Powered By : XYZScripts.com
EnglishPortugal