18
Praça de Alvalade Nº 6, 11ºF, 1700-036 Lisboa | www.wintrust-intl.com Telf: +351 213 510 540 | Fax: +351 213 510 549 Testes ao Consumo Energético de Sistemas de Informação Data 08-Ago-2014 Paulo José Matos

2015 0808 testes ao consumo energético

Embed Size (px)

Citation preview

Page 1: 2015 0808 testes ao consumo energético

Praça de Alvalade Nº 6, 11ºF, 1700-036 Lisboa | www.wintrust-intl.com

Telf: +351 213 510 540 | Fax: +351 213 510 549

Testes ao Consumo Energético de Sistemas de Informação

Data 08-Ago-2014

Paulo José Matos

Page 2: 2015 0808 testes ao consumo energético

Página 2 de 18

Titulo

Testes ao Consumo Energético de Sistemas de Informação

Resumo

Publicamente, o conhecimento que existe sobre testes de software orientados à avaliação e classificação do consumo enérgico do software é quase inexistente, seja do ponto de vista teórico como prático (com que ferramentas e qual o método de trabalho). Porém é entendimento que a promoção da realização deste tipo de testes assume uma importância crescente tanto no campo ético/humano como no ambiental e que dependendo das circunstâncias se justifica de forma factual do ponto de vista económico.

É constatado que a realização de testes ao consumo energético, direta ou indiretamente, promove a diminuição do consumo energético no produto de software, pelo que as suas utilizações alcançam vantagens de três ordens: a financeira – na redução direta do custo do consumo, libertando o excedente para a melhoria das condições de vida das populações, a humana – na possibilidade de mais pessoas poderem utilizar capacidade energética instalada e a ambiental – na redução da emissão de CO2.

Palavras-chave:

Testes de Software, Eficiência Energética, Watt, Objetivos do Desenvolvimento do Milénio, Mudança Climática

Introdução

O presente artigo procura criar um movimento de pensamento na comunidade de desenvolvimento de Sistemas de Informação, nomeadamente nos Testers, que promova o aumento da eficiência energética no desenvolvimento de Sistemas de Informação, preconizado pela realização de testes de software sendo o benefício relacionável com a resolução de problemas ambientais e sociais derivados do consumo de eletricidade.

Na primeira secção do artigo é dado a conhecer de que forma a energia, nomeadamente a eletricidade, é importante para a humanidade, e quais os problemas que estão associados à sua produção/distribuição, sejam eles de ordem ambiental ou de ordem social.

Na segunda secção é apresentado o estado de arte da eficiência energética como tema no campo das Tecnologias de Informação (TI), com foco nos profissionais de testes. Releve-se a importância da ferramenta de testes de software – Joulemeter, disponibilizada gratuitamente pela Microsoft, onde são apresentados comparativos energéticos de consumo entre vários softwarese formas de medição, destacando-se as diferenças/poupanças energéticas entre eles.

Na terceira secção são relatados casos concretos e teóricos onde a ocorrência de melhorias de eficiência energética nos softwares pode ter um impacto importante nas populações, sendo dado também destaque aos objetivos do milénio evocados pelas Nações Unidas.

Na última secção são apresentadas as conclusões.

Page 3: 2015 0808 testes ao consumo energético

Página 3 de 18

1 O paradigma energético mundial

A humanidade evoluiu mais do que apenas do ponto de vista biológico, isto é, fez também uma evolução pelo uso crescente da tecnologia nos seus costumes. Este facto levou ao aparecimento das tecnologias de informação (TI) que rapidamente deixaram de se cingir ao conceito de uso de hardware. O Homem já acredita ter uma vivência “virtual”, em que interage com “objetos virtuais” e procura alcançar determinados “outputs virtuais”. Esta “nova” realidade só foi possível usando uma linguagem interpretativa – o software.

Para alcançar este “novo” mundo de infinitas possibilidades teve de ocorrer uma sequência de invenções mas tendo como pano de fundo a utilização de energia na sua forma de energia elétrica.

1.1 Energia no Mundo

Atualmente, a obtenção de energia para as atividades humanas tem diversas origens (petróleo, gás, nuclear, hidro, eólica, carvão, etc) existindo, de acordo com os últimos dados disponíveis referentes a 2012, uma oferta de energia disponível na grandeza das 13.371 Mtoe (KWES, 2014, p.6) sendo que o consumo se cifra em 8.979 Mtoe (KWES, 2014, p. 28).

A energia que é transformada em corrente elétrica é maioritariamente (67,9%) proveniente de fontes não renováveis (KWES, 2014, p. 24) (ver ilustração nº1). Desta forma compreende-se que na produção elétrica sejam emitidas quase 12.547 MtCO2 o que corresponde a 39,52% do total de emissões de CO2 (31.734,4 MtCO2) (KWES, 2014, p. 44). Cerca de 48% da eletricidade é gerada nos países da OCDE (KWES, 2014, p. 26) mas a emissão de CO2 por parte destes países é cada vez mais reduzida tendo-se situado, em 2012, na ordem dos 38% face ao total mundial (KWES, 2014, p. 45). Em sentido oposto encontra-se o continente africano onde a energia elétrica representa apenas 3% do consumo mundial de eletricidade (KWES, 2014, p. 26) o que é um valor muito baixo para a sua densidade populacional, pelo que perspetiva-se a muito curto prazo um aumento no nível de emissões por via da produção elétrica a partir de fontes não renováveis e altamente emissoras de CO2. 1

1.2 CO2 e Alterações Climáticas

O CO2 é o principal gás causador do efeito de estufa, e se em condições normais a quantidade emitida é importante na manutenção das condições sustentáveis à vida (Associação O Eco, 2013), em quantidades excessivas tem como consequência o aquecimento global que contribui para as alterações climáticas.

