EN FR
EN FR


Section: New Software and Platforms

PowerAPI

Participants : Maxime Colmant, Loïc Huertas, Adel Noureddine, Romain Rouvoy [correspondant] .

In 2014, new developments have been made on our PowerAPI library for monitoring energy in software systems. PowerAPI now includes an accurate power model, which supports both DFVS, hyper threads and turbo boost features of modern processors. This model has been assessed on acknowledged benchmarks (PARSEC, SPEC CPU, SPECjbb) and is used as a basis to estimate the power consumption of applications running in virtualised environments. Finally, PowerAPI has evolved towards a modular toolkit that can be used to build software-defined power meters supporting a wide range of input sources (e.g., hardware performance counters, RAPL, PowerSpy). PowerAPI is part of the results of the PhD thesis of Adel Noureddine [14] that was defended in March 2014.

PowerAPI is a Scala-based library for monitoring energy in software systems. It is based on a modular and asynchronous event-driven architecture using the Akka library. PowerAPI differs from existing energy process-level monitoring tool in its pure software, fully customizable and modular aspect which let users precisely define what they want to monitor, without plugging any external device. PowerAPI offers an API which can be used to express requests about energy spent by a process, following its hardware resource utilization (in terms of CPU, memory, disk, network, etc.). Its applications cover energy-driven benchmarking  [105] , [88] , [86] , [87] , energy hotspots and bugs detection  [106] , [107] , and real-time distributed system monitoring.

PowerAPI is at the core of the Inria ADT eSurgeon project (see Section  8.2 ).

Web site: http://www.powerapi.org . Registered with the APP (Agence pour la Protection des Programmes) under reference IDDN.FR.001.400015.000.S.P.2012.000.10000. License: AGPL.