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 October 2013: | Version 6.5.5 is released. New version contains support for detecting network and I/O contention (thank you, DeepDive team!), as well as identification of Hadoop job/task trackers and name/data nodes. | |
9 November 2012: | Version 6.5.4 is released. Clavis source is now much more compact. It also allows detecting MPI ranks on-the-fly. | |
28 September 2012: | Version 6.5.3 is released. Updated installation instructions (in README file), bugfixes. | |
5 May 2012: | Version 6.5.2 is released. Virtualization support (online detection of KVM, OpenVZ VMs and their traffic), additional supported CPU models, 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
Please refer to the README included with the distribution.
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
Links
Check out ClavisMO: a multi-objective scheduling framework for MapReduce and HPC clusters that uses Clavis.
Contact Info
For all questions about Clavis, please contact the author directly:
Sergey Blagodurov (email: sergey_blagodurov@sfu.ca).