Dates and Events: |
OSADL Articles:
2023-11-12 12:00
Open Source License Obligations Checklists even better nowImport the checklists to other tools, create context diffs and merged lists
2022-07-11 12:00
Call for participation in phase #4 of Open Source OPC UA open62541 support projectLetter of Intent fulfills wish list from recent survey
2022-01-13 12:00
Phase #3 of OSADL project on OPC UA PubSub over TSN successfully completedAnother important milestone on the way to interoperable Open Source real-time Ethernet has been reached
2021-02-09 12:00
Open Source OPC UA PubSub over TSN project phase #3 launchedLetter of Intent with call for participation is now available |
Real Time Linux Workshops
1999 - 2000 - 2001 - 2002 - 2003 - 2004 - 2005 - 2006 - 2007 - 2008 - 2009 - 2010 - 2011 - 2012 - 2013 - 2014 - 2015 - 2017
16th Real Time Linux Workshop, October 12 to 13, 2014 at the CCD Congress Center Dusseldorf collocated with LinuxCon Europe in Dusseldorf, Germany
Announcement - Call for participation (ASCII) - Hotels - Directions - Agenda - Paper Abstracts - Presentations - Registration - Abstract Submission - Sponsors - Gallery
Greedy CPU reclaiming for SCHED_DEADLINE
Luca Abeni, University of Trento
Claudio Scordino, Evidence Srl
Juri Lelli, ReTiS Lab, Scuola Superiore Sant'Anna, Pisa, Italy
Luigi Palopoli, University of Trento
The SCHED_DEADLINE scheduling policy (implementing a reservation-based CPU scheduler based on the Constant Bandwidth Server algorithm) has just been merged in the mainline Linux kernel. Such a scheduling policy allows to associate (Q,T) pairs to real-time tasks, meaning that a task is reserved an amount of execution time Q (the task's runtime, or maximum budget) every reservation period T. In this way, it is possible to provide guaranteed real-time performance by properly dimensioning the runtime Q and the period T based on the task parameters (execution time and activation pattern). However, if a task exhibits relevant variations in its execution or inter-activation times, a pure reservation-based scheduler such as SCHED_DEADLINE can cause system underutilisation or resource waste, because the CPU time reserved to the task can often be left unused (especially when considering hard real-time tasks and dimensioning the scheduler parameters on the worst-case task's parameters). This problem can be solved by using a proper CPU reclaiming algorithm; however, while many different reclaiming algorithms have been proposed in literature none of them has been implemented in Linux yet.
This paper describes the implementation of the GRUB reclaiming algorithm based on Linux/SCHED_DEADLINE, and presents some experimental results showing the effectiveness and usefulness of the presented modifications to SCHED_DEADLINE.