0% found this document useful (0 votes)
27 views

05 EventDriven

Real-time systems use event-driven scheduling where scheduling decisions are triggered by events like job releases and completions. The document discusses principles of event-driven scheduling and optimal dynamic scheduling algorithms like earliest deadline first and least slack time first. It also covers fixed priority schedulers like rate monotonic and deadline monotonic scheduling and how admission control can be done based on task set utilization.

Uploaded by

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

05 EventDriven

Real-time systems use event-driven scheduling where scheduling decisions are triggered by events like job releases and completions. The document discusses principles of event-driven scheduling and optimal dynamic scheduling algorithms like earliest deadline first and least slack time first. It also covers fixed priority schedulers like rate monotonic and deadline monotonic scheduling and how admission control can be done based on task set utilization.

Uploaded by

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

Real-Time Systems

Event-Driven Scheduling
Outline

• mostly following Jane Liu, Real-Time Systems


• Principles
• Scheduling
• EDF and LST as dynamic scheduling methods
• Fixed Priority schedulers
• Admission based on utilization
• A few multi-processor insights (more later)
• Anomalies

Real-Time Systems: Event-Driven Scheduling 2


Principles

Important Properties
• scheduling decisions are triggered by events
(not time instants)
• events are release, completion, blocking,
unblocking of jobs
• event triggers: scheduler calls, interrupts,
timers, …
• scheduling decisions are made online
• scheduling must therefore be simple
• admission is online or offline
• work-conserving schedulers never leave a resource idle
intentionally

Real-Time Systems: Event-Driven Scheduling 3


Restrictions of Time-Driven Systems

some restrictive assumptions of time-driven systems are relaxed:


• fixed inter-release times
→ minimum inter-release times
• fixed number of real-time tasks
→ number of real-time and non real-time tasks can vary
• a priori fairly well known parameters
→ overload, schedule non-RT in the background, …

Real-Time Systems: Event-Driven Scheduling 4


Earliest Deadline First

Assign priorities at time when jobs are released:


“the earlier the deadline the higher the priority”
Optimality
• one processor,
• jobs are preemptable,
• jobs do not contend for passive resources,
• jobs have arbitrary release times, deadlines,
• then: EDF is optimal
(i.e. if there is a feasible schedule, there is
also one with EDF)

Real-Time Systems: Event-Driven Scheduling 5


EDF Example

T1: (2,0.9) T2: (5,2.3)

T1

0 2 4 6 8 10

T2

0 2 4 6 8 10

Real-Time Systems: Event-Driven Scheduling 6


EDF Optimality

Proof (informal)
• assume a feasible, non EDF schedule
• systematically transform it to an EDF schedule (3
steps) J Ji k

Non Ji Jk

EDF
Jk Ji Jk
1.

2. Jk Jk Ji

3. Jk Jk Ji

Real-Time Systems: Event-Driven Scheduling 7


[Least/Minimum] [Slack Time/Laxity] First

Slack Time / Laxity


• time to deadline -
remaining execution time required to reach deadline
• d−x−t
• d absolute deadline
• x remaining execution time of a job
• t current time
Scheduling Based on Slack
• priority dynamic per job (see example)
• strict version is optimal

Real-Time Systems: Event-Driven Scheduling 8


Least Slack Time First

scheduler checks slacks of all ready jobs and runs the job with the
least slack
Two Versions:
• Strict: slacks are computed at all times
• each instruction (prohibitively slow)
• each timer tick
• Non-strict: slacks are computed only at events
(release, completion)

Real-Time Systems: Event-Driven Scheduling 9


Example: Non-strict LST
Job: (release time, execution time, deadline)
J1 : (0, 2, 3.5) J2 : (1, 3, 5)

0 1 2 3  5 6
4
t = 0: J1 released and scheduled
t = 1: J2 released;
L(J1) = 3.5 – 1 – 1 = 1.5; L(J2) = 5 – 3 – 1 = 1 → J2 scheduled
t = 3.5: J1 deadline miss

EDF schedules both jobs successfully!

Real-Time Systems: Event-Driven Scheduling 10


Example: Strict LST
Job: (release time, execution time, deadline)
J1 : (0, 2, 3.5) J2 : (1, 3, 5)

0 1 2 3 4 5 6

t = 0: J1 released and scheduled