1 Fonte http://www.co2crc.com.au/images/cappics/postcombustion_485.jpg

Ilustração 1 - Ilustração da produção de energia elétrica

Page 4: 2015 0808 testes ao consumo energético

Página 4 de 18

O aumento excessivo de CO2 atmosférico de origem antropogénica é alarmante e de acordo com Nicholas Stern (2009), haverá poucos vencedores para a nossa civilização quando se atingir um aumento da temperatura global na ordem dos 4ºC. Nesse ponto de situação as catástrofes naturais serão inevitáveis e mesmo incontroláveis. O efeito dessas catástrofes deve ser entendido de forma mais lata que os afetados diretamente num dado momento pois a médio prazo, provocará a deslocação de milhões de pessoas num regime de migração permanente entre territórios considerados menos “seguros” e “ambientalmente instáveis”. Estes “refugiados das alterações climáticas” (Stern, 2009) farão surgir tensões nas sociedades pelas quais estarão em trânsito que, no limite, levarão à existência de conflitos armados no controlo das fronteiras e dos recursos naturais.

Importa referir que no contexto União Europeia percebendo esta a problemática global procurou diminuir suas emissões de CO2 e assumindo perante o mundo uma meta de descarbonização total para a eletricidade produzida até 2050 (SRWEIO, 2014).

2No campo do consumo elétrico, e numa ação de curto prazo, Al Gore (2009) aconselha a que os nossos esforços imediatos sejam dirigidos para o investimento na eficiência energética, pois não só iremos poupar dinheiro como reduziremos o consumo energético e as emissões de CO2 de forma eficaz e num curto espaço de tempo, face a outras alternativas que nunca podem ser imediatas (criação de campos de produção eólica ou centrais solares, para exemplo).

1.3 Aumento das populações urbanizadas

Os países em desenvolvimento têm um enorme desafio pela frente pois albergam a maioria da humanidade com 5,7 mil milhões de habitantes (de um total de 6,7 mil milhões) e espera-se que em 2050 sejam 8 mil milhões, de um total mundial de 9 mil milhões (UN, 2014).

De acordo com Agência Internacional de Energia (IEA), no relatório especial sobre uma visão do investimento em energia no mundo (2014), hoje, 1,3 mil milhões de pessoas, isto é, uma pessoa em cada cinco da população mundial, não tem acesso à eletricidade (ver ilustração nº2), e 2,6 mil milhões de pessoas utilizam a combustão de

biomassa para cozinharem e se aquecerem.

Por outro lado, está em curso a maior migração de pessoas a que humanidade assistiu num curto período de tempo (Wish, 2009), isto é, a transição farm to firm, a transição do meio rural para o urbano. No início do século XX, 2 em cada 10 pessoas viviam em áreas urbanas, em 1990 menos de 40%, em 2010 mais de metade da população e prevê-se que em 2050, 7 em cada 10 sejam

2 Fonte: http://www.ashden.org/files/blog-images/Poster.jpg

Ilustração 2 Publicidade da campanha Vols4Women

Page 5: 2015 0808 testes ao consumo energético

Página 5 de 18

habitantes citadinos (GHO, 2014). Este facto leva a que se preveja um excesso de procura da energia elétrica, em muitos casos em localizações onde as infraestruturas de distribuição elétrica são inexistentes ou ineficientes.

1.4. Energia Sustentável para Todos

As Nações Unidas atentas ao paradigma energético das sociedades, em particular aos países mais pobres, concordaram que a “energia” tem de ser disponibilizada a todos os cidadãos pois ela é basilar ao cumprimento de todos os “Objetivos do Desenvolvimento do Milénio (ODM)”, nomeadamente “Acabar com a Fome e Miséria” (1º) ou ainda a proporcionar “Educação Básica de Qualidade para Todos” (2º) (UNMDG, 2014). Assim sendo, as Nações Unidas lançaram a campanha A Década da Energia Sustentável para Todos (2014-2024) em que pretendem, até 2030, assegurar o acesso universal a serviços modernos de energia, duplicar a taxa de eficiência energética e duplicar a taxa de uso de energias renováveis na obtenção global de energia.

Recorde-se que o setor da energia é a maior indústria do mundo, sendo a sua distribuição um catalisador para o desenvolvimento económico, pois permite fazer chegar às populações a possibilidade de educação, saúde e de ter um emprego (UN, 2013).

2 Eficiência Energética nos Sistemas Computacionais

Um sistema computacional, ou computador, é o conjunto de dispositivos eletrónicos físicos (hardware) capazes de efetuar cálculos algorítmicos de acordo com determinados procedimentos definidos por lógica (software).

Um computador é constituído por três grandes subsistemas: a unidade central de processamento (CPU – central processing unit), a memória e os dispositivos de entrada e saída (I/O – input/output)” (Rocio, 2010).

2.1 Consumo Energético do Hardware

A engenharia de hardware há mais de uma década e meia que se esforça por ser mais eficientes do ponto de vista energético e por dois motivos:

Primeiro, porque o mercado ao evoluir de estações de trabalho para dispositivos móveis iria requerer processadores mais contidos ao nível do consumo energético, atendendo a que a tecnologia associada às baterias não estava a evoluir como seria desejável e,

Em segundo, porque os processadores são os maiores consumidores de energia imediatamente a seguir às placas gráficas (que não deixam por sua vez de ser processadores), pelo que havia uma grande margem de ganho para otimização com impactes diretos ao nível de uma redução financeira na fatura energética, em especial no ciclo de vida dos servidores onde estes trabalham 24 horas por dia.

