LITMUSRT is a real-time extension of the Linux kernel with a focus on multiprocessor real-time scheduling and synchronization that has been continuously maintained and updated since 2006. In the past decade, LITMUSRT has been employed by several groups in North and South America, Europe, and Asia, and to date has played a part in over 50 conference and workshop papers, as well as eight MSc and PhD theses (list of publications).
This tutorial is aimed at researchers and practitioners interested in using LITMUSRT as a development and evaluation platform. It aims to get participants up-to-speed on how to use a LITMUSRT-equipped Linux system as the foundation for the development and assessment of real-time workloads.
This tutorial is aimed at learning how to use LITMUSRT. The following topics are covered:
liblitmus, LITMUSRT’s user-space library,
Kernel development is beyond the scope of this tutorial. If you want to develop a new plugin for LITMUSRT, see the plugin creation tutorial instead.
Basic familiarity with the Linux shell.
A working knowledge of software development with C in a Linux environment (and related command-line tools such as
A basic understanding of real-time scheduling.
A computer (running either Windows, Mac, or Linux) with at least 10GiB of free disk space and sufficient RAM to comfortably run a large VM.
A slide deck giving a high-level overview of LITMUSRT is provided here:
The slides for the guided hands-on session are available here:
The material covered in the tutorial (how to select scheduling polices, how to launch tasks, how to create new tasks, how to trace, etc.) is also made available as a manual for later reference.
Reading the manual prior to following the hands-on tutorial is not required, but recommended.
We have built a pre-packaged VirtualBox image running a LITMUSRT-based Xubuntu distribution. The image (3.0 GiB) comes pre-installed with all required libraries and tools.
To get started, download the archive, unpack the image, and launch it with the virtualization tool of your choice (e.g., Virtual Box). Make sure that you give the VM at least 2 GiB of memory.
See the detailed setup instructions for a step-by-step walk-through using Virtual Box.
WARNING: the VM image is intended for demonstration and learning purposes only. Under common hypervisors, all timings are unreliable. In particular, LITMUSRT does not provide any real-time guarantees when run under regular hypervisors as real-time tasks will be subject to extreme timer latency within a VM.
That said, a VM is perfectly adequate for getting to know LITMUSRT.
Once the VM is running, you may log in with the following credentials:
All LITMUSRT-related files (including source code) are installed under the /opt directory.