RealTime Scheduling CS 3204 Operating Systems Lecture 20














































- Slides: 46
Real-Time Scheduling CS 3204 – Operating Systems Lecture 20 3/3/2006 Shahrooz Feizabadi
Real-Time Systems that must service requests within a precise time constraint: n Air traffic control systems n Railway switching systems n Industrial automation n Robotics n Military Generally, systems that must respond to external physical phenomena. 2
Tracking System Example n n n Dynamic trajectory calculations False alarms Verification System response Real-time clock 687 m error! 3
System Resources Different approaches to resource management: n General-purpose OS ¡ ¡ n Extensible time horizon: all tasks eventually finish Similarly, elastic memory: demand paging Fairness Non-starvation Real-Time system ¡ ¡ ¡ Fixed resources Tasks adjusted accordingly Predictability 4
Schedulers n n n Preemptive / non-preemptive Static / dynamic On-line / off-line Optimal / heuristic Clairvoyance 5
Real-Time Task Parameters Computation time Ci ai Arrival time si start time fi di finish time t deadline 6
Real-Time Tasks Ci Laxity (slack) ai si fi t di Ci Deadline miss ai si x t di fi 7
RMA n n n n Rate Monotonic Algorithm Static Preemptive Fixed-priority assignment Periodic tasks Guarantee-based Hard real-time correctness – all deadlines always met 8
RMA (continued) RMA: Assign unique priorities, in descending order, to tasks ordered by ascending periods: the shorter the period, the higher the priority. 9
RMA – Example Task T C A 5 1 P B C Assume deadline equals period (T). A 0 5 10 15 20 25 10
RMA – Example Task T C A 5 1 B 9 3 P C A B 0 5 10 15 20 25 11
RMA – Example Task T C A 5 1 B 9 3 C 12 2 P A B C 0 5 10 15 20 25 12
RMA – Example Task T C P A 5 1 3 B 9 3 2 C 12 2 1 A B C 0 5 10 15 20 25 13
RMA – Example Task T C P A 5 1 3 B 9 3 2 C 12 2 1 A B C 0 5 10 15 20 25 14
RMA – Example Task T C P A 5 1 3 B 9 3 2 C 12 2 1 A B C 0 5 10 15 20 25 15
RMA – Example Task T C P A 5 1 3 B 9 3 2 C 12 2 1 A B C 0 5 10 15 20 25 16
RMA – Example A preempts C Task T C P A 5 1 3 B 9 3 2 C 12 2 1 A B C 0 5 10 15 20 25 17
RMA – Example Task T C P A 5 1 3 B 9 3 2 C 12 2 1 A B C 0 5 10 15 20 25 18
RMA – Example Task T C P A 5 1 3 B 9 3 2 C 12 2 1 A B C 0 5 10 15 20 25 19
RMA – Example A preempts B Task T C P A 5 1 3 B 9 3 2 C 12 2 1 A B C 0 5 10 15 20 25 20
RMA – Example C arrives Task T C P A 5 1 3 B 9 3 2 C 12 2 1 A B C 0 5 10 15 20 25 21
RMA – Example Task T C P A 5 1 3 B 9 3 2 C 12 2 1 A B C 0 5 10 15 20 25 22
RMA – Example Task T C P A 5 1 3 B 9 3 2 C 12 2 1 A B C 0 5 10 15 20 25 23
RMA – Example Task T C P A 5 1 3 B 9 3 2 C 12 2 1 A B C 0 5 10 15 20 25 24
RMA (continued) n n How far can we push this? Constraints ¡ ¡ ¡ Number of tasks? Periods? Computational times? 25
Processor Utilization Factor Fraction of CPU time spent in execution of tasks: Otherwise stated: sum of the individual relative load contribution of each task in the task-set. Provides an indication of system-wide computational load. 26
Feasibility Test RMA guarantee: No deadlines will be missed under rate monotonic scheduling if the following condition holds: 27
Feasibility Test (continued) n Note that: n That is, any task-set with a CPU utilization factor of 69% or less is schedulable under RMA n Sufficient, but not necessary condition 28
Optimality RMA is an optimal fixed-priority assignment algorithm: no other fixedpriority algorithms can schedule a task set that cannot be scheduled under RMA. 29
EDF n n n Earliest Deadline First Earlier the deadline, higher the priority. Dynamic assignment On-line No periodicity assumptions – can schedule aperiodic tasks. 30
EDF – Example Task T C A 4 1 B 8 4 C 12 3 Assume deadline equals period (T). A B C 0 5 10 15 20 25 Hyper-period 31
EDF – Example Task T C A 4 1 B 8 4 C 12 3 Assume deadline equals period (T). A B C 0 5 10 15 20 25 32
EDF – Example Task T C A 4 1 B 8 4 C 12 3 Assume deadline equals period (T). A B C 0 5 10 15 20 25 33
EDF – Example Task T C A 4 1 B 8 4 C 12 3 Assume deadline equals period (T). Lexical order tie breaker A B C 0 5 10 15 20 25 34
EDF – Example Task T C A 4 1 B 8 4 C 12 3 Assume deadline equals period (T). A B C 0 5 10 15 20 25 35
EDF – Example Task T C A 4 1 B 8 4 C 12 3 Assume deadline equals period (T). A B C 0 5 10 15 20 25 36
EDF – Example Task T C A 4 1 B 8 4 C 12 3 Assume deadline equals period (T). A B C 0 5 10 15 20 25 37
EDF – Example Task T C A 4 1 B 8 4 C 12 3 Assume deadline equals period (T). A B C 0 5 10 15 20 25 Pattern repeats 38
EDF Properties n Feasibility test: n U = 100% in example Bound theoretical Sufficient and necessary Optimal n n n 39
Overload n Hard real-time ¡ ¡ n No deadlines misses. Dimension system to meet exact timing requirements. Soft real-time ¡ ¡ May encounter transient or sustained overload. Design algorithm to achieve desired temporal behavior. 40
Real-Time Overload Scheduling n n n n Runtime uncertainty Dynamic system Aggregate demand exceeds capacity Fixed available bandwidth Must shed load Starvation Who survives? 41
EDF Domino Effect Cascading deadline misses X X X Deadline sole scheduling parameter 42
Load Shedding n n Feasible schedule if any task excluded in example? Selection criteria Fitness metric Second dimension: utility 43
Load Shedding Overload detected X X X 44
Load Shedding u=3 Two scheduling parameters: deadline and utility Least valuable task u=1 X u=5 X u=7 X 45
Load Shedding u=3 Least valuable task u=1 X u=5 u=7 46