Assim, não é de estranhar que tanto a Intel® como a AMD®, principais fabricantes de processadores para SI, aplicaram tecnologias inovadoras do ponto de vista da eficiência energética nos seus

Page 6: 2015 0808 testes ao consumo energético

Página 6 de 18

processadores, respetivamente no Pentium® III em 1999, atribuindo-lhe o nome SpeedStep®, e no AMD® K6-2 em 1998, com o nome comercial PowerNow!™.

Sinteticamente, constatamos que o nível do consumo energético nos componentes de um computador, apresentam correspondências médias com os seguintes valores: 45% no processador (CPU), 20% no processador Gráfico (GPU), 19% na placa mãe, 12% no leitor ótico de multimédia, 2% na memória RAM, 1% respeitante ao um disco rígido ótico e 1% ao sistema de refrigeração.

2.2 Software Testing e o Debate da Eficiência Energética

O tema da eficiência energética no mundo dos profissionais de Testes de Software é um tema quase inexistente. No livro que muitos consideram ser a bíblia da profissão “Art of Software Testing” de Glenford Myers et al apenas consta o seguinte excerto “existem programas que podem ter metas de performance e eficiência específicos” (Myers, 2012, pp. 126).

De acordo com Paulo Matos (2015a) as únicas referências “históricas” focadas no tema próximas da atualidade são duas intervenções de Brennan e Blatt, ambas no ano de 2008. Brennan (2008) interveio na EuroSTAR Conference 2008 onde defendeu que “Ineffective/Inefficient Testing = Resource Wastage / Global Impact” mas é Blatt que merece destaque ao fazer a pergunta essencial sobre a qual todos os engenheiros de software devem refletir: highly efficient code will use less processing power, and therefore less energy; but is the extra development effort (and energy spent doing it) worth it? (Blatt 2008).

2.2.1 O debate na comunidade tester

Paulo Matos (2015b) no blogue oficial do evento Belgium Testing Days 2015 explanou alguns argumentos e contra-argumentos que podem explicar a falta de atenção da comunidade tester e que foram:

1) Falta de procura do mercado (público ou privado) - pode estar a acontecer porque os clientes não sentem a necessidade de controlar o consumo energético das aplicações de software ou porque ninguém lhes disse que o parâmetro “consumo energético” é também uma variável negocial no desenvolvimento de SI.

A solução é dar visibilidade a todos os shareholders da temática. 2) Perceção negativa do radicalismo ambiental – em particular quando a mensagem se

transmite diretamente ao CEO de que um software pode consumir menos energia e isso favorece o ambiente.

A abordagem deve ser ao CEO e ao CFO e assemelhar-se a "se o software consumir menos vocês irão gastar menos dinheiro, pelo que o investimento financeiro não só ficará rentabilizado, como adicionalmente, a imagem da empresa será melhorada, e poderão dizer a todo o mundo que o vosso software é ambientalmente responsável e economiza o dinheiro do consumidor ".

3) Consumo de energia é um problema de hardware e não de software. O argumento tem algum mérito e é parcialmente válido pois medindo dois dispositivos de hardware diferentes executando o mesmo código fonte encontraremos diferentes níveis de consumo.

Page 7: 2015 0808 testes ao consumo energético

Página 7 de 18

Deve ser usado como contra-argumento o referido na ISO 14756, isto é “por forma a medir a influência do software no comportamento de um sistema de processamento de dados é necessário medir o comportamento do sistema no seu todo” (ISO 14756, 1999, p.6 " isto é, para testar o consumo de energia de software deve ser testada a plataforma como um todo, porque um só funciona se tiver o outro, e vice-versa.

4) Falta de ferramentas - torna a execução dos testes ao consumo energético difíceis.

Sempre existiram dois tipos de medições físicas dos produtos eletrónicos (como um pc): as pinças amperimétricas (que não é invasiva na corrente) ou os Wattímetros (que são invasivos). Do ponto de vista de ferramentas de software, o MS Windows 7, que ainda é detentor da maior quota de mercado de SO, teve uma ferramenta open-source que estimava o consumo energético – o Joulemeter. Comercialmente, em 2014, a CAST lançou uma opção para o produto “CAST's Application Analytics Dashboard” apelidada de “CAST Green IT Index” que permite perceber se o código fonte está a operar sob as melhores práticas de programação e com isso atribui uma percentagem de qualidade ambiental numa escala de 1 a 4.

5) Investimento de baixo retorno – se só se fizer realizar os testes e não o desenvolvimento de software corretivo ou evolutivo.

É boa prática todo o software no seu projeto de lançamento ter em conta quantas utilizações/hora estão previstas no seu ciclo de vida, pelo que será em função disso que se saberá a utilidade da avaliação do parâmetro “consumo energético”. Por outro lado se um determinado software estiver num processo de re-factoring então faz sentido esta componente ser validada.

6) Os benefícios são para o consumidor e não para o produtor, ou seja, se a empresa dedicar tempo para melhorar o consumo de energia do produto do software o benefício transfere-se para o cliente final.

O contra-argumento passa por a empresa poder melhorar a sua reputação e criar novas oportunidades de marketing, apelando por exemplo ao nicho de mercado “ético” ou o “ambiental”. Nathalie Rooseboom de Vries (2010) a propósito da ética dos testers diz-nos que somos corresponsáveis pela aceitação do produto, pelo que devemos procurar estar sempre na vanguarda do desenvolvimento com vista à qualidade total.

7) Desenvolvimento dos produtos de software faz-se em países desenvolvidos pelo que não há um sentimento de perceção das necessidades de operação em países não desenvolvidos. Não é percetível a quem desenvolve que parte dos cidadãos mundiais não tem acesso à eletricidade de forma fácil, interrupta ou barata.

