SCHED_DEADLINE: Open Issues

Session information has not yet been published for this event.

*
Refereed Presentation
Scheduled: Wednesday, September 13, 2017 from 4:00 – 4:45pm in Diamond 3

One Line Summary

Discussion about the open issues of the deadline scheduler.

Abstract

The deadline scheduler adds the ability of scheduling tasks, not according to a fixed priority, but according to a dynamic priority, based on the task’s deadline. To be able to use this scheduler, a task needs to inform three parameters: the period, the runtime, and the relative deadline.

Using these parameters, the scheduler tries to provide the runtime CPU time, at each period for each deadline task. Under the perfect conditions, the sched deadline is able to schedule all tasks within their deadline, providing the timing guarantee real-time tasks need. Did you notice the under the perfect conditions part? The conditions are:

- Implicit deadline tasks – or constrained being quite a pessimist.
- Tasks should not self-suspend;
- All the system’s delay must be taken into account.
- The runtime must represent the worst-case execution time;
- The system should not be overload – which requires some very restrictive setup.

All these restrictions open the opportunity for improvements in the deadline scheduler. This presentation aims to list these points of improvement, point directions and challenges. Such as:

- Constrained deadline tasks guarantees
- Arbitrary affinity tasks
- Hierarchical scheduling – RT Throttling
- Tracepoints
- Precise way to define task’s runtime
- Other possibilities for admission tests

There are many points of improvement in the deadline scheduler, and discussing them is fundamental for a wider and safer adoption of this powerful scheduler.

Tags

Real-time, scheduling, SCHED_DEADLINE

Presentation Materials

slides

Speaker

  • Biography

    Daniel is a senior kernel engineer at Red Hat, working with the real-time kernel. He holds a BSc in Computer Science, MSc in Automation Engineering and is currently doing his Ph.D. in Automation Engineering, researching about real-time Linux at the UFSC, in Brazil. He is also a visiting researcher in the Retis Lab at Scuola Superiore Sant’anna, in Pisa, Italy, where he lives now.