This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
sched_deadline [2013/12/10 13:44] claudio_scordino |
sched_deadline [2013/12/12 13:07] claudio_scordino |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ===== SCHED_DEADLINE ===== | + | ===== Introduction ===== |
- | + | **SCHED_DEADLINE** is the name of a patch proposed to add a resource-reservation **real-time CPU scheduler** to the Linux kernel. | |
- | ==== Introduction ==== | + | |
- | + | ||
- | + | ||
- | **SCHED_DEADLINE** is the name of a patch proposed to add a resource-reservation real-time CPU scheduler to the Linux kernel. | + | |
The Linux kernel contains different scheduler classes. By default the kernel uses a scheduler mechanism called [[http://en.wikipedia.org/wiki/Completely_Fair_Scheduler|Completely Fair Scheduler]], introduced in the 2.6.23 version of the kernel. Internally this default-scheduler class is also known as SCHED_OTHER. The standard Linux kernel also contains two real-time scheduling classes named SCHED_FIFO (realtime first-in-first-out) and SCHED_RR (realtime round-robin) both of which take precedence over the default class. The SCHED_DEADLINE patch adds a new scheduling class to the modular Linux scheduler, and implements the well-known [[http://en.wikipedia.org/wiki/Earliest_deadline_first_scheduling|Earliest Deadline First (EDF) algorithm]]. | The Linux kernel contains different scheduler classes. By default the kernel uses a scheduler mechanism called [[http://en.wikipedia.org/wiki/Completely_Fair_Scheduler|Completely Fair Scheduler]], introduced in the 2.6.23 version of the kernel. Internally this default-scheduler class is also known as SCHED_OTHER. The standard Linux kernel also contains two real-time scheduling classes named SCHED_FIFO (realtime first-in-first-out) and SCHED_RR (realtime round-robin) both of which take precedence over the default class. The SCHED_DEADLINE patch adds a new scheduling class to the modular Linux scheduler, and implements the well-known [[http://en.wikipedia.org/wiki/Earliest_deadline_first_scheduling|Earliest Deadline First (EDF) algorithm]]. | ||
Line 16: | Line 12: | ||
- | ==== Motivation ==== | + | ===== Motivation ===== |
Line 55: | Line 51: | ||
- | ==== Releases ==== | + | ===== Releases ===== |
Line 73: | Line 69: | ||
* The ninth (current) version of the scheduler has been [[http://lwn.net/Articles/573233/|submitted to LKML on November 7, 2013]]. | * The ninth (current) version of the scheduler has been [[http://lwn.net/Articles/573233/|submitted to LKML on November 7, 2013]]. | ||
+ | The project has been [[http://lwn.net/Articles/570293/|already integrated in the Yocto distribution]]. Moreover, there has been some [[https://groups.google.com/a/linaro.org/forum/#!topic/linaro-networking/IDmDhH6JL8U|interest for inclusion in Linaro]] as well. | ||
- | ==== Academic conferences and events ==== | + | An [[http://lwn.net/Articles/575497/|article on the popular Linux Weekly News site]] has recently argued that SCHED_DEADLINE may be merged into the mainline kernel in the very next releases. |
+ | |||
+ | |||
+ | ===== Academic conferences and events ===== | ||
The project has been presented through some academic workshops, conferences and journals: | The project has been presented through some academic workshops, conferences and journals: | ||
- | * [[http://lwn.net/images/conf/rtlws11/papers/proc/p16.pdf|Dario Faggioli, Fabio Checconi, Michael Trimarchi, Claudio Scordino, An EDF scheduling class for the Linux kernel, 11th Real-Time Linux Workshop (RTLWS), Dresden, Germany, September 2009]]. | + | * Dario Faggioli, Fabio Checconi, Michael Trimarchi, Claudio Scordino, [[http://lwn.net/images/conf/rtlws11/papers/proc/p16.pdf|An EDF scheduling class for the Linux kernel]], 11th Real-Time Linux Workshop (RTLWS), Dresden, Germany, September 2009. |
- | * [[http://retis.sssup.it/~faggioli/papers/OSPERT-2010-dlinterrupt.pdf|Nicola Manica, Luca Abeni, Luigi Palopoli, Dario Faggioli, Claudio Scordino, Schedulable Device Drivers: Implementation and Experimental Results, International Workshop on Operating Systems Platforms for Embedded Real-Time Applications (OSPERT), Brussels, Belgium, July 2010]]. | + | * Nicola Manica, Luca Abeni, Luigi Palopoli, Dario Faggioli, Claudio Scordino, [[http://retis.sssup.it/~faggioli/papers/OSPERT-2010-dlinterrupt.pdf|Schedulable Device Drivers: Implementation and Experimental Results]], International Workshop on Operating Systems Platforms for Embedded Real-Time Applications (OSPERT), Brussels, Belgium, July 2010. |
- | * [[http://retis.sssup.it/~faggioli/papers/OSPERT-2011-gedf.pdf|Juri Lelli, Giuseppe Lipari, Dario Faggioli, Tommaso Cucinotta, An efficient and scalable implementation of global EDF in Linux, International Workshop on Operating Systems Platforms for Embedded Real-Time Applications (OSPERT), Porto (Portugal), July 2011]]. | + | * Juri Lelli, Giuseppe Lipari, Dario Faggioli, Tommaso Cucinotta, [[http://retis.sssup.it/~faggioli/papers/OSPERT-2011-gedf.pdf|An efficient and scalable implementation of global EDF in Linux]], International Workshop on Operating Systems Platforms for Embedded Real-Time Applications (OSPERT), Porto (Portugal), July 2011. |
- | * [[http://ieeexplore.ieee.org/xpl/articleDetails.jsp?tp=&arnumber=5680892&contentType=Journals+%26+Magazines&queryText%3DResource+Management+on+Multicore+Systems%3A+The+ACTORS+Approach|Enrico Bini, Giorgio Buttazzo, Johan Eker, Stefan Schorr, Raphael Guerra, Gerhard Fohler, Karl-Erik Arzen, Vanessa Romero Segovia, Claudio Scordino, Resource Management on Multicore Systems: The ACTORS Approach, IEEE Micro, vol. 31, no. 3, pp. 72–81, May/June 2011]]. | + | * Enrico Bini, Giorgio Buttazzo, Johan Eker, Stefan Schorr, Raphael Guerra, Gerhard Fohler, Karl-Erik Arzen, Vanessa Romero Segovia, Claudio Scordino, [[http://ieeexplore.ieee.org/xpl/articleDetails.jsp?tp=&arnumber=5680892&contentType=Journals+%26+Magazines&queryText%3DResource+Management+on+Multicore+Systems%3A+The+ACTORS+Approach|Resource Management on Multicore Systems: The ACTORS Approach]], IEEE Micro, vol. 31, no. 3, pp. 72–81, May/June 2011. |
- | * Andrea Parri, Juri Lelli, Mauro Marinoni, Giuseppe Lipari, Design and Implementation of the Multiprocessor Bandwidth Inheritance Protocol on Linux, 15th Real-Time Linux Workshop (RTLWS), Lugano-Manno, Switzerland, October 2013. | + | * Andrea Parri, Juri Lelli, Mauro Marinoni, Giuseppe Lipari, [[https://www.osadl.org/Lugano-Manno-2013.rtlws15-lugano-manno-2013.0.html|Design and Implementation of the Multiprocessor Bandwidth Inheritance Protocol on Linux]], 15th Real-Time Linux Workshop (RTLWS), Lugano-Manno, Switzerland, October 2013. |
The project has been also presented at the [[http://lwn.net/Articles/412745/|Kernel Summit in 2010]], at the [[http://www.linuxplumbersconf.org/2012/|Linux Plumbers Conference 2012]], and at the [[http://events.linuxfoundation.org/events/archive/2013/embedded-linux-conference/program/|Embedded Linux Conference 2013]]. | The project has been also presented at the [[http://lwn.net/Articles/412745/|Kernel Summit in 2010]], at the [[http://www.linuxplumbersconf.org/2012/|Linux Plumbers Conference 2012]], and at the [[http://events.linuxfoundation.org/events/archive/2013/embedded-linux-conference/program/|Embedded Linux Conference 2013]]. | ||
- | Several articles have appeared on Linux Weekly News, Slashdot, OSNews and LinuxToday. | + | Recently, [[http://www.youtube.com/watch?v=_APmI6qe9kU|a video has been uploaded on youtube]]. |
+ | |||
+ | |||
+ | ===== Web pages ===== | ||
+ | |||
+ | |||
+ | Several websites (e.g., OSNews, Slashdot, Linux Today, etc.) have talked about the project in the course of the years. | ||
+ | |||
+ | Among the various websites, the best resources are: | ||
+ | |||
+ | * Linux Weekly News (LWN): | ||
+ | * [[http://lwn.net/Articles/356576/|http://lwn.net/Articles/356576/]] | ||
+ | * [[http://lwn.net/Articles/396634/|http://lwn.net/Articles/396634/]] | ||
+ | * [[http://lwn.net/Articles/378044/|http://lwn.net/Articles/378044/]] | ||
+ | * [[http://lwn.net/Articles/412745/|http://lwn.net/Articles/412745/]] | ||
+ | * [[http://lwn.net/Articles/491722/|http://lwn.net/Articles/491722/]] | ||
+ | * [[http://lwn.net/Articles/575497/|http://lwn.net/Articles/575497/]] | ||
+ | * [[http://www.linkedin.com/groups?gid=2319046|LinkedIn Group]] | ||
+ | * [[http://en.wikipedia.org/wiki/SCHED_DEADLINE|Page on Wikipedia]] | ||
+ | |||
+ | |||
+ | ===== Download and usage ===== | ||
- | Recently, [[http://www.youtube.com/watch?v=_APmI6qe9kU|a video has been uploaded on youtube]]. Moreover, there has been some interest for including SCHED_DEADLINE in both the [[https://lists.yoctoproject.org/pipermail/linux-yocto/2013-March/000488.html|Yocto]] and [[https://groups.google.com/a/linaro.org/forum/#!topic/linaro-networking/IDmDhH6JL8U|Linaro]] Linux distributions. | ||
+ | The project has an [[http://www.evidence.eu.com/sched_deadline.html|official page]]. | ||
- | ==== Web pages ==== | + | The code is publicly available on a [[https://github.com/jlelli/sched-deadline|GitHub website]]. |
+ | To download a Linux kernel with SCHED_DEADLINE integrated, type | ||
+ | git clone git://github.org/jlelli/sched_deadline.git | ||
- | ==== Download and usage ==== | + | The documentation is available inside the [[https://github.com/jlelli/sched-deadline/blob/sched-dl-V9-rebase/Documentation/scheduler/sched-deadline.txt|Documentation/scheduler/sched-deadline.txt file]]. |