Só promovendo mais ações de sensibilização para o impacto ético e social do nosso trabalho na comunidade poderemos superar esta dificultada.

8) “O tema Não é Fixe nem Sexy” para a comunidade tester. Nos últimos anos, a comunidade tester tem considerado outros temas mais interessantes para debater como por exemplo, a tentativa de responder se em um novo projeto devemos usar Agile ou metodologias tradicionais.

Talvez a indústria deveria ser mais “adulta” e concentrar-se no que é mais importante para o mundo.

Page 8: 2015 0808 testes ao consumo energético

Página 8 de 18

2.3 O impulso alemão

Transversalmente a todas as profissões ligadas ao desenvolvimento de Sistemas de Informação, o ano de 2010 pode ser caracterizado como o ano do “Impulso Alemão”, derivado que foi neste ano e em solo alemão que surgiram duas iniciativas muito relevantes para o tema: o projeto Green Software Engineering e a conferência anual Energy-Aware – High Performance Computing (EAHPC). Estas iniciativas demonstram um virar de página da comunidade internacional, isto é, o consumo energético do software começou a ter relevo na sociedade atendendo que foi a partir dessas iniciativas que encontramos vários casos de estudos. Estes indicam sumariamente a possibilidade de otimizar consumos energéticos se a esse propósito for dedicado tempo e esforço. Apesar de tudo, as referencias feitas a profissionais de testes são feitas sempre indiretamente.

2.4 ISO/IEC 14756:1999 (E)

A ISO/IEC 14756:1999 (E) “Measurement and Rating of Performance of Computer-based Software Systems” (Medição e Classificação da Performance de Sistemas de Software em Computadores) é comumente citada em vários casos de estudos da EAHPC, nomeadamente quando estes referem que não aplicaram o procedimento de avaliação do consumo energético previsto na ISO mas um derivado deste. Importa assim referir genericamente algumas das orientações da ISO e que são:

1) Para medir a influência do software no comportamento de um sistema de processamento de dados é necessário medir o comportamento do sistema no seu todo. 2) É necessário que os testes/medições a efetuar sejam reproduzíveis em qualquer momento, por terceiros. 3) Não é possível utilizar humanos na experiencia porque não conseguem reproduzir comportamentos por períodos longos e repetitivos, sem que haja um desvio de comportamento. Dito de outra forma, os humanos não são determinísticos pois têm comportamento diversificado. 4) O resultado da medição consiste num conjunto de dados calculados que devem ser comparados com outro software (ou com outra versão do mesmo software) em igual hardware, mas para a mesma funcionalidade. 5) Os indicadores defendidos como sendo válidos são orientados ao ser humano, pelo que são independentes do hardware usado.

2.5 Realização de Testes ao Consumo Energético de Software

É possível na atualidade realizar dois tipos de medição: a física e a emulada (simulada).

Para medir fisicamente o consumo energético dum System Under Test (SUT) existe dois tipos de equipamentos e que podem ser utilizados (em simultâneo, ou não) que são: 1) medidor de potência elétrica ou wattímetro, e 2) pinça amperimétrica digital com medidor de potência (em watts). O wattímetro é um dispositivo invasivo da corrente elétrica pois mede efetivamente o consumo energético. É pois uma medição direta. A pinça amperimétrica não é invasiva no circuito elétrico e desta forma não influencia, positiva ou negativamente, o consumo medido. Porém o apuramento é estimado pelo campo magnético da pinça, pelo que é uma medição indireta.

Page 9: 2015 0808 testes ao consumo energético

Página 9 de 18

A grande vantagem da medição física face à via software é que pode ser feita independente do SO, mantendo-se sempre válida.

Em 2010, a Microsoft, Kansal et al. (divisão de Research) disponibilizou sem custos para o utilizador um software de simulação do gasto energético – o Joulemeter para operar no Windows® 7. São vantagens do uso desta ferramenta a possibilidade de particularizar a medição ao processo em execução e a obtenção dos valores segundo a segundo em formato digital.

2.5.1 Comparativo de resultados entre ferramentas

Por forma a avaliar as três ferramentas de medição foi criado e executado um caso de teste em que um programa informático tinha como objetivo resolver um problema matemático no menor tempo possível. Atendendo que o Joulemeter obtém dados a cada segundo, e na operação dos equipamentos físicos o registo da medição é feito visualmente a cada 5 segundos, são somados os valores nos blocos de 5 segundos e feita a sua média.

Os resultados do Joulemeter (ver ilustração nº3) mostram um consumo médio de 135 Ws, o

Wattímetro consumiu um valor médio de 123 Ws e a pinça

amperimétrica situou valor em 104 Ws. É

importante referir que a soma da margens de erro

e o consumo próprio do Wattímetro somado significam um desvio de 0,7 Ws o que é um valor sem significado, tal como é pouco relevante os 2,5% de margem de erro da pinça amperimétrica, que tem como maior constrangimento o facto de se visualizar apenas duas casas decimais na unidade de medida kW.

O desvio de 10% do Joulemeter face ao Wattímetro e quase 30% face à Pinça Amperimétrica aparenta ser alto, mas é importante dizer que pode ser melhorado pela funcionalidade da calibração manual do Joulemeter. Noutra perspetiva o facto das medições físicas serem só realizadas a cada 5 segundos faz com que não sejam capturados todos os picos de consumo, situação que dificilmente pode ser melhorada, até porque a ISO 14756 desaconselha totalmente o uso da observação humana.

Ilustração 3 Medição do consumo energético de programa X de 3 formas diferentes

Page 10: 2015 0808 testes ao consumo energético

Página 10 de 18

Ilustração 4 - Avaliação do Caso de Teste 3, em que o Caso A, por ser o mais baixo, é usado como referência para o B e C

