0% found this document useful (0 votes)
29 views27 pages

Lec RT Sched Part1 v2 1x2

The document provides an overview of real-time scheduling, including examples of real-time systems, tasks and jobs. It discusses scheduling frameworks, fundamental issues, and the real-time spectrum. It also covers real-time workload attributes, tasks and their parameters, schedulability, and static and dynamic scheduling approaches like cyclic executives and priority-driven algorithms. Challenges with cyclic executives include handling overruns and mode changes.

Uploaded by

Hdbxh Vvdudh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
29 views27 pages

Lec RT Sched Part1 v2 1x2

The document provides an overview of real-time scheduling, including examples of real-time systems, tasks and jobs. It discusses scheduling frameworks, fundamental issues, and the real-time spectrum. It also covers real-time workload attributes, tasks and their parameters, schedulability, and static and dynamic scheduling approaches like cyclic executives and priority-driven algorithms. Challenges with cyclic executives include handling overruns and mode changes.

Uploaded by

Hdbxh Vvdudh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 27

Real-Time Scheduling (Part 1)

(Working Draft)

Insup Lee
Department of Computer and Information Science
School of Engineering and Applied Science
University of Pennsylvania
www.cis.upenn.edu/~lee/

CIS 541, Spring 2010

Real-Time System Example


• Digital control systems
– periodically performs the following job:

senses the system status and


actuates the system according to its current status

Sensor
Control-Law
Computation
Actuator

Spring ‘10 CIS 541 2


Real-Time System Example
• Multimedia applications
– periodically performs the following job:

reads, decompresses, and displays video and audio


streams

Multimedia

Spring ‘10 CIS 541 3

Scheduling Framework Example

Digital Controller Multimedia

OS Scheduler

CPU
Spring ‘10 CIS 541 4
Fundamental Real-Time Issue

• To specify the timing constraints of real-time systems

• To achieve predictability on satisfying their timing


constraints, possibly, with the existence of other
real-time systems

Spring ‘10 CIS 541 5

Real-Time Spectrum

No RT Soft RT Hard RT

Computer User Internet Cruise Tele Flight Electronic


simulation interface video, audio control communication control engine

Spring ‘10 CIS 541 6


Real-Time Workload
 Job (unit of work)
o a computation, a file read, a message transmission, etc
 Attributes
o Resources required to make progress
o Timing parameters
Absolute
Released Execution time deadline

Relative
deadline

Spring ‘10 CIS 541 7

Real-Time Task
 Task : a sequence of similar jobs
o Periodic task (p,e)
 Its jobs repeat regularly
 Period p = inter-release time (0 < p)
 Execution time e = maximum execution time (0 < e < p)
 Utilization U = e/p

0 5 10 15

Spring ‘10 CIS 541 8


Schedulability
 Property indicating whether a real-time system (a
set of real-time tasks) can meet their deadlines

(4,1)

(5,2)

(7,2)

Spring ‘10 CIS 541 9

Real-Time Scheduling
 Determines the order of real-time task executions

(4,1)

(5,2)
5 10 15
(7,2)
5 10 15
Spring ‘10 CIS 541 10
Optimality
 Scheduling algorithm A is better than B if for every
task set T, B can schedule T implies A can schedule
T.

 Given a class C of scheduling algorithms, scheduling


algorithm A is optimal in C, if A is better than every
scheduling algorithm B in C.

Spring ‘10 CIS 541 11

Real-Time Scheduling
 Static scheduling
o A fixed schedule is determined statically
o E.g., Cyclic Executive
 Static-priority scheduling
o Assign fixed priorities to processes
o A scheduler only needs to know about priorities
o E.g., Rate Monotonic (RM)
 Dynamic-priority scheduling
o Assign priorities based on current state of the system
o E.g., Least Completion Time (LCT), Earliest Deadline First
(EDF), Least Slack Time (LST)
Spring ‘10 CIS 541 12
CYCLIC EXECUTIVE

Spring ‘10 CIS 541 13

Cyclic Executives
A cyclic executive is a program that deterministically interleaves the
execution of periodic tasks on a single processor. The order in which
the tasks execute is defined by a cyclic schedule.
Example:
A = (10, 1), B = (10, 3), C = (15, 2), D = (30,8)  (30, 3) (30, 5)

