0% found this document useful (0 votes)
53 views45 pages

Aperiodic Task Scheduling

This document discusses scheduling algorithms for preemptive and non-preemptive tasks with deadlines. It introduces the Earliest Deadline First (EDF) algorithm, proving its optimality for preemptive scheduling. While EDF is optimal for a single processor, it is not optimal for multiple processors or non-preemptive scheduling. The document also discusses the Least Slack Time algorithm and algorithms for tasks with precedence constraints, including Latest Deadline First and a modification of EDF. Heuristical algorithms are suggested for more complex NP-complete problems.
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)
53 views45 pages

Aperiodic Task Scheduling

This document discusses scheduling algorithms for preemptive and non-preemptive tasks with deadlines. It introduces the Earliest Deadline First (EDF) algorithm, proving its optimality for preemptive scheduling. While EDF is optimal for a single processor, it is not optimal for multiple processors or non-preemptive scheduling. The document also discusses the Least Slack Time algorithm and algorithms for tasks with precedence constraints, including Latest Deadline First and a modification of EDF. Heuristical algorithms are suggested for more complex NP-complete problems.
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/ 45

www.getmyuni.

com

Aperiodic Task Scheduling


www.getmyuni.com
Preemptive Scheduling: The Problem

1 processor
arbitrary arrival times of tasks
preemption
performance measure: maximum lateness
no resources, no precedence constraints
www.getmyuni.com
Example

1 Solve the example (manually).


2 Try to find out a scheduling algorithm.
www.getmyuni.com
Earliest Deadline First

Earliest Deadline First Algorithm

EDF
At any instant execute the task with the earliest absolute
deadline among all the ready tasks.
www.getmyuni.com
Earliest Deadline First

Example – EDF Schedule


www.getmyuni.com
Earliest Deadline First

Optimality of EDF

Theorem (Horn)
Given a set of n independent tasks with arbitrary arrival times,
the EDF algorithm is optimal with respect to minimazing the
maximum lateness.
www.getmyuni.com
Earliest Deadline First

Proof of Horn’s Theorem

Basic idea of the proof:


let σ be optimal schedule; we transform it into EDF
schedule σEDF without increasing maximum lateness
schedule is divided into time slices of 1 unit
transformation: interchange 1 appropriate time slice
www.getmyuni.com
Earliest Deadline First

Proof of Horn’s Theorem (cont.)


www.getmyuni.com
Earliest Deadline First

Guarantee Test

is the set of tasks schedulable?


sort tasks by increasing deadlines
synchronous activation (ai = 0) – schedulability
guaranteed by conditions:

∀i : Σik=1Ck ≤ di
asynchronous activation: “dynamical version” of the
previous test
www.getmyuni.com
Earliest Deadline First

EDF is Fine ...

EDF:
is optimal
works on-line
easy to implement
simple guarantee test
www.getmyuni.com
Earliest Deadline First

... but Not a Silver Bullet

EDF is not optimal with more than 1 processor


Try to find a specific set of tasks:
the set is schedulable on 2 processor
EDF schedule misses some deadline
www.getmyuni.com
Earliest Deadline First

EDF with More Processors

J1 J2 J3
ai 0 0 0
2 Processors
Ci 1 1 5
di 1 2 5

Schedulable, but EDF schedule misses deadline for J3 .


www.getmyuni.com
Least Slack Time

Least Slack Time Algorithm

LST
At any instant execute the task with the least slack time (that
is di − Ci ) among all the ready tasks.

LST is also optimal.


www.getmyuni.com
Least Slack Time

Example

Find a set of task such that EDF and LST produce different
schedules.
www.getmyuni.com
Non-preemptive Scheduling: The Problem

1 processor
arbitrary arrival times of tasks
preemption not allowed
performance measure: maximum lateness
no resources, no precedence constraints
EDF www.getmyuni.com
Non-optimality of EDF

EDF is not optimal for non-preemptive scheduling.

Find a set of task such that EDF does not produce optimal
schedule.
EDF www.getmyuni.com
Non-optimality of EDF
EDF www.getmyuni.com
EDF and Non-idle Schedules

non-idle algorithm - does not permit the processor to be


idle when there are active jobs
restriction to non-idle algorithms ⇒ EDF is optimal
www.getmyuni.com
Brute Force

Optimal Scheduling

no on-line algorithm can generate optimal schedule


(example above: time 0, stay idle or start J1 ?)
off-line: non-preemptive scheduling is NP-complete
branch-and-bound (backtracking) algorithms, worst case
complexity O(n · n!)
www.getmyuni.com
Brute Force

Search Tree
www.getmyuni.com
Brute Force

Reminder: Backtracking, n Queen Problem


www.getmyuni.com
Brute Force

Pruning

branch is abandoned when:


the addition of any node to the current path causes a
missed deadline
a feasible schedule is found at the current path
size of the search tree is exponential in the worst case
significant pruning in the average case
www.getmyuni.com
Brute Force

Pruning: Example
www.getmyuni.com
Brute Force

Example