2.5.2 Comparativo de resultados de medição de consumo via Joulemeter

Foi executada a medição do consumo energético via Joulemeter, de três casos de teste em dois SUT de arquitetura diferente (portátil e estação de trabalho fixa) e que correspondem às seguintes especificações:

1. Aceder a um Portal de Noticias Generalista Português. a. Via Browser Firefox na sua versão 18.0.1, lançada a 18 Janeiro de 2013 com várias extensions ativas. b. Via Browser Firefox na sua versão 18.0.2, lançada a 5 Fevereiro de 2013. O browser não tem extensions ativas.

2. Aceder a um Portal de Vídeos Generalista a. Via Browser Firefox na sua versão 18.0.1, lançada a 18 Janeiro de 2013 com várias extensions ativas. b. Via Browser Firefox na sua versão 18.0.2, lançada a 5 Fevereiro de 2013. O browser não tem extensions ativas.

3. Executar três aplicações desenvolvidas autonomamente entre si (e por diferentes perfis de experiencia de programação), mas todas com o objetivo de resolverem um problema matemática teórico apelidado de InverteHex.

Os resultados alcançados, numa comparação intra SUT, demostraram que em todos os ensaios realizados existe sempre uma alternativa mais eficiente energeticamente nos programas de software (ver tabela 1.

Tabela 1 Comparação entre os totais mínimos e máximos do consumo energético nos SUT1 e SUT2

No caso de teste 1 e 2, em que se utilizou um mesmo software em versões diferentes constou-se que uma consumia muito mais energia. Isto é, o consumo não é igual e as variações vão desde 71% a 516% o que representa, respetivamente, uma variação de poupança potencial de 139 Ws a 10973

Ws. Estas diferenças são significativas mas só por via da concretização de testes de software foi possível percecionar esta diferença.

Consumo Energético Total

SUT Caso Teste Min (Ws) Max (Ws) ∆ (Ws) ∆ % 1

1 1878 8278 6400 341%

2 195 334 139 71%

1 2

2127 13100 10973 516% 2 149 532 383 257% 1

3 1555 52462 50907 3274%

2 258 9712 9454 3664%

Page 11: 2015 0808 testes ao consumo energético

Página 11 de 18

Avaliando o caso de teste 3 (ver tabela nº1 e Ilustração nº4), em que se comparou o consumo energético dos três programas construídos de forma independente entre si mas que visavam a mesma solução, verificou-se que entre o programa que consume menos e o que consome mais, a variação é muito elevada (na ordem de mais de 35 vezes para o pior caso), e isto independentemente do SUT onde se realizou o teste. Em termos absolutos, o pior diferencial foi encontrado no SUT 1 no caso de teste 3C com uma diferença de 50.907 Ws. Porém, neste SUT 1 todos os testes executados gastaram mais que no SUT 2 (em média 1140%3). Em termos relativos, foi no SUT 2 que se gastou mais energia face ao programa de software considerado como padrão no processamento de dados, o que quer dizer que apesar do SUT 2 apresentar sempre um consumo inferior face ao SUT 1, o software estava tão pouco otimizado que foi efetivamente necessário consumir mais 3.664% para que o programa conseguisse devolver um resultado válido. Outra situação igualmente decorrente da realização de testes de software é a possibilidade de se verificar qual o melhor SUT para se executar determinadas tarefas. Quer isto dizer que, tendo o software comportamentos de consumo diferentes face ao hardware existente, também é possível otimizar a compra de equipamento tendo a relação custo/futura utilização.

3 Benefícios do aumento da eficiência nos Sistemas Computacionais

A necessidade do uso software nas múltiplas atividades humanas não é questionada mas a possibilidade desse software estar energeticamente otimizado pode ser, como se provou na secção anterior, onde se encontraram diferenças entre consumos energéticos dos SUT na ordem 341% (6.400 Ws) para acesso a um simples Website. Esta situação de não eficiência energética é preocupante pois se era possível gastar 1.878 Ws no acesso ao Website e se gastaram-se 6.400 Ws, quer dizer que foram desperdiçadas duas outras possíveis visitas a esse mesmo site4 por aquele utilizador, ou por outro em igual condição de concorrência (mesma localização geográfica, mesmo estrato social, mesmo tarifário energético, mesmo tipo de SUT). Voltando ao Caso de Teste 1 (CT1), se avaliarmos a dimensão “tipo de hardware” em que o software foi executado, os testes também revelam que um equipamento portátil (SUT 2) é cerca de 10 vezes mais económico5 (no caso mais favorável = 1.878 Ws) gastando apenas 195 Ws, o que permite ao utilizador visitar o site mais dez vezes (ou 42 vezes se considerar-mos o pior cenário do SUT 1 (8.278 Ws)).

3.1 Custo Económico da Ineficiência Energética para a população

O desperdício energético anteriormente descrito é grave pois promove um aumento de emissões de CO2 e não liberta recursos financeiros para outros fins, em particular nos casos das populações mais pobres.

3 (2478% + 963% + 2462% + 1428% + 603% + 511% + 540% + 724% + 553%) / 9 Casos de teste = 1140% 4 (6400 - 1878 ) / 1878 = 2,4 5 SUT 1 CT1 = 1878 vs SUT 2 CT1 = 195

Page 12: 2015 0808 testes ao consumo energético

Página 12 de 18

Ilustração 5 Contador CREDELEC da EDM - Eletricidade de Moçambique

Esta segunda questão é bastante real se considerarmos, a título de exemplo, o caso de Moçambique, país do continente africado onde o Índice de Pobreza Multidimensional (IPM) é 79%. Em Moçambique a rede de distribuição elétrica é constituído em 84% por contadores CREDELEC (ver ilustração nº5) que permitem a venda de energia a crédito (Pré-Pagamento)6, isto é, é dada aos consumidores a possibilidade de decidirem quando e quanto é que pretendem usar eletricidade. Esta solução de distribuição da eletricidade existe não porque o povo moçambicano seja muito rigoroso nos seus consumos mas porque, efetivamente, os recursos financeiros são escassos. Considerando a tarifa doméstica de 2,50 Meticais/kWh (Valor de Aquisição ao Produtor de Eletricidade – VAPD) no escalão 0 a 300 kWh7 (0,07€/kWh a 7/08/2015) seria possível ao consumidor aceder ao site (Caso de Teste 1) via SUT 1, 434 vezes e 18.461 vezes se utilizasse o SUT 2, o que é uma diferença significativa.

Custo Energético do CT 1 no SUT 2

195 Ws = 0,000054 kWh x 0,07 €/kWh = 0,000 004 €/kWh

3.600s x 1.000

Custo Energético do CT 1 no SUT 1

8.278 Ws = 0,002300 kWh x 0,07 €/kWh = 0,000 161 €/kWh

3.600s x 1.000 Observações: O cálculo 3.600s x 1.000 Destina-se à normalização de unidades, de Ws para kWh, uma vez que o custo de energia é em kWh, enquanto o diferencial de energia está em Ws.

3.1.1 Fórmula do Ponto de Viabilidade Económica para Execução de Testes

Na Revista de Ciências da Computação (2014) Matos et al (2015) compilou numa fórmula matemática, o cálculo da viabilidade da execução de testes de software para apuramento do consumo energético deste, se forem conhecidos alguns dados.

6 Eletricidade de Moçambique (EDM) Sistema pré-pago clientes 1.183.311, EDM Sistema pós-pago clientes 193.692 Fonte: http://www.edm.co.mz 7 Fonte: Eletricidade de Moçambique http://www.edm.co.mz

Page 13: 2015 0808 testes ao consumo energético

Página 13 de 18

Fórmula custo do teste vs custo da energia:

h * x ≤ y * z Detalhando

h * x(€/hr) ≤ (e1(Ws) - e2(Ws)) * VAPD(€/kWh) * z 3600 * 1000

Legenda h Número de horas de testes (hr) x Custo da execução de testes, por hora (€/hr) z Número de utilizações estimado (útil.) y Consumo energético da aplicação acima do normal, por utilizações (€/útil) en Consumo Energético de uma aplicação ou funcionalidade em teste (Ws) VAPD Valor de Aquisição a um Produtor de Eletricidade (€/kWh)

Na fórmula contêm três variáveis muito voláteis que são o (i) Custo de execução de testes por hora (ii) Consumo energético da aplicação acima do normal e (iii) Número de utilizações. A variável Valor de Aquisição a um Produtor de Eletricidade é mais robusta pois permanece inalterada por mais tempo.

Ilustração 6 Aplicação da fórmula “custo de teste vs custo da energia” na relação das três variáveis voláteis.

A ilustração nº6 é uma abordagem teórica da relação das 3 variáveis voláteis que serve o propósito de sensibilizar os stakeholders visualizarem rapidamente a relação custo/beneficio na aquisição de testes de software com o propósito de reduzir o consumo energético do seu código-fonte.

Page 14: 2015 0808 testes ao consumo energético

Página 14 de 18

3.2 Custo Economico da Ineficiência Energética em sistemas críticos

A maneira como os problemas se apresentam às populações dos países em vias de desenvolvimento não se resume às carências económicas. É necessário também ter em consideração o seu défice na distribuição da rede elétrica. Tomando o Brasil como exemplo verificamos a existência de concessões rodoviárias com mais de 400 km cada e que são auxiliadas na sua gestão por sistemas inteligentes de transportes (Grupo EcoRodovias, 2015) que são compostos por diversos equipamentos (Postos SOS, Câmaras de Vídeo Vigilância, Sensores de Tráfego ou ainda Painéis de Mensagens Variáveis) que necessitam energia. Os equipamentos são controlados remotamente e estão em constante comunicação com a central de operações (que até pode estar num outro continente como a Europa) e verifica-se que ao longo de certos troços das autoestradas não existe cobertura da rede elétrica. Pedir a extensão da rede elétrica do ponto mais próximo pode não compensar financeiramente o investimento à concessionária da autoestrada ou ainda pode o fornecedor de energia recusar-se a fazê-lo pelo mesmo motivo. Desta forma só a garantia do software ser energeticamente eficiente, atendendo à obtenção de energia originária de um mix de painéis solares e/ou equipamentos eólicos, pode garantir que os equipamentos instalados na autoestrada estejam funcionais. A vigilância sem interrupções das autoestradas em países como o Brasil é muito importante dado que, para exemplo e em valores absolutos, no ano de 2010 o número estimado de mortes com origem na estrada foi de 43.869, ou seja, o quarto pior resultado do mundo (em 181 países) só ficando atrás da China, India e Nigéria (GHO, 2010). Por estes motivos, o facto de uma câmara de vídeo vigilância ou um posto de SOS poder estar inoperacional devido a uma falha no software que tenha provocado um gasto excessivo de energia, ou então porque o mau dimensionamento energético da solução de software provocou um esgotamento dos recursos energéticos antes do tempo para o qual fora previsto, pode ser dramático ao nível dos custos operacionais, já que a substituição ou o recarregamento das baterias para colocar novamente os equipamentos operacionais, poderá demorar algumas horas atendendo ao processo completo, desde a deteção da falha de energia do equipamento até ao momento em que a equipa de técnicos de manutenção consegue chegar à localização do equipamento e efetuar a substituição ou recarregamento da bateria, muitas vidas podem ser colocadas em perigo entretanto.

3.3 Ineficiência Energética impossibilita o cumprimento dos objetivos do milénio

Em 2000, a Organização das Nações Unidas definiu 8 Objetivos do Milênio (UNMDG, 2014) e que são: 1. Acabar com a fome a miséria, 2. Educação básica de qualidade para todos, 3. Igualdade entre sexos e valorização da mulher, 4. Reduzir a mortalidade infantil, 5. Melhorar a saúde das gestantes, 6. Combater a SIDA, a Malária e outras doenças, 7. Qualidade de vida e respeito pelo meio ambiente, 8. Todo o mundo trabalhando para o desenvolvimento.

Para dar corpo a estes objetivos Organização Não-governamentais e Governamentais procuram implementar por todo o mundo projetos que tentem promover um alcance destes objetivos. No período antecedente ao ano de 2009 a Organização Não-governamental Maendeleo Foundation decidiu levar a algumas escolas do Uganda aulas de informática promovendo assim uma melhoria daquela região ao abrigo do segundo objetivo “Educação básica de qualidade para todos” da ONU.

Page 15: 2015 0808 testes ao consumo energético

Página 15 de 18

Nessa altura o Uganda era um dos países mais pobres do mundo onde em 30 milhões de habitantes apenas 5% tinham acesso a eletricidade e apenas 3% a podia custear (Intel, 2009, p.1). O projeto foi colocado em prática, deslocando-se uma equipa de professores voluntários num veículo de tração 4x4, em cujo tejadilho foram montados 3 painéis solares de 65 W que recarregava uma bateria que alimentava vários computadores. Atendendo a que as condições climáticas, numa grande maioria dos dias, não foram favoráveis, o projeto apenas conseguia dispor de uma sala de aula com 4 computadores. Em 2009, os computadores foram substituídos por equipamentos da Intel, comercialmente denominados “Classmate PC”. Esta aquisição foi vital para o sucesso do projeto pois apenas utilizando a bateria do painel solar (e sem este a estar a recarregar) conseguiram colocar 10 computadores a trabalhar durante 6 horas consecutivas (Intel, 2009, p.3) sem contar com o tempo extra utilizando a bateria individual de cada computador mais o recarregamento da bateria central pelo painel solar. Esta utilização de computadores energeticamente muito eficientes face aos “normais” fez com que a Maendeleo's Mobile Solar Computer Classroom em 2009 alcançasse a meta de 1.300 estudantes num ano, e onde cada estudante teve pelo menos 5 aulas de informática (Intel, 2009, p.3).

Conclusão

Este artigo demonstra que a realização de testes de software para determinar o consumo energético do código-fonte é importante, para que depois este seja otimizado nesta característica não funcional. A eficiência energética é a fórmula de que nos podemos socorrer mais rapidamente para, com uma mesma capacidade de produção de energia a podermos distribuir de forma mais ampla abrangendo mais situações ou interlocutores pois individualmente gasta-se menos. A aposta na eficiência energética dos softwares por via dos testes é o processo mais barato de atender ao crescimento do consumo energético das populações dos países em vias de desenvolvimento porque é um processo mais barato do que construir novas infraestruturas de captação de energia renovável (eólica, solar, geotérmica, etc.) ou mesmo energia não renovável (centrais termo elétricas). A Resolução 67/215, adotada pelas Nações Unidas a fim de dedicar uma década inteira à temática – “2014-2024: The United Nations Decade of Sustainble Energy For All” focou 3 objetivos concretos: 1) Assegurar o acesso universal a serviços modernos de energia; 2) Duplicar a taxa de eficiência energética; 3) Duplicar a taxa de uso de energias renováveis na obtenção global de energia. Estes três objetivos são de extrema importância para a concretização de uma sociedade solidária, humanitária e igualitária, na qual o software e os profissionais de testes podem dar um contributo importante no segundo objetivo, por via da eficiência energética. Por último, e relembrando Ban Ki-Moon (2012), Secretário Geral das Nações Unidas, “Energy is the golden thread that connects economic growth, increased social equity, and an environment that allows the world to thrive.”