A B C D A B C A B D
i i + 10 i +15 i + 20 i +30
frame 1 frame 2 frame 3
A major cycle containing 3 frames

Reference: “The Cyclic executive model and ADA” Proc. of RTSS, 1988,
by Baker and Shaw

Spring ‘10 CIS 541 14


General structure of a major
schedule
major
cycles i - 1 i i+1
idle frame overrun
1 2 3 4 ...
frames
(minor cycles)


t t+m t + 2m t + 3m t + 4m t+M
correct timing enforced at the end of each frame
Rules governing the choice of m for a given {(pi, ei , di )} of n tasks
o m  di , i = 1, 2, … , n
o m  ei , i = 1, 2, … , n
o M/n = integer (m divides pi for at least one i )
o there must be at least one frame in the interval between the release time and
deadline of every request.
2m - gcd (m, pi)  di , for i = 1, 2, … , n

Spring ‘10 CIS 541 15

Advantages of cyclic executive


 Simplicity and predictability:
o timing constraints can be easily checked
o the cyclic schedule can be represented by a table that is
interpreted by the executive
o context switching overhead is small
o it is easy to construct schedules that satisfy precedence
constraints & resource constraints without deadlock and
unpredictable delay

Spring ‘10 CIS 541 16


Disadvantages
 Given major and frame times, structuring the tasks with parameters pi, ei,
and di to meet all deadlines is NP-hard for one processor
 Splitting tasks into subtasks and determining the scheduling blocks of each
task is time consuming
 Error in timing estimates may cause frame overrun:
How to handle frame overrun? It is application dependent:
o suspense or terminate the overrun task, and execute the schedule of the next
frame
o complete the suspended task as background later
o complete the frame, defer the start of the next frame
o log overruns. If too many overruns, do fault recovery

Spring ‘10 CIS 541 17

Mode changes

Handling mode change is difficult.


Mode change: deletion and addition of tasks or change the parameters of
existing tasks
When to do mode change? Pros and cons of doing it at the end of current
frame, current major cycle, execution of the current task, upon interrupt
immediately
Handling sporadic tasks
 convert each sporadic task into a periodic one: periodic server (p, e, d)
deadline

tm E
d
min time between arrival
too pessimistic - guarantees worst case
p = min (tm, d - e +1) -
performance by giving max time to the task
 set aside time in minor cycles for execution of sporadic tasks
o does not guarantee worst case

Spring ‘10 CIS 541 18


Priority-driven algorithms
 A class of algorithms that never leave the processor(s) idle
intentionally
 Also known as greedy algorithms and list algorithms
 Can be implemented as follows: (preemptive)
o Assign priorities to tasks
o Scheduling decisions are made
 when any task becomes ready,
 when a processor becomes idle,
 when the priorities of tasks change
o At each scheduling decision time, the ready task with the highest priority
is executed
 If non-preemptive, scheduling decisions are made only when a
processor becomes idle.
 The algorithm is static if priorities are assigned to tasks once for all
time, and is dynamic if they change. Static if fixed.

Spring ‘10 CIS 541 19

SCHEDULING ANOMALY

Spring ‘10 CIS 541 20


Example
3
T1
0 6 10
T2
2 4 14
T3
4 11
non preemptive EDF, FIFO
T1 T2 T3
0 3 9 13
missed
deadline
preemptive EDF
T1 T2 T3 T2
0 3 4 8 13

non preemptive, not priority-driven

T1 T3 T2
0 3 4 8 14
intentional idle time
Spring ‘10 CIS 541 21

Unexpected behavior of priority-driven


scheduling algorithm
T1 : 3 T2 : 2 T3 : 2 T4 : 2

T9 : 9 T5 : 4 T6 : 4 T7 : 4 T8 : 4

L = (T1, T2, T3, T4, T5, T6, T7, T8, T9)

P1 T1 T9

P2 T2 T4 T5 T7

P3 T3 T6 T8
t

Spring ‘10 CIS 541 22


Unexpected behavior of priority-driven
scheduling algorithm (cont.)

 Suppose that we have 4 processors:


P1

P2

P3

P4

 Suppose that execution times are


2, 1, 1, 1, 3, 3, 3, 3, 8
 Suppose that T4 before T5 and T4 before T6 are removed

Spring ‘10 CIS 541 23

Anomalies of Priority-Driven Systems

 Given J1, J2, J3, J4


 Priority:
