Clavis: a user level scheduler for Linux
The Clavis user-level scheduler is designed to implement various scheduling algorithms under Linux Operating System running on multicore and NUMA machines. It is written in C to make the integration with the default OS scheduling facilities seamless.
Clavis is released under Academic Free License (AFL), which allows you to use the source code in your proprietary projects. We only ask to please cite our Linux Symposium paper that introduces Clavis, in case you will decide to publish your work at some point.
News
5 May 2012
The new version is released. It includes virtualization support (online detection of KVM, OpenVZ VMs and their traffic), more supported CPU models, as well as many bugfixes.
12 June 2011
The project source code and Linux Symposium paper that introduces it are uploaded.
18 May 2011
The project page has been setup on SourceForge.net.
Download
Source code for this project is available here.
Documentation
The Linux Symposium paper that describes the scheduler can be downloaded from here.
Selected publications that use Clavis
- Sergey Blagodurov, Sergey Zhuravlev, Mohammad Dashti and Alexandra Fedorova A Case for NUMA-aware Contention Management on Multicore Systems in USENIX ATC '11
- Sergey Zhuravlev, Sergey Blagodurov and Alexandra Fedorova AKULA: A Toolset for Developing Scheduling Algorithms on Multicore Systems in PACT 2010
- Sergey Blagodurov, Sergey Zhuravlev and Alexandra Fedorova Contention Aware Scheduling on Multicore Systems in ACM Transactions on Computer Systems
- Sergey Zhuravlev, Sergey Blagodurov and Alexandra Fedorova Addressing Shared Resource Contention in Multicore Processors via Scheduling in ASPLOS 2010
Contact Info
For all questions about Clavis, please contact the author directly:
Sergey Blagodurov (email: sergey_blagodurov@sfu.ca).
