PowerAPI ist ein Middleware-Toolkit zum Erstellen von Software-definierten Stromzählern. Software-definierte Leistungsmessgeräte sind konfigurierbare Software-Bibliotheken, die den Stromverbrauch von Software in Echtzeit abschätzen können. PowerAPI unterstützt den Erwerb von Rohkennzahlen aus einer Vielzahl von Sensoren ( z. B. physischen Messgeräten, Prozessorschnittstellen, Hardwarezählern, Betriebssystemen) und die Bereitstellung von Stromverbrauch über verschiedene Kanäle (einschließlich Dateisystem, Netzwerk, Web, grafisch). Als Middleware -Toolkit bietet PowerAPI die Fähigkeit, Stromzünder «à la carte» zusammenzustellen, um den Benutzeranforderungen gerecht zu werden.
Um
Powerapi ist ein Open-Source-Projekt, das von der Spirals Research Group (University of Lille 1 und INRIA) entwickelt wurde und vollständig mit SBT verwaltet wird.
Die Dokumentation ist hier verfügbar.
Mailingliste
Sie können die neuesten Nachrichten folgen und Fragen stellt, indem Sie unsere Mailingliste abonnieren.
Beitragen
Wenn Sie Code beitragen möchten, können Sie dies über GitHub tun, indem Sie das Repository verlassen und eine Pull -Anfrage senden.
Bemerken Sie beim Senden von Code alle Anstrengungen, um vorhandene Konventionen und Stile zu folgen, um den Code so lesbar wie möglich zu halten.
Veröffentlichungen
- Wattskit: Software-definierte Stromüberwachung verteilter Systeme : M. Colmant, P. Felber, R. Rouvoy, L. Seinturier. IEEE/ACM Internationales Symposium über Cluster-, Cloud- und Grid Computing (CCGrid). April 2017, Spanien, Frankreich. S. 14-14.
- Prozessabschätzung auf VM-basierte Systeme : M. Colmant, M. Kurpicz, L. Huertas, R. Rouvoy, P. Felber, A. Sobe. Europäische Konferenz über Computersysteme (Eurosys). April 2015, Bordeaux, Frankreich. S. 14-14.
- Überwachungsenergie -Hotspots in Software : A. Noureddine, R. Rouvoy, L. Seinturier. Journal of Automated Software Engineering , Springer, 2015, S. 1-42.
- Unit -Tests des Energieverbrauchs von Software -Bibliotheken : A. Noureddine, R. Rouvoy, L. Seinturier. Internationales Symposium für Applied Computing (SAC), März 2014, Gyeongju, Südkorea. S. 1200-1205.
- Informatique: Des Logiciels Mis au Vert : L. Seinturier, R. Rouvoy. J'Innove en Nord Pas de Calais , NFID, 2013.
- PowerAPI: Eine Softwarebibliothek zur Überwachung der Energie, die auf der Prozessebene verbraucht wird : A. Bourdon, A. Noureddine, R. Rouvoy, L. Seinturier. ERCIM News, Speziales Thema: Smart Energy Systems , 92, S. 43-44. Ercim, 2013.
- Mesurer La Konsumenten en énergie des logiciels avec précision : A. Bourdon, R. Rouvoy, L. Seinturier. 01 Business & Technologies , 2013.
- Eine Überprüfung der Ansätze zur Energiemessung : A. Noureddine, R. Rouvoy, L. Seinturier. ACM Sigops Operating Systems Review , ACM, 2013, 47 (3), S. 42-49.
- Laufzeitüberwachung von Software -Energie -Hotspots : A. Noureddine, A. Bourdon, R. Rouvoy, L. Seinturier. Internationale Konferenz über automatisierte Software Engineering (ASE), September 2012, Essen, Deutschland. S. 160-169.
- Eine vorläufige Untersuchung der Auswirkungen von Software -Engineering auf Greenit : A. Noureddine, A. Bourdon, R. Rouvoy, L. Seinturier. Internationaler Workshop für grüne und nachhaltige Software (Grüne), Juni 2012, Zürich, Schweiz. S. 21-27.
Anwendungsfälle
PowerAPI wird in einer Vielzahl von Projekten verwendet, um die wichtigsten Herausforderungen von Greenit zu bewältigen:
- Genpack bietet eine Docker -Swarm -Strategie, um den Energieausdruck von Docker -Containern zu minimieren, die in einem Cluster eingesetzt werden
- Bitwatts bietet eine Leistungsschätzung auf Prozessebene von Anwendungen, die in virtuellen Maschinen ausgeführt werden
- Das Web -Energy -Archiv basiert auf beliebten Websites, die auf dem Energieverhältnis basieren, das sie Browsern auferlegen, die sie auferlegen
- Greenspector optimiert den Stromverbrauch von Software, indem es potenzielle Energielecks im Quellcode identifiziert.
Anerkennung
Wir alle stehen auf den Schultern der Riesen und kommen mit ein wenig Hilfe unserer Freunde aus. Powerapi ist in Scala (Version 2.12.1 unter 3-Klausel-BSD-Lizenz) geschrieben und basiert auf:
- Akka (Version 2.4.14 unter Apache 2 -Lizenz) für asynchrone Verarbeitung.
- TypeSafe -Konfiguration (Version 1.3.1 Unter Apache 2 Lizenz) zum Lesen von Konfigurationsdateien.
- Scala-Logging (Version 3.5.0 unter Apache 2-Lizenz) für Scala-Wickeln von SL4J.
- Logback (Version 1.1.7 unter LGPL 2.1 -Lizenz) für Protokollierungszwecke.
- PowerSpy.scala (Version 1.2 unter AGPL -Lizenz) für die Verwendung des PowerSpy -Power -Messgeräts.
- Bridj (Version 0.7.0 unter 3-Klausel-BSD-Lizenz) für System- oder C-Anrufe.
- JNA (Version 4.2.2 unter LGPL 2.1 -Lizenz) für System- oder C -Anrufe.
- Perfmon2 (Version 4.7.0 unter MIT -Lizenz) für den Zugriff auf Hardware -Performance -Zähler.
- JFreechart (Version 1.0.19 unter LGPL -Lizenz) zur Erstellung interaktiver und animierter Diagramme.
- Grizzled-scala (Version 4.0.0 unter 3-Klausel-BSD-Lizenz) für neue Versorgungsklassen und -objekte.
- Sigar (Version 1.6.5 unter Apache 2 -Lizenz) für die Bereitstellung einer tragbaren Schnittstelle zum Sammeln von Systeminformationen.
- Spray-json (Version 1.3.2 unter Apache 2-Lizenz) für (de) serialisierende JSON.
- scala-influxdb-client (Version 0.5.2 unter MIT-Lizenz) zur Verwendung einer asynchronen Scala-API für InfluxDB.
Lizenz
Diese Software ist unter der nachstehend zitierten GNU Affero General Public Lizenz lizenziert.
Copyright (C) 2011-2017 Inria, Universität Lille 1.
PowerAPI ist kostenlose Software: Sie können sie neu verteilt und/oder unter den Bedingungen der GNU Affero General Public Lizenz wie von der Free Software Foundation, entweder Version 3 der Lizenz oder (nach Ihrer Option) jede spätere Version, ändern.
Powerapi wird in der Hoffnung verteilt, dass es nützlich sein wird, jedoch ohne Garantie; Ohne die implizite Garantie für Handelsfähigkeit oder Eignung für einen bestimmten Zweck. Weitere Informationen finden Sie in der GNU Affero General Public Lizenz.
Sie sollten zusammen mit PowerAPI eine Kopie der GNU Affero General Public Lizenz erhalten haben. Wenn nicht, wenden Sie sich bitte an http://www.gnu.org/licenses/agpl-3.0.html.