What is Deadline Monotonic Analysis?
- DMA is a fixed-priority scheduling algorithm used for real-time systems.
- The priority of each task is assigned based on its deadline: tasks with shorter deadlines have higher priority.
- Only cases where the deadline is less than or equal to the task period are considered: .
- DMA is suitable for periodic and sporadic tasks, but not for aperiodic tasks since they do not have a fixed .
Types of Tasks
- Periodic Task: Has a known, fixed period , with a repeating pattern.
- Sporadic Task: Requests are not periodic, but there is a minimum time between two subsequent requests.
- Aperiodic Task: No specified ; requests can occur at any time without a known pattern.
Worst-Case Response Time Calculation
To calculate the worst-case response time of a task , the iterative formula used is:
Where:
- is the response time in the iteration.
- is the computation time of task .
- is the total interference time from higher priority tasks.
- represents the set of tasks with higher priority than task .
- is the period of a higher priority task .
- is the computation time of a higher priority task .
Explanation of Terms
- The term calculates how many times the higher priority task will execute within the response time of task .
- The sum adds the computation times of all these executions to determine the interference .
Iterative Calculation Steps
- Initialize: Set .
- Iterate: Calculate using the above formula.
- Convergence Check: If , the iteration stops.
- Deadline Check: Verify if . If true, the task meets the deadline.
Jitter Calculation
Jitter is the variability in the response time or delay for a task.
Where:
- is the maximum delay.
- is the minimum delay.
With and Without Global Time
- With Global Time: The jitter calculation remains as above.
- Without Global Time: The formula changes to:
Priority Assignment
If two tasks have equal deadlines, secondary conditions such as computation time or laxity can be used to determine priority:
- Laxity is defined as .
- A task with smaller laxity is typically assigned higher priority.
Interference Time Calculation
The interference time for a task is calculated as:
Where:
- denotes the set of higher-priority tasks than task .