Engenharia de Software Verde
Por: eduardamaia17 • 21/4/2018 • 7.137 Palavras (29 Páginas) • 343 Visualizações
...
Neste artigo eu apresento software consumo de energia, discutir os desafios passados e presentes, obras e questões relevantes para as comunidades de engenharia de software. Então eu discutir as minhas previsões para o futuro do consumo de energia de software, e em que essa investigação irá para a próxima década.
II. APROFUNDANDO
Energia é o esforço dispendido para concluir uma tarefa. Para a eletricidade que normalmente usam joules (J), a unidade de energia do Sistema Internacional (SI), para indicar a energia que uma tarefa leva. O poder é a taxa instantânea do consumo de energia ou o trabalho que está sendo feito. Tipicamente energia é medida em Watts, que é o valor instantâneo do trabalho feito. A multiplicação do poder pelo tempo é a energia ou energia é a integração da energia ao longo do tempo. Às vezes a energia é medida em watts-horas (por exemplo, 1Wh) por fornecedores de eletricidade, onde 1kW h = 3600J. Para poder serviços de longa execução é uma medida comum (uso de energia média por segundo), enquanto que para as tarefas com um início claras e termina energia é uma medida comum - o custo de uma tarefa.
O consumo de energia de software é um tipo de desempenho e, portanto, parte da eficiência do requisito não funcional (NFR). Geralmente queremos software para consumir a menor quantidade de energia e têm o uso de baixa potência. Teste de consumo de energia de software é tipicamente considerado uma espécie de teste de regressão desempenho. Este tipo de teste é tipicamente evolucionista [2] e visa comparar o desempenho entre as versões sobre as tarefas do produto.
Benchmarking é outro tipo de testes de regressão que permite a comparação entre produtos. Benchmarking é menos sobre a comparação de versões, que se trata de comparar as diferentes implementações da mesma tarefa. Algumas pesquisas de energia procuram aplicações de referência para a eficiência energética [3], [4].
III. O PASSADO E O PRESENTE
Há muitas questões em engenharia consciente em termos energéticos software, engenharia de software verde, e mineração-verde [2] que vão desde a complexidade do teste, a dependência de hardware, a dependência sobre o meio ambiente, ou dependência de software. A generalização desta pesquisa é dificultada pela complexidade e a falta de disponibilidade de ferramentas. Todas estas questões agravar a dificuldade de aplicar a análise estática ou dinâmica aos vestígios de energia software.
A. Ranking de Aplicações por Eficiência Energética
Os consumidores tendem a falta de informações sobre o software. Quando um consumidor compra um forno, este é classificado por sua eficiência energética. E se o mesmo ranking existiu por software? Pesquisa existe que visa classificar software em termos de eficiência energética muito na maneira que as estrelas de energia [5] taxas e classifica os produtos de consumo [3].
Três principais desafios que a classificação de software por eficiência energética enfrenta que incluem:
- Software que executa mais de uma tarefa;
- Benchmarks justos para múltiplos produtos;
- Eficiência por plataforma (Software / Hardware).
Os desafios que os rostos de software contra fornos é que o software faz múltiplas tarefas e algumas dessas tarefas são bastante distintos, para os clientes de e-mail exemplo recuperar e-mails, e-mails de busca e e-mails de visualização. Assim, sem o acordo sobre as tarefas compartilhadas, nem todo recurso ou tarefa pode ser comparado entre os produtos. Este é complicada pela falta de padronização. A Figura 1 mostra um exemplo de como rankings de energia aplicação pode ser integrada em uma loja de aplicativos: aplicativos diferentes que cumprem as mesmas tarefas podia ser medido em uma base por tarefa, como permitir que os consumidores para ver as diferentes eficiências de cada aplicativo tem para oferecer. A Figura 1 mostra 2 aplicações de e-mail diferentes que foram medidos para baseada em tarefas consumo de energia. O primeiro aplicativo se destina a ser escassa em recursos, cliente de e-mail simples que, devido a sua aparente simplicidade é bastante eficiente da energia. A segunda aplicação à direita pretende ser um completo, fácil de usar, graficamente aplicativo de e-mail brilhante que é menos eficiente em termos energéticos para a leitura de e-mails que o aplicativo de e-mail puro e simples. O app-store descreve Ambos os aplicativos nomes, ícones e classificação dos usuários, seguido pelo número de versão dos aplicativos. Debaixo é uma classificação geral de energia composta das notas per-tarefa. O per classificações de tarefas são medidos e comparados com outros aplicativos. O ranking deve ser em uma base per-tarefa, em vez de uma base holística, como determinadas aplicações incidirá sobre comportamentos e eles próprios melodia para que específicas. Este tipo de classificação também deve ser feito em outras dimensões do desempenho de modo que os usuários podem comparar aplicativos para o outro de forma abrangente e em várias dimensões. Este tipo de comparação permitiria que os usuários para determinar o aplicativo certo para a ocasião certa aplicativos eficientes para viagens com restrições de energia e de potência com fome, mas lisos aplicativos para casa e trabalho. Uma questão em aberto relacionado a esse Figura 1 é, "como é que vamos resumir o consumo de energia quando diferentes tarefas ocorrem em frequências diferentes?”.
Nem todo hardware é criado igual e nem todo o software funciona da mesma em todo o hardware. Assim, se o software é executado de forma diferente em um hardware diferente que deve ser medido, simulado, ou estimados com esse hardware. Assim, quando uma classifica o software, que deve ser invariante do hardware? Se assim como se deve normalizá-lo [3], [6]? Zhang [3] representa um método de normalização do outro lado da plataforma, com uma escala linear - esta técnica é utilizada pelo [6] verde-Miner para normalizar as medições de diferentes telefones inteligentes sob teste. Os nossos modelos devem abordar o desempenho dependente hardware versus o hardware desempenho invariável.
Além disso, o consumo de energia software não é estável em todas as versões [2], [7], [8], [9]. Testando uma única configuração do software pode não ser suficiente, um perfil parcial ou total do consumo de energia deveria ser construído. Os usuários de um aplicativo provavelmente vai se importar se houver mudança
...