PowerAPI es un conjunto de herramientas de middleware para construir medidores de energía definidos por software. Los medidores de energía definidos por software son bibliotecas de software configurables que pueden estimar el consumo de energía del software en tiempo real. PowerAPI admite la adquisición de métricas en bruto a partir de una amplia diversidad de sensores ( por ejemplo , medidores físicos, interfaces de procesadores, contadores de hardware, contadores de sistemas operativos) y la entrega de consumidores de energía a través de diferentes canales (incluido el sistema de archivos, red, web, gráfico). Como un kit de herramientas de middleware, PowerAPI ofrece la capacidad de ensamblar medidores de alimentación «à la carta» para acomodar los requisitos del usuario.
Acerca de
PowerAPI es un proyecto de código abierto desarrollado por Spirals Research Group (Universidad de Lille 1 e Inria) y está completamente administrado con SBT.
La documentación está disponible aquí.
Lista de correo
Puede seguir las últimas noticias y hacer preguntas suscribiéndose a nuestra lista de correo.
Que contribuye
Si desea contribuir con código, puede hacerlo a través de GitHub bifurcando el repositorio y enviando una solicitud de extracción.
Al enviar código, haga todo lo posible para seguir las convenciones y el estilo existentes para mantener el código lo más legible posible.
Publicaciones
- Wattskit: monitoreo eléctrico definido por software de sistemas distribuidos : M. Colmant, P. Felber, R. Rouvoy, L. Seinturier. Simposio Internacional IEEE/ACM sobre Cluster, Cloud and Grid Computing (CCGRID). Abril de 2017, España, Francia. pp.1-14.
- Estimación de energía a nivel de proceso en sistemas basados en VM : M. Colmant, M. Kurpicz, L. Huertas, R. Rouvoy, P. Felber, A. Sobe. Conferencia europea sobre sistemas informáticos (Eurosys). Abril de 2015, Burdeos, Francia. pp.1-14.
- Monitoreo de puntos de acceso de energía en el software : A. Noureddine, R. Rouvoy, L. Seinturier. Journal of Automated Software Engineering , Springer, 2015, pp.1-42.
- Prueba unitaria del consumo de energía de las bibliotecas de software : A. Noureddine, R. Rouvoy, L. Seinturier. Simposio internacional sobre computación aplicada (SAC), marzo de 2014, Gyeongju, Corea del Sur. pp.1200-1205.
- Informatique: des Logiciels Mis Au Vert : L. Seinturier, R. Rouvoy. J'innove en nord pas de Calais , NFID, 2013.
- PowerAPI: una biblioteca de software para monitorear la energía consumida a nivel de proceso : A. Bourdon, A. Noureddine, R. Rouvoy, L. Seinturier. Ercim News, Tema especial: Smart Energy Systems , 92, pp.43-44. Ercim, 2013.
- Mesurer La CONSMACIÓN EN ENNERGIE DE LOGICIELS AVEC PRECISION : A. Bourdon, R. Rouvoy, L. Seinturier. 01 Business & Technologies , 2013.
- Una revisión de los enfoques de medición de energía : A. Noureddine, R. Rouvoy, L. Seinturier. ACM Sigops Operating Systems Review , ACM, 2013, 47 (3), pp.42-49.
- Monitoreo de tiempo de ejecución de puntos de acceso de energía de software : A. Noureddine, A. Bourdon, R. Rouvoy, L. Seinturier. Conferencia Internacional sobre Ingeniería de Software Automatizado (ASE), septiembre de 2012, Essen, Alemania. pp.160-169.
- Un estudio preliminar del impacto de la ingeniería de software en Greenit : A. Noureddine, A. Bourdon, R. Rouvoy, L. Seinturier. Taller internacional sobre software verde y sostenible (Greens), junio de 2012, Zurich, Suiza. pp.21-27.
Casos de uso
PowerAPI se usa en una variedad de proyectos para abordar los desafíos clave de Greenit:
- Genpack proporciona una estrategia de enjambre de Docker para minimizar la huella de energía de los contenedores Docker desplegados en un clúster
- Bitwatts proporciona una estimación de potencia a nivel de proceso de aplicaciones que se ejecutan en máquinas virtuales
- Web Energy Archive clasifica los sitios web populares basados en la huella de energía que impone a los navegadores
- Greenspector optimiza el consumo de energía del software al identificar fugas de energía potenciales en el código fuente.
Expresiones de gratitud
Todos nos paramos sobre los hombros de los gigantes y hacemos un poco de ayuda de nuestros amigos. PowerAPI está escrito en Scala (versión 2.12.1 bajo 3 cláusula de licencia BSD) y se construye sobre:
- AKKA (versión 2.4.14 bajo la licencia Apache 2), para el procesamiento asincrónico.
- Configuración TypesAfe (versión 1.3.1 bajo la licencia Apache 2), para leer archivos de configuración.
- SCALA-LOGGING (versión 3.5.0 bajo la licencia Apache 2), para el envoltorio de Scala SL4J.
- Logback (versión 1.1.7 bajo la licencia LGPL 2.1), para fines de registro.
- PowerSpy.Scala (versión 1.2 bajo la licencia AGPL), para usar el medidor de potencia de PowerSpy.
- Bridj (versión 0.7.0 bajo la licencia BSD de 3 cláusula), para el sistema o las llamadas C.
- JNA (versión 4.2.2 bajo la licencia LGPL 2.1), para el sistema o las llamadas C.
- Perfmon2 (versión 4.7.0 bajo la licencia MIT), para acceder a los contadores de rendimiento de hardware.
- JFreechart (versión 1.0.19 bajo la licencia LGPL), para la creación de gráficos interactivos y animados.
- ESCALA GRIZZLED (versión 4.0.0 bajo 3 cláusulas BSD), para nuevas clases de servicios públicos y objetos.
- SIGAR (versión 1.6.5 bajo la licencia Apache 2), para proporcionar una interfaz portátil para recopilar información del sistema.
- spray-json (versión 1.3.2 bajo la licencia Apache 2), para (DE) Serializing JSON.
- Scala-InfluxDB-Client (versión 0.5.2 bajo la licencia MIT), para usar una API de Scala asíncrona para InfluxDB.
Licencia
Este software tiene licencia bajo la Licencia Pública General de GNU Affero , citada a continuación.
Copyright (c) 2011-2017 Inria, Universidad de Lille 1.
PowerAPI es el software gratuito: puede redistribuirlo y/o modificarlo bajo los términos de la Licencia Pública General de Affero GNU publicada por Free Software Foundation, ya sea la versión 3 de la licencia o (a su opción) cualquier versión posterior.
Powerapi se distribuye con la esperanza de que sea útil, pero sin ninguna garantía; Sin siquiera la garantía implícita de comerciabilidad o estado físico para un propósito particular. Consulte la Licencia Pública General GNU Affero para obtener más detalles.
Debería haber recibido una copia de la Licencia Pública General de GNU Affero junto con PowerAPI. Si no es así, consulte http://www.gnu.org/licenses/agpl-3.0.html.