Page 16: 2015 0808 testes ao consumo energético

Página 16 de 18

Referências

AMD – Advanced Micro Devices, Inc. (2000) “AMD PowerNow!™ Technology Dynamically Manages Power and Performance” http://www.amd-k6.com/wp-content/uploads/2012/07/24404a.pdf Acesso em: 08/08/2015 Associação O Eco (2013) “O que é o Efeito Estufa” http://www.oeco.org.br/dicionario-ambiental/27698-o-que-e-o-efeito-estufa Acesso em: 08/08/2015

Blatt, Michael (2008) “Green Computing and Performance Testing: A New Paradigm?”, SQS Performance Testing Competency Centre http://www.sqs.com/en/se/Download/SQS_RI_Green_Computing.pdf Acesso em: 10/2013 Brennan, John (2008) “Red Hot Testing in a Green World”, AppLabs, http://www.slideshare.net/jsb1976/AppUK-Red-Hot-Testing-in-a-Green-World-V106-Animation Acesso em: 08/08/2015 ENA-HPC – Energy-Aware High Performance Computing (2014) “International Conference on Energy-Aware High Performance Computing – 2010” http://www.ena-hpc.org Acesso em: 08/08/2015 Global Health Observatory (GHO) (2014) “Urban population growth” http://www.who.int/gho/urban_health/situation_trends/urban_population_growth_text/en/ Acesso em: 08/08/2015 Global Health Observatory (GHO) (2010) “Global number of road traffic deaths” http://www.who.int/gho/road_safety/mortality/traffic_deaths_number/en/ Acesso em: 08/08/2015 Gore, Al (2009) “A Nossa Escolha – Um Plano para Resolver a Crise Climática”, Esfera do Caos Editores GreenSoft – Green Software Engineering (2014) “Project – Green Software Engineering” http://www.green-software-engineering.de/en/project.html Acesso em: 08/08/2015 Grupo EcoRodovias (2014) “Mudanças Climáticas” http://www.ecorodovias.com.br/Sustentabilidade/Meio-Ambiente/Mudancas-Climaticas Acesso em: 08/08/2015 Intel Corporation (1999) “Enhanced Intel SpeedStep® Technology - How To Document” http://www.intel.com/cd/channel/reseller/asmo-na/eng/203838.htm#overview Acesso em: 08/08/2015 Intel Corporation (2009) “Case Study – Solar-powered e-learning in Africa” http://www.intel.com/content/dam/doc/case-study/learning-series-solar-powered-elearning-study.pdf Acesso em: 08/08/2015 ISO/IEC 14756:1999(E) – “Measurement and Rating of Performance of Computer-based Software Systems” Kansal, Aman; Goraczko, Michel; Liu, Jie; Zhao, Feng (2010) “Joulemeter: Computational Energy Measurement and Optimization”, Microsoft Research, http://research.microsoft.com/en-us/projects/joulemeter Acesso em: 08/08/2015

