summaryrefslogtreecommitdiff
path: root/README.md
blob: 94d566f6af1b6c4be761d67a0e1c70b8589dd6a6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# PM Sched

PM Sched is a user space scheduler that estimates the power consumption of individual processes and provides the ability to set a system power cap.

## Usage
Before the scheduler is run for the first time, the model has to be trained.
Data can be collected with the `b` flag and `power_predictor.py` uses the data to train the model.

After that the scheduler can be executed.
Launching the scheduler with the `p` flag will use perf to read out the performance counter instead of relying on our kernel module.
`sudo ./power_sched -p` will start a socket in `/tmp/pm-sched`, which can be used to communicate with the scheduler.

The socket supports the following commands
```
pid <pid> // get the estimated energy consumption for the process with the given PID and its process tree in Joule. 
list // lists all PIDs and their estimated power consumption.
limit <cap> // set a system wide power cap in Watt.
```