Within the hard real-time community, static priority pre-emptive scheduling is receiving increased attention. Current optimal priority assignment schemes require that at some point in the system lifetime all tasks must be released simultaneously. Two main optimal priority assignment schemes have been proposed: rate-monotonic, where task period equals deadline, and deadline-monotonic where task deadline maybe less than period. When tasks are permitted to have arbitrary start times, a common release time between all tasks in a task set may not occur. In this eventuality, both rate-monotonic and deadline-monotonic priority assignments cease to be optimal. This paper presents an method of determining if the tasks with arbitrary release times will ever share a common release time. This has complexity O(m log e m) in the longest task period. Also, an optimal priority assignment method is given, of complexity O(n² + n) in the number of tasks. Finally, an efficient feasibility test is presen...
Deadline-monotonic priority assignment is a priority assignment policy used with fixed priority pre-emptive scheduling.
With deadline-monotonic priority assignment, tasks are assigned priorities according to their deadlines; the task with the shortest deadline being assigned the highest priority.
This priority assignment policy is optimal for a set of periodic or sporadic tasks which comply with the following restrictive system model:
- All tasks have deadlines less than or equal to their minimum inter-arrival times (or periods).
- All tasks have worst-case execution times (WCET) that are less than or equal to their deadlines.
- All tasks are independent and so do not block each other's execution (for example by accessing mutually exclusive shared resources).
- No task voluntarily suspends itself.
- There is some point in time, referred to as a critical instant, where all of the tasks become ready to execute simultaneously.
- Scheduling overheads (switching from one task to another) are zero.
- All tasks have zero release jitter (the time from the task arriving to it becoming ready to execute).
If restriction 7 is lifted, then "deadline minus jitter" monotonic priority assignment is optimal.
If restriction 1. is lifted allowing deadlines greater than periods, then Audsley's optimal priority assignment algorithm may be used to find the optimal priority assignment.
Deadline monotonic priority assignment is not optimal for fixed priority non-pre-emptive scheduling.
A fixed priority assignment policy P is referred to as optimal if no task set exists which is schedulable using a different priority assignment policy which is not also schedulable using priority assignment policy P. Or in other words: Deadline-monotonic priority assignment (DMPA) policy is optimal if any process set, Q, that is schedulable by priority scheme, W, is also schedulable by DMPA