Scheduling (RM and EDF) Flashcards
What is hyperperiod?
Is the minimum interval of time after which the schedule repeats itself.
What is job response time?
It is the time (measured from the release time) at which the job is terminated.
What is task response time?
It is the maximum response time among all the jobs.
What is the processor utilization factor?
Ui = sum(i=1, i<n, Ci/Ti)
How the rate monotonic (RM) scheduling algorithm works?
RM scheduling algorithm is a simple rule that assign priorities to tasks according to their request rates. Tasks with higher requests rates (shorter periods) will have higher priority. It is a fixed-priority assignment.
What are the Liu and Layland assumptions?
- Tasks are periodic with deadlines equal to period (Di=Ti)
- Tasks do not suspend themselves
- Tasks have bounded execution time (worst case execution time)
- Tasks are independent
- Scheduling overhead is negligible
How the priorities are assigned by RM algorithm?
Shorter period means higher priority.
What is the sufficient condition for scheduling in RM?
sum(i=1, i<= n * (2^[1/n] - 1)
Is RM an optimal scheduling policy? Explain.
Among all static priority assignments, RM is an optimal scheduling policy. It means that if exist another static priority assignment that can make a task set schedulable, RM will schedule all tasks as well.
How does the priority assignment on Earlier Deadline First work?
Priorities are dynamic, it means that tasks priority may change during execution time. Tasks with closer deadline receive a higher priority.
How the EDF scheduling algorithm works?
The task in the ready queue with the higher priority (closer deadline) is executed. Sort priorities such that tasks with closer deadlines get higher priority at run-time.
Which is the schedulability test in EDF when D=T? Is it necessary or sufficient condition?
sum(i=1, i<= 1
It is necessary and sufficient condition when D=T
Under which condition does EDF is optimal?
EDF is optimal when utilization is below 1. It performs badly under overload.
When is necessary to use exact analysis schedulability test?
When deadline is different from period (D<T)
How to do the exact analysis (response time analysis)?
For the highest priority test, Ri = Ci (since it is not going to be preempted.
For all the other ones:
Ri = Ci + sum { ceiling[Ri/Tj] * Cj , for all j in hp(i)}
*hp(i) is the set of tasks with priority higher than task i
Formula is recursive until Ri is stable.