Transcript
Page 1: Best Effort Scheduling Algorithms

Scheduling

Basic Concepts

Ref: Hard Real-Time Computing SystemsGiorgio Buttazzo

Ref: Real-Time Systems & Software Alan Shaw

Processes - Tasks - Threads

Page 2: Best Effort Scheduling Algorithms

Real-Time Systems

Periodic and Aperiodic

Hard & Soft Deadlines

Scheduling of Tasks – Static & Dynamic

Sharing of Resources and Critical Sections

Domino Effect

Page 3: Best Effort Scheduling Algorithms

Best Effort Scheduling Algorithms

Page 4: Best Effort Scheduling Algorithms

Example Cost FunctionsWhat is a “good” system?

Page 5: Best Effort Scheduling Algorithms

Metrics for Performance EvaluationWhat is a “good” system?

Page 6: Best Effort Scheduling Algorithms

Attempting to Minimize Lateness

Page 7: Best Effort Scheduling Algorithms

Scheduling Anomalies

Page 8: Best Effort Scheduling Algorithms

Precedence Example

Page 9: Best Effort Scheduling Algorithms

Adding a processor

Page 10: Best Effort Scheduling Algorithms

Reducing Computation Times ?

Page 11: Best Effort Scheduling Algorithms

Weaken Constraints

Page 12: Best Effort Scheduling Algorithms

Resource Constraints

Page 13: Best Effort Scheduling Algorithms

Successive events are separated by at least p

The Sporadic process

Shaw’s notation:

Page 14: Best Effort Scheduling Algorithms

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

Page 15: Best Effort Scheduling Algorithms

Can this be scheduled?

What is MCT?

What is mct?

What is a schedule?

Page 16: Best Effort Scheduling Algorithms
Page 17: Best Effort Scheduling Algorithms

Ada-like implementation of this scheduling.

Clock returns the current time

Delay_until x causes the task to block until at least time x

Page 18: Best Effort Scheduling Algorithms

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

Page 19: Best Effort Scheduling Algorithms

Home work #1: (Lecture 4/03)

From Buttazzo:

From Shaw:

Exercises 2.2: 1, 2, 3, 5, 6


Top Related