{[ promptMessage ]}

Bookmark it

{[ promptMessage ]}

lec10_dynamicpriority1

# lec10_dynamicpriority1 - Priority-Driven Scheduling of...

This preview shows pages 1–6. Sign up to view the full content.

1 Priority-Driven Scheduling of Periodic Tasks - Chapter 6 – (Dynamic Priority (1)) Overview • EDF optimality (Done!) schedulable utilization bound time demand analysis

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
2 Dynamic-priority scheduling How to assign Priorities? – we already proved that assigning priority based on the absolute deadline is optimal How to check the schedulability? Utilization Bound Check For a given algorithm A, we are interested in finding its schedulability bound (e.g., the schedulability bound of EDF is 1)
3 Processor utilization factor More formally, we want to find the least upper bound U lub (A) of the processor utilization factor ) , ( min ) ( lub A U A U ub Γ = Γ For example, considering the RM algorithm, U lub (RM) = n (2 1/n – 1). Now, we know how it can be derived. Quiz: what is the value of U ub ( Γ , EDF) ? Schedulability of EDF Theorem: given a set of n (independent) periodic tasks, each deadline will be met if and only if the total utilization of the tasks is no greater than 1. That is: How in the world can we prove that? 1 2 1 2 . . . 1 n n e e e p p p + + +

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
4 Proving Steps Necessity: Schedulable Total Utilization 1 Total Utilization > 1 Not Schedulable: easy! How prove? Sufficiency: Total Utilization 1 Schedulable Prove that if a job misses deadline, then Total Utilization >1 Two cases Easy Case Difficult Case Counting Execution Times (Easy Case) At the deadline of T 22 at t , the deadline of T 13 is before t and the total execution of each task can be expressed neatly Suppose a job (T 22 ) misses the deadline “sum of executions prior to t ” > t Hint: We know that the completion time of a job is the sum of its own execution time plus the interference due to other jobs with earlier deadline. So let’s count them. We need to count all the executions of jobs prior to t . The execution time of jobs with deadlines prior to t is easy to count. So are the execution times of jobs of T 2 by time t . θ 1 t 0 0 2 2 2 1 1 1 1 : ; : e p t T e p t T θ
5 Getting a foothold If a job (T22) misses the deadline “sum of executions prior to t ” > t θ 1 t 0 0 1 " prior to executions of Sum " 2 2 1 1 2 2 1 1 2 2 1 1 2 2 1 1 1 > + > + > + > + = p e p e t e p t e p t t e p t e p t t e p t e p t t θ If a job (T22) misses the deadline Total Utilization > 1 Counting Execution Times (Difficult Case) When T 22

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
This is the end of the preview. Sign up to access the rest of the document.

{[ snackBarMessage ]}