Post on 02-Jan-2016
description
transcript
Scheduling
Basic Concepts
Ref: Hard Real-Time Computing SystemsGiorgio Buttazzo
Ref: Real-Time Systems & Software Alan Shaw
Processes - Tasks - Threads
Real-Time Systems
Periodic and Aperiodic
Hard & Soft Deadlines
Scheduling of Tasks – Static & Dynamic
Sharing of Resources and Critical Sections
Domino Effect
Best Effort Scheduling Algorithms
Example Cost FunctionsWhat is a “good” system?
Metrics for Performance EvaluationWhat is a “good” system?
Attempting to Minimize Lateness
Scheduling Anomalies
Precedence Example
Adding a processor
Reducing Computation Times ?
Weaken Constraints
Resource Constraints
Successive events are separated by at least p
The Sporadic process
Shaw’s notation:
Cyclic Executives for Scheduling Periodic Tasks:
Broken into blocks:
Major Cycles (MCT) – shortest period where all task periods align
all tasks execute in a major cycle
Minor Cycles (mct) – “frames” used to allocate tasks or portions of tasks
Example: Say you have two tasks:
T1 = (c1, p1, d1) = (1, 2, 2)
T2 = (c2, p2, d2) = (1, 3, 3)
|xxxxxx______|xxxxxx______|xxxxxx______|……..
|______xxxxxx______|xxxxxx____________|……
0 1 2 3 4 5 6
MCT = 6
mct = 2 (or 1)
Allocations are: {T1,T2} {T1,T2} {T1}, repeat
Can this be scheduled?
What is MCT?
What is mct?
What is a schedule?
Ada-like implementation of this scheduling.
Clock returns the current time
Delay_until x causes the task to block until at least time x
Some principles about periodic scheduling:
We assume all processes are released at time t0. Why?
The MCT is the least common multiple (lcm) of the periods. Why?
The mct must divide the MCT. Why?
The mct must be >= the longest computation block. Why?
mct <= di for all I = 1,…, n
mct + (mct - gcd(mct, pi)) <= di
Home work #1: (Lecture 4/03)
From Buttazzo:
From Shaw:
Exercises 2.2: 1, 2, 3, 5, 6