real time scheduling basic concepts - masaryk universityxpelanek/ia158/slides/concepts.pdf · basic...
TRANSCRIPT
![Page 1: Real Time Scheduling Basic Concepts - Masaryk Universityxpelanek/IA158/slides/concepts.pdf · Basic Parameters arrival time a ... nd a feasible schedule (with, without preemption)](https://reader031.vdocuments.site/reader031/viewer/2022030618/5ae4913c7f8b9a0d7d8f280c/html5/thumbnails/1.jpg)
Real Time Scheduling
Basic Concepts
Radek Pelanek
![Page 2: Real Time Scheduling Basic Concepts - Masaryk Universityxpelanek/IA158/slides/concepts.pdf · Basic Parameters arrival time a ... nd a feasible schedule (with, without preemption)](https://reader031.vdocuments.site/reader031/viewer/2022030618/5ae4913c7f8b9a0d7d8f280c/html5/thumbnails/2.jpg)
Basic Elements
Model of RT System
abstraction
focus only on timing constraints
idealization (e.g., zero switching time)
![Page 3: Real Time Scheduling Basic Concepts - Masaryk Universityxpelanek/IA158/slides/concepts.pdf · Basic Parameters arrival time a ... nd a feasible schedule (with, without preemption)](https://reader031.vdocuments.site/reader031/viewer/2022030618/5ae4913c7f8b9a0d7d8f280c/html5/thumbnails/3.jpg)
Basic Elements
Basic Notions
task process, something that needs to bedone (sequentially)
job a) same as task, b) task is a series ofjobs (i.e., periodic task)
resource active (processor), passive (e.g., mutex,file, database lock)
schedule assignments of resources to tasks
scheduling algorithm creates schedule
![Page 4: Real Time Scheduling Basic Concepts - Masaryk Universityxpelanek/IA158/slides/concepts.pdf · Basic Parameters arrival time a ... nd a feasible schedule (with, without preemption)](https://reader031.vdocuments.site/reader031/viewer/2022030618/5ae4913c7f8b9a0d7d8f280c/html5/thumbnails/4.jpg)
Basic Elements
Basic Notions II
feasible schedule all tasks can be completed accordingto a set of specified constraints
schedulable set of tasks there exists at least one algorithmthat can produce feasible schedule
![Page 5: Real Time Scheduling Basic Concepts - Masaryk Universityxpelanek/IA158/slides/concepts.pdf · Basic Parameters arrival time a ... nd a feasible schedule (with, without preemption)](https://reader031.vdocuments.site/reader031/viewer/2022030618/5ae4913c7f8b9a0d7d8f280c/html5/thumbnails/5.jpg)
Basic Elements
Model of Execution
![Page 6: Real Time Scheduling Basic Concepts - Masaryk Universityxpelanek/IA158/slides/concepts.pdf · Basic Parameters arrival time a ... nd a feasible schedule (with, without preemption)](https://reader031.vdocuments.site/reader031/viewer/2022030618/5ae4913c7f8b9a0d7d8f280c/html5/thumbnails/6.jpg)
Basic Elements
Preemption
Preemption
temporarily interrupting a task (without requiring itscooperation), with the intention of resuming the task at alater time
Why preemption?
![Page 7: Real Time Scheduling Basic Concepts - Masaryk Universityxpelanek/IA158/slides/concepts.pdf · Basic Parameters arrival time a ... nd a feasible schedule (with, without preemption)](https://reader031.vdocuments.site/reader031/viewer/2022030618/5ae4913c7f8b9a0d7d8f280c/html5/thumbnails/7.jpg)
Basic Elements
Preemption
Reasons for preemption (examples):
different levels of criticality (e.g., brakes control vs. radiotuning)
more efficient schedules
![Page 8: Real Time Scheduling Basic Concepts - Masaryk Universityxpelanek/IA158/slides/concepts.pdf · Basic Parameters arrival time a ... nd a feasible schedule (with, without preemption)](https://reader031.vdocuments.site/reader031/viewer/2022030618/5ae4913c7f8b9a0d7d8f280c/html5/thumbnails/8.jpg)
Example
A Simple Case
set of tasks J = {J1, ..., Jn}1 processorno other resources
schedule: function σ : R+ → N
σ(t) = k , k > 0 means that the task Jk is active at time t
σ(t) = 0 means that the processor is idle
![Page 9: Real Time Scheduling Basic Concepts - Masaryk Universityxpelanek/IA158/slides/concepts.pdf · Basic Parameters arrival time a ... nd a feasible schedule (with, without preemption)](https://reader031.vdocuments.site/reader031/viewer/2022030618/5ae4913c7f8b9a0d7d8f280c/html5/thumbnails/9.jpg)
Example
Example of a Schedule
![Page 10: Real Time Scheduling Basic Concepts - Masaryk Universityxpelanek/IA158/slides/concepts.pdf · Basic Parameters arrival time a ... nd a feasible schedule (with, without preemption)](https://reader031.vdocuments.site/reader031/viewer/2022030618/5ae4913c7f8b9a0d7d8f280c/html5/thumbnails/10.jpg)
Example
Example of a Preemptive Schedule
![Page 11: Real Time Scheduling Basic Concepts - Masaryk Universityxpelanek/IA158/slides/concepts.pdf · Basic Parameters arrival time a ... nd a feasible schedule (with, without preemption)](https://reader031.vdocuments.site/reader031/viewer/2022030618/5ae4913c7f8b9a0d7d8f280c/html5/thumbnails/11.jpg)
Timing Parameters
Basic Parameters
arrival time ai time when a task becomes ready forexecutionalso denoted release time, request time: ri
computation time Ci time necessary for completion of a task
absolute deadline di time before which a task should becompleted
start time si time at which a task starts its execution
finishing time fi time at which a task finishes its execution
criticality typically hard/soft
![Page 12: Real Time Scheduling Basic Concepts - Masaryk Universityxpelanek/IA158/slides/concepts.pdf · Basic Parameters arrival time a ... nd a feasible schedule (with, without preemption)](https://reader031.vdocuments.site/reader031/viewer/2022030618/5ae4913c7f8b9a0d7d8f280c/html5/thumbnails/12.jpg)
Timing Parameters
Illustration of Timing Parameters
![Page 13: Real Time Scheduling Basic Concepts - Masaryk Universityxpelanek/IA158/slides/concepts.pdf · Basic Parameters arrival time a ... nd a feasible schedule (with, without preemption)](https://reader031.vdocuments.site/reader031/viewer/2022030618/5ae4913c7f8b9a0d7d8f280c/html5/thumbnails/13.jpg)
Timing Parameters
Derived Parameters
relative deadline Di = di − ai
response time Ri = fi − ai
lateness Li = fi − di delay of a task (can be negative)
tardiness (exceeding time) Ei = max(0, Li)
slack time (laxity) Xi = di − ai − C maximum time atask can be delayed on its activation tocomplete within deadline
![Page 14: Real Time Scheduling Basic Concepts - Masaryk Universityxpelanek/IA158/slides/concepts.pdf · Basic Parameters arrival time a ... nd a feasible schedule (with, without preemption)](https://reader031.vdocuments.site/reader031/viewer/2022030618/5ae4913c7f8b9a0d7d8f280c/html5/thumbnails/14.jpg)
Timing Parameters
Example
J1 J2 J3
ai 1 2 2Ci 2 2 3di 6 5 11
determine slack time of each job
find a feasible schedule (with, without preemption)
determine response time, lateness of each job (in yourschedule)
![Page 15: Real Time Scheduling Basic Concepts - Masaryk Universityxpelanek/IA158/slides/concepts.pdf · Basic Parameters arrival time a ... nd a feasible schedule (with, without preemption)](https://reader031.vdocuments.site/reader031/viewer/2022030618/5ae4913c7f8b9a0d7d8f280c/html5/thumbnails/15.jpg)
Timing Parameters
Periodicity
periodic infinite sequence of identical jobs, activated at aconstant rate; denoted τi
phase φi activation time of the first jobperiod T , activation time of the k-th job isφi + (k − 1) · Ti
aperiodic a single job, or a sequence without regularactivation, denoted Ji
sporadic: consecutive jobs separated byminimum inter-arrival time
![Page 16: Real Time Scheduling Basic Concepts - Masaryk Universityxpelanek/IA158/slides/concepts.pdf · Basic Parameters arrival time a ... nd a feasible schedule (with, without preemption)](https://reader031.vdocuments.site/reader031/viewer/2022030618/5ae4913c7f8b9a0d7d8f280c/html5/thumbnails/16.jpg)
Timing Parameters
Periodicity: Examples
![Page 17: Real Time Scheduling Basic Concepts - Masaryk Universityxpelanek/IA158/slides/concepts.pdf · Basic Parameters arrival time a ... nd a feasible schedule (with, without preemption)](https://reader031.vdocuments.site/reader031/viewer/2022030618/5ae4913c7f8b9a0d7d8f280c/html5/thumbnails/17.jpg)
Precedence Constraints
Precedence Relations
used to capturedependencies amongtasks
described by precedencegraph
Ja < Jb means Ja is apredecessor of Jb
Ja → Jb means Ja is animmediate predecessorof Jb
![Page 18: Real Time Scheduling Basic Concepts - Masaryk Universityxpelanek/IA158/slides/concepts.pdf · Basic Parameters arrival time a ... nd a feasible schedule (with, without preemption)](https://reader031.vdocuments.site/reader031/viewer/2022030618/5ae4913c7f8b9a0d7d8f280c/html5/thumbnails/18.jpg)
Resource Constraints
Resources
resource something needed to advance execution of atask
shared resource resource used by several tasks
mutually exclusive resource shared resource that can be usedby only one task at a time
critical section piece of code executed under mutual exclusionconstraint
![Page 19: Real Time Scheduling Basic Concepts - Masaryk Universityxpelanek/IA158/slides/concepts.pdf · Basic Parameters arrival time a ... nd a feasible schedule (with, without preemption)](https://reader031.vdocuments.site/reader031/viewer/2022030618/5ae4913c7f8b9a0d7d8f280c/html5/thumbnails/19.jpg)
Resource Constraints
Blocking on Shared Resources
![Page 20: Real Time Scheduling Basic Concepts - Masaryk Universityxpelanek/IA158/slides/concepts.pdf · Basic Parameters arrival time a ... nd a feasible schedule (with, without preemption)](https://reader031.vdocuments.site/reader031/viewer/2022030618/5ae4913c7f8b9a0d7d8f280c/html5/thumbnails/20.jpg)
Resource Constraints
Task Status
![Page 21: Real Time Scheduling Basic Concepts - Masaryk Universityxpelanek/IA158/slides/concepts.pdf · Basic Parameters arrival time a ... nd a feasible schedule (with, without preemption)](https://reader031.vdocuments.site/reader031/viewer/2022030618/5ae4913c7f8b9a0d7d8f280c/html5/thumbnails/21.jpg)
Definition
General Problem
Input
set of tasks J = {J1, ..., Jn}set of processors P = {P1, ...,Pm}set of resources R = {R1, ...,Rr}constraints: timing, precedence, ...
Output
Assignment of processor P and resources R to tasks from Jsuch that the given constraints are satisfied.
In general NP-complete.
![Page 22: Real Time Scheduling Basic Concepts - Masaryk Universityxpelanek/IA158/slides/concepts.pdf · Basic Parameters arrival time a ... nd a feasible schedule (with, without preemption)](https://reader031.vdocuments.site/reader031/viewer/2022030618/5ae4913c7f8b9a0d7d8f280c/html5/thumbnails/22.jpg)
Examples
Example 1
5 periodic tasks, relative deadline Di = period Ti , phase of alltasks is 0
A B C D ETi 2 2 2 8 8Ci 1 1 1 6 6
Is there a feasible schedule on three processors (withpreemption, without preemption).
![Page 23: Real Time Scheduling Basic Concepts - Masaryk Universityxpelanek/IA158/slides/concepts.pdf · Basic Parameters arrival time a ... nd a feasible schedule (with, without preemption)](https://reader031.vdocuments.site/reader031/viewer/2022030618/5ae4913c7f8b9a0d7d8f280c/html5/thumbnails/23.jpg)
Examples
Example 2
9 tasks, arrival time 0 , deadline 12, computation time:
A B C D E F G H JCi 3 2 2 2 4 4 4 4 9
precedence constraints: A→ J ; D → E ,F ,G ,H
Is there a feasible schedule on three processors (withoutpreemption)?
Assume that jobs have priorities pA > pB > . . . > pJ .What is the schedule based on priorities? Are alldeadlines met?
![Page 24: Real Time Scheduling Basic Concepts - Masaryk Universityxpelanek/IA158/slides/concepts.pdf · Basic Parameters arrival time a ... nd a feasible schedule (with, without preemption)](https://reader031.vdocuments.site/reader031/viewer/2022030618/5ae4913c7f8b9a0d7d8f280c/html5/thumbnails/24.jpg)
Examples
Example 2
9 tasks, arrival time 0 , deadline 12, computation time:
A B C D E F G H JCi 3 2 2 2 4 4 4 4 9
precedence constraints: A→ J ; D → E ,F ,G ,H
Is there a feasible schedule on three processors (withoutpreemption)?
Assume that jobs have priorities pA > pB > . . . > pJ .What is the schedule based on priorities? Are alldeadlines met?
![Page 25: Real Time Scheduling Basic Concepts - Masaryk Universityxpelanek/IA158/slides/concepts.pdf · Basic Parameters arrival time a ... nd a feasible schedule (with, without preemption)](https://reader031.vdocuments.site/reader031/viewer/2022030618/5ae4913c7f8b9a0d7d8f280c/html5/thumbnails/25.jpg)
Classification
Preemption
preemptive running task can be interrupted
non-preemptive task, once started, is executed by processoruntil completion
![Page 26: Real Time Scheduling Basic Concepts - Masaryk Universityxpelanek/IA158/slides/concepts.pdf · Basic Parameters arrival time a ... nd a feasible schedule (with, without preemption)](https://reader031.vdocuments.site/reader031/viewer/2022030618/5ae4913c7f8b9a0d7d8f280c/html5/thumbnails/26.jpg)
Classification
Static vs Dynamic
static scheduling decision based on fixed parameters,assigned before their activationtypical example: “highest priority” scheduling
dynamic scheduling decisions based on dynamic parametersthat may change during system evolutiontypical example: earliest deadline scheduling
![Page 27: Real Time Scheduling Basic Concepts - Masaryk Universityxpelanek/IA158/slides/concepts.pdf · Basic Parameters arrival time a ... nd a feasible schedule (with, without preemption)](https://reader031.vdocuments.site/reader031/viewer/2022030618/5ae4913c7f8b9a0d7d8f280c/html5/thumbnails/27.jpg)
Classification
Off line vs On line
off line the schedule is generated for the entire task set beforethe task activations (must be static)
on line scheduling decisions are taken at runtime every time anew task enters the system (may be static or dynamic)
![Page 28: Real Time Scheduling Basic Concepts - Masaryk Universityxpelanek/IA158/slides/concepts.pdf · Basic Parameters arrival time a ... nd a feasible schedule (with, without preemption)](https://reader031.vdocuments.site/reader031/viewer/2022030618/5ae4913c7f8b9a0d7d8f280c/html5/thumbnails/28.jpg)
Classification
Optimal vs Heuristic
optimal algorithm minimizes a given cost function; if no costfunction is given then it always finds a feasibleschedule if there exists one
heuristic algorithm tries to find feasible schedule; noguarantees of optimality
![Page 29: Real Time Scheduling Basic Concepts - Masaryk Universityxpelanek/IA158/slides/concepts.pdf · Basic Parameters arrival time a ... nd a feasible schedule (with, without preemption)](https://reader031.vdocuments.site/reader031/viewer/2022030618/5ae4913c7f8b9a0d7d8f280c/html5/thumbnails/29.jpg)
Performance Evaluation
Cost Functions for Tasks
![Page 30: Real Time Scheduling Basic Concepts - Masaryk Universityxpelanek/IA158/slides/concepts.pdf · Basic Parameters arrival time a ... nd a feasible schedule (with, without preemption)](https://reader031.vdocuments.site/reader031/viewer/2022030618/5ae4913c7f8b9a0d7d8f280c/html5/thumbnails/30.jpg)
Performance Evaluation
Cost Functions for Schedule
average response time1
nΣn
i=1(fi − ai)
total completion timemax i(fi)−mini(ai)
maximum latenessmax i(fi − di)
number of late tasks
![Page 31: Real Time Scheduling Basic Concepts - Masaryk Universityxpelanek/IA158/slides/concepts.pdf · Basic Parameters arrival time a ... nd a feasible schedule (with, without preemption)](https://reader031.vdocuments.site/reader031/viewer/2022030618/5ae4913c7f8b9a0d7d8f280c/html5/thumbnails/31.jpg)
Performance Evaluation
Example: Different Cost Functions
All jobs have arrival time 0.
J1 J2 J3 J4 J5
Ci 6 4 4 3 9di 3 8 13 16 24
Find a schedule which:
1 minimizes the number of late tasks
2 minimizes the maximum lateness
![Page 32: Real Time Scheduling Basic Concepts - Masaryk Universityxpelanek/IA158/slides/concepts.pdf · Basic Parameters arrival time a ... nd a feasible schedule (with, without preemption)](https://reader031.vdocuments.site/reader031/viewer/2022030618/5ae4913c7f8b9a0d7d8f280c/html5/thumbnails/32.jpg)
Performance Evaluation
Example: Different Cost Functions
![Page 33: Real Time Scheduling Basic Concepts - Masaryk Universityxpelanek/IA158/slides/concepts.pdf · Basic Parameters arrival time a ... nd a feasible schedule (with, without preemption)](https://reader031.vdocuments.site/reader031/viewer/2022030618/5ae4913c7f8b9a0d7d8f280c/html5/thumbnails/33.jpg)
Performance Evaluation
Outlook
we will study algorithms for specific scheduling problems
given: type of tasks, type of schedule, cost function
find: scheduling algorithm