]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
1 | # dmclock |
2 | ||
3 | This repository contains C++ 11 code that implements the dmclock | |
4 | distributed quality of service algorithm. See __mClock: Handling | |
5 | Throughput Variability for Hypervisor IO Scheduling__ by Gulati, | |
6 | Merchant, and Varman for a description of the algorithm. | |
7 | ||
f67539c2 TL |
8 | ## Bugs and features |
9 | ||
20effc67 TL |
10 | There is a [dmclock project](https://tracker.ceph.com/projects/dmclock) through |
11 | which bugs can be reported and features requested. | |
f67539c2 | 12 | |
7c673cae FG |
13 | ## Running cmake |
14 | ||
15 | When running cmake, set the build type with either: | |
16 | ||
17 | -DCMAKE_BUILD_TYPE=Debug | |
18 | -DCMAKE_BUILD_TYPE=Release | |
19 | ||
20 | To turn on profiling, run cmake with an additional: | |
21 | ||
22 | -DPROFILE=yes | |
23 | ||
7c673cae FG |
24 | ## Running make |
25 | ||
26 | ### Building the dmclock library | |
27 | ||
28 | The `make` command builds a library libdmclock.a. That plus the header | |
29 | files in the src directory allow one to use the implementation in | |
30 | their code. | |
31 | ||
32 | ### Building unit tests | |
33 | ||
34 | The `make dmclock-tests` command builds unit tests. | |
35 | ||
36 | ### Building simulations | |
37 | ||
38 | The `make dmclock-sims` command builds two simulations -- *dmc_sim* | |
39 | and *ssched_sim* -- which incorporate, respectively, the dmclock | |
40 | priority queue or a very simple scheduler for comparison. Other | |
41 | priority queue implementations could be added in the future. | |
42 | ||
43 | ## dmclock API | |
44 | ||
45 | To be written.... |