o J1 > J2 > J3 > J4
 Preemption but no job
migration
 Two processors P1 and
P2

Spring ‘10 CIS 541 24


Cases: e2 = 6 and e2 = 2

Spring ‘10 CIS 541 25

Cases: e2 = 3 and e2 = 5

Spring ‘10 CIS 541 26


Validation Problem
 Scheduling anomalies make validation hard
 Can anomalies exist even on single processor
systems?

Spring ‘10 CIS 541 27

EARLIEST DEADLINE FIRST


(EDF)

Spring ‘10 CIS 541 28


EDF (Earliest Deadline First)
 A task with a shorter deadline has a higher priority
 Executes a job with the earliest deadline
 Optimal dynamic priority scheduling for single
processor

T1 (4,1)

T2 (5,2)
5 10 15
T3 (7,2)
5 10 15
Spring ‘10 CIS 541 29

EDF (Earliest Deadline First)


 Executes a job with the earliest deadline

T1 (4,1)

T2 (5,2)
5 10 15
T3 (7,2)
5 10 15
Spring ‘10 CIS 541 30
EDF (Earliest Deadline First)
 Executes a job with the earliest deadline

T1 (4,1)

T2 (5,2)
5 10 15
T3 (7,2)
5 10 15
Spring ‘10 CIS 541 31

EDF (Earliest Deadline First)


 Executes a job with the earliest deadline

T1 (4,1)

T2 (5,2)
5 10 15
T3 (7,2)
5 10 15
Spring ‘10 CIS 541 32
EDF (Earliest Deadline First)
 Optimal scheduling algorithm
o if there is a schedule for a set of real-time tasks,
EDF can schedule it.

T1 (4,1)

T2 (5,2)
5 10 15
T3 (7,2)
5 10 15
Spring ‘10 CIS 541 33

Optimality of EDF
 Optimality of the earliest deadline first algorithm for
preemptive scheduling on one processor
 Given a task system T, if the EDF algorithm fails to find a
feasible schedule, then T has no feasible schedule, where
o feasible schedule = one in which all release time and
deadline constraints are met
T2’s deadline T1’s deadline
r1 , r2 T1 T2
d2 d1
can always be transform to
r1 , r2 T2 T2 T1
d2 d1

Spring ‘10 CIS 541 34


Utilization Bounds

 Intuitively:
o The lower the processor utilization, U, the easier it is to
meet deadlines.
o The higher the processor utilization, U, the more difficult it
is to meet deadlines.
 Question: is there a threshold Ubound such that
o When U < Ubound deadlines are met
o When U > Ubound deadlines are missed

EDF – Utilization Bound


 Real-time system is schedulable under EDF if and
only if
∑Ui ≤ 1

Liu & Layland,


“Scheduling algorithms for multi-programming in a
hard-real-time environment”, Journal of ACM,
1973.

Spring ‘10 CIS 541 36


Schedulable Utilization
 Utilization of a periodic task (p, t, d)
u = t/p  the fraction of time the task keeps the
processor busy
U , total utilization of task system
T = {(pi, ti , di )} contains n tasks
n
U  t i / pi  demand for processor time
 A systemi  1of n tasks with di = pi can be feasibly scheduled if
and only if U  1
o If U >1 , the total demand of processor in the time interval [0, p1p2 … pn]
is p2 p3 … pnt1 + p1 p3 … pnt2 + … p1 p2 … pn-1tn > p1 p2 … pn
clearly, no feasible schedule exists.
o If U 1 , the EDF algorithm can always find a feasible schedule.
To show this statement is true, we suppose that the EDF algorithm fails
to find a feasible schedule. And, then show U >1, which is a contradiction
to U 1

Spring ‘10 CIS 541 37

Processor Demand Bound


 Demand Bound Function : dbf(t)
o the maximum processor demand by workload over any
interval of length t
t

T1 (4,1)

T2 (5,2)
5 10 15
T3 (7,2)
5 10 15
Spring ‘10 CIS 541 38
EDF - Schedulability Analysis
 Real-time system is schedulable under EDF
if and only if dbf(t) ≤ t for all interval t

Baruah et al.
“Algorithms and complexity concerning the
preemptive
scheduling of periodic, real-time tasks on one
processor”, Journal of Real-Time Systems, 1990.

 Demand Bound Function : dbf(t)