t = 1: J2 released;
L(J1) = 3.5 – 1 – 1 = 1.5;
t = 1.5:
L(J2) = 5 – 3 – 1 = 1 → J2
scheduled
t = 3.5:
L(J1) = 3.5 – 1 – 1.5 = 1;
t = 5:
L(J2) = 5 – 2.5 – 1.5 = 1 →
Real-Time Systems: Event-Driven Scheduling 11
J1, J2 are scheduled and
Latest Release Time (LRT)

Rationale
• no need to complete real-time jobs before deadline
• use time for other activities
Idea
• backwards scheduling
(Deadline <-> Release, turn around
precedence graph, EDF)
J1, 3 [0,6] J2, 2 [5,8]
• run as late as possible
J3, 2 [2,7]
• use latest possible release times
• optimal (analog EDF and strict LST) J1 J3 J2

0 3 6 9 12

Real-Time Systems: Event-Driven Scheduling 12


EDF and Non - Preemptivity

Job: (release time, execution time, deadline)

J1: (0,3,10) J2:


(2,6,14) J3:
(4,4,12)

release time J3 J3missed


J1
EDF Deadline J2 J3

0 3 6 9 12

J1 J3 J2
feasible
0 3 6 9 12

EDF is not optimal if jobs are not preemptable

Real-Time Systems: Event-Driven Scheduling 13


EDF and Multiple Processors

Job: (release time, execution time, deadline)

J1: (0,1,2) J2:


(0,1,2) J3:
(0,5,5)

J1 J3 J1 J2
P1 J3missed Deadline P1
0 3 6 0 3 6

J2 J3
P2 P2
0 3 6 0 3 6
EDF feasible
• easy for time driven schedulers
• EDF is not optimal for multiprocessor systems

Real-Time Systems: Event-Driven Scheduling 14


Assumptions for Next Algorithms

Set of periodic tasks with these properties:


• tasks are independent
• one processor
• no aperiodic tasks
• preemptable, context switch overhead is negligibly small
• period = minimum inter-release time
(release times are not fixed but at least one period apart)
Since tasks are independent, tasks can be added (if admitted) and
deleted at any time without causing deadline misses.

Real-Time Systems: Event-Driven Scheduling 15


Rate Monotonic Scheduling

Fixed Priority Scheduling


• the shorter the period the higher the priority
(rate: inverse of period)
• example: (e, p); d = p

T1: (1,4) T2: (2,5) T3: (5,20)

T1 T2 T3 T1 T2 T3 T1 T3 T2 T1 T3 T2 T1 T2

0 2 4 6 8 10 12 14 16 18

Real-Time Systems: Event-Driven Scheduling 16


Deadline Monotonic Scheduling

Fixed Priority Scheduling


• the shorter the relative deadline the higher the priority
• example: (e, d, p)

T1: (1, 2, 3) T2: (0.5, 1, 6)

RM
0 1 2 3 4 5 6

DM
0 1 2 3 4 5 6
Conclusion (no proof):
RM not optimal but DM if d ≤ p for all
tasks Real-Time Systems: Event-Driven Scheduling 17
Optimality of Fixed Priority Schedulers

T: periodic tasks, independent, preemptable, one CPU


Deadline Monotonic Scheduling (DMS)
• relative deadlines ≤ periods, in phase
• if there is any feasible fixed priority schedule for T,
then Deadline Monotonic is feasible as well
Rate Monotonic Scheduling (RMS)
• relative deadlines = periods
• if there is any feasible fixed priority schedule for T,
then Rate Monotonic produces a feasible
schedule as well

Real-Time Systems: Event-Driven Scheduling 18


Admission Based on Utilization

Utilization
• a task (p,e) requires e/p of the capacity of a processor
• any scheduler can admit at most up to full capacity:
For a task set T1 … Tn: ∑ ei/pi ≤ m is a necessary but not
sufficient condition for m processors
Schedulable Utilization / Utilization Bound
• can we establish a maximum utilization bound X such
that:
T1 … Tn: ∑ ei/pi
≤ X is sufficient?
• depends on the
scheduling
algorithm
Real-Time Systems: Event-Driven Scheduling 19
• the higher the
Utilization: RMS /
EDF
T1: (2 , 1) T2: (5 , 2.5) U=1

