libpoet / bard

Bard - an extension of POET

Home Page:http://poet.cs.uchicago.edu/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

POET - The Performance with Optimal Energy Toolkit

http://poet.cs.uchicago.edu/

The Performance with Optimal Energy Toolkit (POET) provides a means to monitor and adjust application performance while minimizing energy consumption during application runtime.

Bard is an extension of POET that adds support for monitoring and adjusting power consumption while maximizing performance.

For details, please see the following and reference as appropriate:

  • Connor Imes, David H. K. Kim, Martina Maggio, and Henry Hoffmann. "POET: A Portable Approach to Minimizing Energy Under Soft Real-time Constraints". In: RTAS. 2015.
  • Connor Imes and Henry Hoffmann. "Bard: A Unified Framework for Managing Soft Timing and Power Constraints". In: SAMOS. 2016.
  • Connor Imes, David H. K. Kim, Martina Maggio, and Henry Hoffmann. "Portable Multicore Resource Management for Applications with Performance Constraints". In: MCSoC. 2016.

See the baseline-1.0 branch for the version of the API defined in these publications.

Dependencies

The POET library no longer has any direct dependencies, but some tests/examples depend on the following:

CMake will skip building some tests/examples if these dependencies are not found.

The baseline-1.0 branch has a direct dependency on:

Building

This project uses CMake.

To build, run:

mkdir _build
cd _build
cmake ..
make

Running POET Examples

Run the tests from the build directory:

./[test_binary] [num_beats] [target_rate] [window_size]

The num_beats is the number of total heartbeats the application will cycle through before exiting. The target_rate is the number of heartbeats per second, and the window size is the number of heartbeats used to calculate the heartbeat rate. It doesn't make sense to give the test binary a target heartbeat rate without knowing the normal heartbeat rate of the application on your system. To find this, run:

./[test_binary] [num_beats] 0 [window_size]

If you aren't sure what parameters to use, a good place to start is 200 beats and a window size of 20.

Installing

To install, run with proper privileges:

make install

Headers are installed to /usr/local/include/poet. The library is installed to /usr/local/lib.

Uninstalling

Install must be run before uninstalling in order to have a manifest. To uninstall, run with proper privileges:

make uninstall

Directory Structure

.
├── config -- Default and example configuration files
├── inc -- Header files
├── src -- Source files
└── test -- Test source files

About

Bard - an extension of POET

http://poet.cs.uchicago.edu/

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:C 84.1%Language:C++ 10.3%Language:CMake 5.6%