Page 17: 2015 0808 testes ao consumo energético

Página 17 de 18

Matos, Paulo José Estrela Vitoriano de (2015) “O contributo dos testes de software para a sua conceção mais eficiente do ponto de vista energético”, Universidade Aberta, Lisboa, http://hdl.handle.net/10400.2/4082 Acesso em: 08/08/2015 Matos, Paulo José (2015b) “To see a software tester discuss software energy consumption is as rare as seeing a arabian oryx”, Belgium Testing Days 2015, Bruxelas, http://btdconf.com/to-see-a-software-tester-discuss-software-energy-consumption-is-as-rare-as-seeing-a-arabian-oryx Acesso em: 08/08/2015 Matos, Paulo José; Coelho José; Carapeto, Cristina (2015), Testes de software na redução do consumo energético dos sistemas de informação”. Revista de Ciências da Computação, Lisboa, ISSN 1646-6330, Vol. 9, nº 9 (2014), http://hdl.handle.net/10400.2/3870 Acesso em: 08/08/2015 Myers, Glenford J.; Badgett, Tom; Sandler, Corey (2012) “The Art of Software testing”, 3º Edição, Esfera John Wiley & Sons, Inc, (United States of America)

Rocio, Vítor (2010) “Tecnologias da comunicação e informação” http://repositorioaberto.uab.pt/handle/10400.2/1586 Acesso em: 08/08/2015 Stern, Nicholas (2009) “O desafio global – como Enfrentar as Alterações Climáticas criando uma nova Era de Progresso e Prosperidade”, Esfera do Caos Editores The International Energy Agency (IEA) (2014), “SRWEIO 2014 – Special Report: World Energy Investment Outlook” http://www.iea.org/publications/freepublications/publication/WEIO2014.pdf Acesso em: 08/08/2015 The International Energy Agency (IEA) (2014), “KWES2014-Key World Energy Statistics 2014” http://www.iea.org/publications/freepublications/publication/KeyWorld2014.pdf Acesso em: 08/08/2015

