RealTime Scheduling CS 3204 Operating Systems Lecture 20

  • Slides: 46
Download presentation
Real-Time Scheduling CS 3204 – Operating Systems Lecture 20 3/3/2006 Shahrooz Feizabadi

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 ¡ ¡ ¡

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:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 Overload detected X X X 44

Load Shedding u=3 Two scheduling parameters: deadline and utility Least valuable task u=1 X

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

Load Shedding u=3 Least valuable task u=1 X u=5 u=7 46