RealTime Scheduling CS 3204 Operating Systems Lecture 13

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

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

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 Deadline sole scheduling parameter 42

EDF Domino Effect Deadline sole scheduling parameter 42

EDF Domino Effect Cascading deadline misses X X X Deadline sole scheduling parameter 43

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

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

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 46

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

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