SCHED_DEADLINE is the implementation of a new scheduling class for the Linux kernel. It implements the real-time scheduling algorithm called Earliest Deadline First (EDF), one of the most common real-time scheduling algorithms.

The project has been started by Evidence Srl within the FP7 European project called ACTORS (now completed) the which the company was participating with, among the others, Ericsson AB, AKatech SA, Xilinx, and others.

Real-time scheduling techniques, such as EDF, allows for the possibility of analyzing the system and enforcing, either statically (off-line) or dynamically (on-line) determinism for the running tasks. We feel that this might be particularly beneficial for time-sensitive workloads, such as multimedia and/or control applications, where it may be important to be guaranteed that some timing requirements will be met under any circumstance. Therefore, we think that this new scheduling policy would improve the potentialities of Linux for many industrial contexts.

Key Features

The existing Linux scheduling policies cannot provide the guarantees a time-sensitive application may require. For example, although it is possible to assign a fair share of the processor to (a group of) task(s), no concept of actual timing constraints, e.g., deadlines, can be associated to it (them).

Moreover, the time between two consecutive executions of a task is not deterministic, and no bound can be found for it, as this is easy to calculate under EDF (if the system is not overloaded!).

Finally, SCHED_DEADLINE also provides “temporal isolation”, meaning that the temporal behavior of each task (i.e., its ability to meet its deadlines) is not affected by the behavior of any other task in the system. In other words, even if a task misbehaves, it is not able to exploit larger CPU share than the amount it has been allocated, with its own —strictly enforced— periodicity.

Current Version

The current version of SCHED_DEADLINE (V7) is based on Linux 3.8-rc7. It was released on 02/11/2013. Please refer to the download and installation pages for details.

© 2013 Juri Lelli
Template design by Andreas Viklund