o the maximum processor demand by workload over any
Spring ‘10 interval of length t CIS 541 39

Behavior of earliest deadline algorithm


 Schedule (2, 1) (5, 3) with U = 1.1

(2, 1)

(5, 3)

 Schedule (2, 0.8) (5, 3.5) with U = 1.1

(2, 0.8)

(5, 3.5)

Which deadline will be missed


as U increases cannot be predicted

Spring ‘10 CIS 541 40


EDF – Overload Conditions

 Domino effect during overload conditions


o Example: T1(4,3), T2(5,3), T3(6,3), T4(7,3)
Deadline Miss !

T1 T2 T3 T4
0 3 5 6 7

Better schedules :
T1 T3 T1 T4
0 3 5 6 7 0 3 5 6 7
Spring ‘10 CIS 541 41

RATE MONOTONIC (RM)

Spring ‘10 CIS 541 42


RM (Rate Monotonic)
 It assigns priority according to period
 A task with a shorter period has a higher priority
 Executes a job with the shortest period
 Optimal static-priority scheduling for single
processor
T1 (4,1)

T2 (5,2)
5 10 15
T3 (7,2)
5 10 15
Spring ‘10 CIS 541 43

RM (Rate Monotonic)
 Executes a job with the shortest period

T1 (4,1)

T2 (5,2)
5 10 15
T3 (7,2)
5 10 15
Spring ‘10 CIS 541 44
RM (Rate Monotonic)
 Executes a job with the shortest period

Deadline Miss !

T1 (4,1)

T2 (5,2)
5 10 15
T3 (7,2)
5 10 15
Spring ‘10 CIS 541 45

RM – Utilization Bound
 Real-time system is schedulable under RM if
∑Ui ≤ n (21/n-1)

Liu & Layland,


“Scheduling algorithms for multi-programming in a
hard-real-time environment”, Journal of ACM,
1973.

Spring ‘10 CIS 541 46


RM – Utilization Bound
 Real-time system is schedulable under RM if
∑Ui ≤ n (21/n-1)

 Example: T1(4,1), T2(5,1), T3(10,1),

∑Ui = 1/4 + 1/5 + 1/10


= 0.55
3 (21/3-1) ≈ 0.78

Thus, {T1, T2, T3} is schedulable under RM.


Spring ‘10 CIS 541 47

RM – Utilization Bound

 Real-time system is schedulable under RM if


∑Ui ≤ n (21/n-1)
RM Utilization Bounds
1.1
1
Utilization

0.9
0.8
0.7
0.6
0.5
1 4 16 64 256 1024 4096

The Number of Tasks


Spring ‘10 CIS 541 48
A Conceptual View of Schedulability
Ci
Utilization  
i Pi
Schedulable
Unschedulable

 Modified Question: is there a threshold Ubound such that Task Set


o When U < Ubound deadlines are met
o When U > Ubound deadlines may or may not be missed

Response Time
 Response time
o Duration from released time to finish time

T1 (4,1)

T2 (5,2)
5 10 15
T3 (10,2)
5 10 15
Spring ‘10 CIS 541 50
Response Time
 Response time
o Duration from released time to finish time

Response Time

T1 (4,1)

T2 (5,2)
5 10 15
T3 (10,2)
5 10 15
Spring ‘10 CIS 541 51

Response Time

 Response Time (ri) [Audsley et al., 1993]


 ri 
ri  ei    pk   ek
TkHP (Ti )  
 HP(Ti) : a set of higher-priority tasks than Ti

T1 (4,1)

T2 (5,2)
5 10
T3 (10,2)
5 10
Spring ‘10 CIS 541 52
RM - Schedulability Analysis
 Real-time system is schedulable under RM
if and only if ri ≤ pi for all task Ti(pi,ei)

Joseph & Pandya,


“Finding response times in a real-time system”,
The Computer Journal, 1986.

Spring ‘10 CIS 541 53

RM vs. EDF
 Rate Monotonic
o Simpler implementation, even in systems without explicit
support for timing constraints (periods, deadlines)
o Predictability for the highest priority tasks

 EDF
o Full processor utilization
o Misbehavior during overload conditions

 For more details: Buttazzo, “Rate monotonic vs.


EDF: Judgement Day”, EMSOFT 2003.

Spring ‘10 CIS 541 54

You might also like