EDF T2 T1 T1 T2 T1
T1 T2 T1
0 3 6 9 12

RMS T1 T2 T1 T2 T1 T2 T1 T1

0 3 6 9 12
T2 misses deadline

RMS not optimal in general

Real-Time Systems: Event-Driven Scheduling 20


Some Schedulable Utilization (SU) Results

• independent tasks, preemptable,


relative deadline = period, m = 1 processor
• n: number of tasks
• EDF: SU = 1
• RMS: SU = n (21/n – 1) n → ∞ : ln(2)
• RMS with harmonic periods: SU = 1
• harmonic periods (also called simply periodic):
for all pairs of tasks Ti,Tj: if pi <= pj then pj = nij * pi

Real-Time Systems: Event-Driven Scheduling 21


Schedulability Test for Fixed Priority Schedulers

for task sets with di ≤ pi (+ some other cases)


Critical Instant Analysis / Time Demand Analysis
• critical instant for task Ti:
release of jobs such that they have the maximum response time
• 1 CPU, preemptable, independent:
critical instant occurs when all tasks are released simultaneously
• it is sufficient to check schedulability for the simultaneous release
for the longest involved period

Real-Time Systems: Event-Driven Scheduling 22


Fixed Priority Schedulability and Blocking

• Ti may have to wait for non-preemptable, lower priority task


• bi: longest non-preemptable portion of all lower priority jobs
• schedulable utilization with i
tasks: Ui = e1/p1 + e2/p2 + … + ei/pi
Ui + bi /pi ≤ SU(i)

Real-Time Systems: Event-Driven Scheduling 23


Non Negligible Context Switch Time

• For Job level fixed priority schedulers:


i.e. each job preempts at most one other job
• 2 context switches:
• release (when it preempts other)
• completion
• include context switch overhead in WCET:
WCETi’ := WCETi + 2 * context switches

Real-Time Systems: Event-Driven Scheduling 24


Static and Dynamic Priority

If no new tasks arrive:


• Task static: task T does not change its priority,
i.e. all jobs of T have same fixed priority
• Job static: jobs do not change their priorities
• Job dynamic: jobs change their priorities
Careful: job static is a dynamic priority system

Real-Time Systems: Event-Driven Scheduling 25


Earliest Deadline First, priority assignment:

fixed per job, dynamic at task level: the closer the absolute deadline
of a job at release time, the higher the priority

T1: (0.9, 2) T2: (2.3, 5)

T1 T1 T1 T1 T1

0 1 2 3 4 5 6 7 8 9 10
T2 T2 T2 T2

0 1 2 3 4 5 6 7 8 9 10

Real-Time Systems: Event-Driven Scheduling 26


EDF and Overload, Examples

T1: (1, 2) T2: (3, 5) U=1.1


T1 misses

T2 T1 T1 T2
T1 T2 T1
0 3 6 9 12

T1: (0.8, 2) T2: (3.5, 5) U=1.1


T2 T1 and T2 misses

T2 2.3 T2

6
Real-Time Systems: Event-Driven Scheduling 27
EDF and Overload, Another Example

T1: (0.8, 2) T2: (4.0, 5) U=1.2

missed deadline

T1 T1 T1 T1
T1
0 1 2 3 4 5 6 7 8 9 10
T2 T2
T2
0 1 2 3 4 5 6 7 8 9 10
missed deadline

In fixed priority systems it is possible to predict which tasks are affected


by overruns

Real-Time Systems: Event-Driven Scheduling 28


Predictable/Sustainable Execution

Informal Definition
• Given a set of periodic tasks with known minimal and maximal
execution times and a scheduling algorithm.
• A schedule produced by the scheduler when the execution time
of each job has its maximum (minimum) value is called a
maximum (minimum) schedule.
• An execution is called predictable, if for each actual schedule the
start and completion times for each job are bound by these
times in the minimum and maximal schedules.
• The execution of every job in a set of independent, preemptable
jobs with fixed release times is predictable when scheduled in
a priority driven manner on one processor.

Real-Time Systems: Event-Driven Scheduling 29


Lessons Learned

• schedulers: static and dynamic priorities (RMS, EDF, LST)


• schedulability analysis: utilization, critical instant
• RMS and EDF are optimal under simplistic assumptions

Real-Time Systems: Event-Driven Scheduling 30

You might also like