O PowerAPI é um kit de ferramentas de middleware para criar medidores de energia definidos por software. Os medidores de energia definidos por software são bibliotecas de software configuráveis que podem estimar o consumo de energia do software em tempo real. O PowerAPI suporta a aquisição de métricas brutas de uma ampla diversidade de sensores ( por exemplo , medidores físicos, interfaces de processador, contadores de hardware, contadores de SO) e a entrega de consumos de energia por meio de diferentes canais (incluindo sistema de arquivos, rede, web, gráfico). Como um kit de ferramentas de middleware, o Powerapi oferece a capacidade de montar medidores de energia «à la carte» para acomodar os requisitos do usuário.
Sobre
O PowerAPI é um projeto de código aberto desenvolvido pelo Spirals Research Group (Universidade de Lille 1 e Inria) e totalmente gerenciado com o SBT.
A documentação está disponível aqui.
Lista de correspondência
Você pode seguir as últimas notícias e fazer perguntas assinando nossa lista de discussão.
Contribuindo
Se você deseja contribuir com o código, poderá fazê -lo através do GitHub, comprando o repositório e enviando uma solicitação de tração.
Ao enviar o código, faça todos os esforços para seguir convenções e estilo existentes para manter o código o mais legível possível.
Publicações
- Wattskit: Monitoramento de energia definido por software de sistemas distribuídos : M. Colmant, P. Felber, R. Rouvoy, L. Seinturier. Simpósio Internacional IEEE/ACM sobre Cluster, Computação em Cloud e Grid (CCGRID). Abril de 2017, Espanha, França. pp.1-14.
- Estimativa de potência no nível do processo em sistemas baseados em VM : M. Colmant, M. Kurpicz, L. Huertas, R. Rouvoy, P. Felber, A. Sobe. Conferência Europeia sobre Sistemas de Computadores (EUROSYS). Abril de 2015, Bordeaux, França. pp.1-14.
- Monitoramento de pontos de energia em software : A. Nouddine, R. Rouvoy, L. Seinturier. Journal of Automated Software Engineering , Springer, 2015, pp.1-42.
- Teste de unidade do consumo de energia de bibliotecas de software : A. Nouddine, R. Rouvoy, L. Seinturier. Simpósio Internacional sobre Computação Aplicada (SAC), março de 2014, Gyeongju, Coréia do Sul. pp.1200-1205.
- Informatique: Des Logiciels mis au vert : L. Seinturier, R. Rouvoy. J'innove en nord pas de Calais , NFID, 2013.
- POWERAPI: Uma biblioteca de software para monitorar a energia consumida no nível do processo : A. Bourdon, A. Nouddine, R. Rouvoy, L. Seinturier. ERCIM News, tema especial: Smart Energy Systems , 92, pp.43-44. Ercim, 2013.
- Mesurer La Consommation en Énergie des Logiciels Avec Précision : A. Bourdon, R. Rouvoy, L. Seinturier. 01 Business & Technologies , 2013.
- Uma revisão das abordagens de medição de energia : A. Nouddine, R. Rouvoy, L. Seinturier. ACM SIGOPS Operating Systems Review , ACM, 2013, 47 (3), pp.42-49.
- Monitoramento de tempo de execução de pontos de acesso à energia de software : A. Nouddine, A. Bourdon, R. Rouvoy, L. Seinturier. Conferência Internacional sobre Engenharia de Software Automatizada (ASE), setembro de 2012, Essen, Alemanha. pp.160-169.
- Um estudo preliminar do impacto da engenharia de software no Greenit : A. Nouddine, A. Bourdon, R. Rouvoy, L. Seinturier. Workshop Internacional sobre Software Verde e Sustentável (Greens), junho de 2012, Zurique, Suíça. pp.21-27.
Casos de uso
O Powerapi é usado em vários projetos para enfrentar os principais desafios do Greenit:
- A GenPack fornece uma estratégia de enxame de docker para minimizar a pegada de energia dos recipientes do docker implantados em um cluster
- BitWatts fornece estimativa de energia no nível do processo de aplicativos em execução em máquinas virtuais
- Web Energy Archive classifica sites populares com base na pegada de energia que eles impõem aos navegadores
- O Greenspetor otimiza o consumo de energia do software, identificando vazamentos potenciais de energia no código -fonte.
Agradecimentos
Todos nós estamos sobre os ombros dos gigantes e nos damos uma pequena ajuda de nossos amigos. O PowerAPI é escrito em Scala (versão 2.12.1 sob licença BSD de 3 cláusulas) e construído sobre:
- Akka (versão 2.4.14 sob licença Apache 2), para processamento assíncrono.
- TypeAfe Config (versão 1.3.1 sob licença Apache 2), para leitura de arquivos de configuração.
- Scala-Logging (versão 3.5.0 Sob Apache 2 License), para Scala que envolve SL4J.
- Logback (versão 1.1.7 sob licença LGPL 2.1), para fins de log.
- PowerSpy.scala (versão 1.2 sob licença AGPL), para usar o medidor de energia do PowerSpy.
- Bridj (versão 0.7.0 sob licença BSD de 3 cláusulas), para chamadas do sistema ou C.
- JNA (versão 4.2.2 sob licença LGPL 2.1), para chamadas do sistema ou C.
- PerfMon2 (versão 4.7.0 sob licença do MIT), para acessar os contadores de desempenho de hardware.
- Jfreechart (versão 1.0.19 sob licença LGPL), para criação de gráficos interativos e animados.
- O Scala Grizzled (versão 4.0.0 sob licença BSD de 3 cláusulas), para novas classes e objetos de utilitário.
- Sigar (versão 1.6.5 sob licença Apache 2), para fornecer uma interface portátil para coleta de informações do sistema.
- Spray-Json (versão 1.3.2 sob licença Apache 2), para (de) serializar JSON.
- Scala-Influxdb-Client (versão 0.5.2 sob licença MIT), para usar uma API Scala assíncrona para influxDB.
Licença
Este software está licenciado sob a licença pública geral da GNU Affero , citada abaixo.
Copyright (c) 2011-2017 INRIA, Universidade de Lille 1.
O PowerAPI é um software livre: você pode redistribuí -lo e/ou modificá -lo nos termos da licença pública geral do GNU Affero, conforme publicado pela Free Software Foundation, versão 3 da licença ou (por sua opção) qualquer versão posterior.
O Powerapi é distribuído na esperança de que seja útil, mas sem garantia; sem a garantia implícita de comercialização ou aptidão para uma finalidade específica. Veja a licença pública geral do GNU Affero para obter mais detalhes.
Você deveria ter recebido uma cópia da licença pública geral do GNU Affero, juntamente com o Powerapi. Caso contrário, consulte http://www.gnu.org/license/agpl-3.0.html.