United Nations – General Assembly (2013) “A/RES/67/215 Promotion of new and renewable sources of energy” http://www.se4all.org/wp-content/uploads/2014/06/N1249150.pdf Acesso em: 08/08/2015

United Nations – Millennium Development Goals (2014) “The Millennium Development Goals Report - 2013” http://www.un.org/millenniumgoals/pdf/report-2013/mdg-report2013_pr_global-english.pdf Acesso em: 08/08/2015

Wish, Valdis (2009) “O futuro é urbano”, http://sustentabilidade.allianz.com.br/demografia/urbanizacao/?228/O-futuro-e-urbano Acesso em: 08/05/2015

Page 18: 2015 0808 testes ao consumo energético

Página 18 de 18

Breve descrição do autor:

Paulo José Estrela Vitoriano de Matos é Senior Consultant da WinTrust tendo como principais características o gosto por testes exploratórios e ao consumo energético dos sistemas de informação. Assume regularmente a liderança de equipas de testes sendo que se desafia diariamente a aproveitar o melhor de cada tester.

Profissionalmente, em 2008, enveredou pela carreira de Software Tester no Banco Mais tendo-se mudado para a WinTrust em 2009 onde atualmente é líder da equipa de testes no núcleo de desenvolvimento de Sistemas Inteligentes de Transportes da maior construtura portuguesa.

Com mais de 7 anos de experiência profissional em Testing e Quality Assurance colaborou em projetos de testes manuais como testes automáticos, já realizou intervenções em ambiente produtivo, bem como deu formação a responsáveis de direção sobre novas funcionalidades.

Licenciou-se em 2007 pela Escola Superior de Tecnologia e Gestão de Portalegre em Gestão Empresarial e terminou neste ano de 2015 o mestrado Cidadania Ambiental e Participação na Universidade Aberta.

É forte entusiasta dos testes de software sendo presença assídua em conferências de testes de software nacionais ou internacionais como foi em 2010 e 2013 na PSTQB (Lisboa) e na Belgium Testing Days de 2014 (Bruges) e 2015 (Bruxelas) ou ainda na Expo:QA (Madrid) em 2015. Decorrente da sua envolvente internacional que em 2014 alcançou um segundo lugar numa competição internacional de testers organizada pela Belgium Testing Days e já este ano 2015 na mesma conferencia participou com um artigo em inglês intitulado “To see a Software tester discuss software energy consumption is as rare as seeing a Arabian Oryx”.