# ceph.dmclock **Repository Path**: ws-mirror-github/ceph.dmclock ## Basic Information - **Project Name**: ceph.dmclock - **Description**: ceph.dmclock - **Primary Language**: Unknown - **License**: LGPL-2.1 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-04-26 - **Last Updated**: 2024-05-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # dmclock This repository contains C++ 11 code that implements the dmclock distributed quality of service algorithm. See __mClock: Handling Throughput Variability for Hypervisor IO Scheduling__ by Gulati, Merchant, and Varman for a description of the algorithm. ## Bugs and features There is a [dmclock project](https://tracker.ceph.com/projects/dmclock) through which bugs can be reported and features requested. ## Running cmake When running cmake, set the build type with either: -DCMAKE_BUILD_TYPE=Debug -DCMAKE_BUILD_TYPE=Release To turn on profiling, run cmake with an additional: -DPROFILE=yes ## Running make ### Building the dmclock library The `make` command builds a library libdmclock.a. That plus the header files in the src directory allow one to use the implementation in their code. ### Building unit tests The `make dmclock-tests` command builds unit tests. ### Building simulations The `make dmclock-sims` command builds two simulations -- *dmc_sim* and *ssched_sim* -- which incorporate, respectively, the dmclock priority queue or a very simple scheduler for comparison. Other priority queue implementations could be added in the future. ## dmclock API To be written....