Nornir
Self adaptive, power-aware runtime support.

Nornir is a runtime support, providing the possibility to specify requirements in terms of performance and/or power consumption on parallel applications. These requirements will be enforced by selecting an appropriate amount of resources to allocate to the application (e.g. number of cores, clock frequency, threads' mapping, etc...). The application will be monitored throughout its entire execution in order to provide such guarantees even in presence of workload fluctuations or phase changes. Nornir is written as a C++ customizable framework, allowing the user to specify its custom decision policies. You can find more details on the Description section.