RealTime Scheduling CS 3204 Operating Systems Lecture 13















































- Slides: 47
Real-Time Scheduling CS 3204 – Operating Systems Lecture 13 10/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 Deadline sole scheduling parameter 42
EDF Domino Effect Cascading deadline misses X X X Deadline sole scheduling parameter 43
Load Shedding n n Feasible schedule if any task excluded in example? Selection criteria Fitness metric Second dimension: utility 44
Load Shedding Overload detected X X X 45
Load Shedding u=3 Two scheduling parameters: deadline and utility Least valuable task u=1 X u=5 X u=7 X 46
Load Shedding u=3 Least valuable task u=1 X u=5 u=7 47