J1 J2 J3 J4
ai 0 4 2 6
Ci 6 2 4 2
di 18 8 9 10

Draw the search tree (with pruning).


www.getmyuni.com
Scheduling with Precedence Constraints

generally NP-complete
we consider two special cases, polynomial algorithms
remark on heuristical approach
www.getmyuni.com
Latest Deadline First

Precedence Constraints: Problem 1

1 processor
precedence constraints
synchronous activation (∀i : ai = 0)
(preemption does not matter)
performance measure: maximum lateness
www.getmyuni.com
Latest Deadline First

Example

1 solve the example (manually)


2 construct the EDF schedule
3 try to find out an optimal scheduling algorithm
www.getmyuni.com
Latest Deadline First

Latest Deadline First Algorithm

one possible solution: latest deadline first (LDF)


note: different interpretations
EDF algorithm = earliest deadline job is scheduled to
run first
LDF algorithm = latest deadline job is put into schedule
first
www.getmyuni.com
Latest Deadline First

Latest Deadline First Algorithm

LDF
among tasks without successors select the task with the
latest deadline
remove this task from the precedence graph and put it
into a stack
repeat until all tasks are in the stack
the stack represents the order in which tasks should be
scheduled

LDF is optimal.
www.getmyuni.com
Latest Deadline First

LDF: example
www.getmyuni.com
Modified EDF

Precedence Constraints: Problem 2

1 processor
precedence constraints
arbitrary arrival times of tasks
preemption
performance measure: maximum lateness
www.getmyuni.com
Modified EDF

Example

Precedence constraints:
A → C ; A → D; B → D, B → E ; E → D; C → F ; D → F

A B C D E F
a 0 2 5 4 1 2
C 3 2 2 3 1 3
d 8 8 13 10 5 14
www.getmyuni.com
Modified EDF

Basic Idea

1 transform set J of dependent tasks into set J∗ of


independent tasks
2 apply EDF to set J∗
transformation done by modification of arrival times and
deadline times
www.getmyuni.com
Modified EDF

Modification of Arrival Times

If JY → JX then:
s X ≥ aX
JX cannot start earlier than its activation time
sX ≥ aY + CY
JX cannot start earliear than the minimum finishing time
of JY
www.getmyuni.com
Modified EDF

Modification of Arrival Times (cont.)

new arrival time:

aX ∗ = max(aX , max(aY + CY , JY → JX ))

modified arrival time must be computed in the correct order


(given by precedence constraints)
www.getmyuni.com
Modified EDF

Modification of Deadlines

If JX → JY then:
fX ≤ dX
JX must finish within its deadline
fX ≤ dY − CY
JX must finish not later than the maximum starting time
of JY
www.getmyuni.com
Modified EDF

Modification of Deadlines (cont.)

new deadline:

dX ∗ = min(dX , min(dY − CY , JX → JY ))
modified deadline times must be computed in the correct order
(given by precedence constraints)
www.getmyuni.com
Modified EDF

Optimality

Theorem
There exists feasible schedule for the modified task set J∗
under EDF if and only if the original task set is schedulable.
www.getmyuni.com
Modified EDF

Example

Precedence constraints:
A → C ; A → D; B → D, B → E ; E → D; C → F ; D → F

A B C D E F
a 0 2 5 4 1 2
C 3 2 2 3 1 3
d 8 8 13 10 5 14
a∗ 0 2 5 5 4 8
d∗ 7 4 11 10 5 14
www.getmyuni.com
Modified EDF

Example

precedence constraints: A → C , B → C , C → E , D →
F , B → D, C → F , D → G
all tasks: ai = 0, Di = 25, computation times: 2, 3, 3, 5,
1, 2, 5
compute modified arrival times and deadlines
compute schedule according to EDF
www.getmyuni.com
Heuristical algorithms

Heuristical search

more complicated problems (e.g., non-preemptive,


precedence constraints) NP-complete
brute-force search (with pruning)
heuristical search
only some schedules are considered
no guarantee of optimality
note: general computer science approach
www.getmyuni.com
Heuristical algorithms

Heuristical search

constructs partial schedules (like brute-force search)


considers only one (or few) tasks for extension of a
schedule
selection based on heuristic function H
www.getmyuni.com
Heuristical algorithms

Heuristic function

H(i) = ai first come first serve


H(i) = Ci shortest job first
H(i) = di earliest deadline first
more complicated parameters (taking into account
precedence relations, resources, ...)
weighted combinations of different parameters
www.getmyuni.com
Overview of Problems and Algorithms

sync. act. preemptive non-


async. act. preemptive
async. act.
independent EDF, EDF, LST, tree search,
2
O(n log n) O(n ) O(n · n!)
precedence LDF, modified EDF, heuristic
O(n2 ) O(n2 ) search
www.getmyuni.com
Summary

aperiodic task scheduling (arbitrary arrival times)


1 processor, no resources
precedence constraints: yes/no
preemption: yes/no
performance measure: maximum lateness
algorithms: earliest deadline first (EDF), least slack time
(LST), branch and bound, latest deadline first (LDF),
transformations

You might also like