Top Banner
Real Time Operating Systems Scheduling & Schedulers Course originally developed by Maj Ron Smith Jun 19, 2022 Dr. Alain Beaulieu Scheduling & Schedulers- 7
28

04 Scheduling and Schedulers

May 13, 2017

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 04 Scheduling and Schedulers

Real Time Operating Systems

Scheduling & Schedulers

Course originally developed by

Maj Ron Smith

May 3, 2023Dr. Alain Beaulieu Scheduling & Schedulers- 7

Page 2: 04 Scheduling and Schedulers

Real Time Operating Systems

Subtitled …Specifying Timing

ConstraintsModeling Timing Constraints and

Resources

May 3, 2023Dr. Alain Beaulieu Scheduling & Schedulers- 7

Page 3: 04 Scheduling and Schedulers

May 3, 2023

Outline

Scheduling & Resource Management Approaches to Scheduling (RTS)

Clock-Driven Scheduling Round-Robin Scheduling Priority Scheduling Static versus Dynamic Systems & Scheduling

Periodic task Model RTOS Schedulers

Dr. Alain Beaulieu Scheduling & Schedulers- 7

Page 4: 04 Scheduling and Schedulers

May 3, 2023

Scheduling and Resource Management

Scheduling algorithms - Policy the rules under which jobs are assigned to

processors are defined by the system scheduling algorithm

Resource management (access-control) the allocation and coordination of the system

(passive) resources to jobs is defined by the resource access-control protocols

The scheduler - Mechanism the module which implements these

algorithms and protocols

Dr. Alain Beaulieu Scheduling & Schedulers- 7

Page 5: 04 Scheduling and Schedulers

May 3, 2023

Scheduling and Resource Management Schedules

a schedule is the assignment by the scheduler of all jobs in the system to the available processors

we assume that the scheduler is correct in that -> It only produces valid schedules

1. at any time one processor is assigned at most one job2. at any time each job is assigned at most one

processor*3. no job is scheduled before its release time4. the total amount of processor time allocated is equal to each

job’s maximum execution time (or actual)**5. all precedence and resource constraints are met

* implies no parallel processing at job level ** depends on algorithmDr. Alain Beaulieu Scheduling & Schedulers- 7

Page 6: 04 Scheduling and Schedulers

May 3, 2023

Scheduling and Resource Management Feasible schedules

a feasible schedule is one in which all jobs meet their timing constraints (usually deadlines)

to say that a set of jobs is schedulable by an algorithm implies that scheduling under this algorithm always produces a feasible schedule

Optimal algorithms finding feasible schedules is not always easy an algorithm which always produces a feasible

schedule, if one exists, is said to be optimalWhat does this say about a set of jobs which cannot be scheduled by an optimal algorithm?

Dr. Alain Beaulieu Scheduling & Schedulers- 7

Page 7: 04 Scheduling and Schedulers

May 3, 2023

Scheduling and Resource Management

Hierarchical scheduling rarely is there ever just one scheduler in a

RTS, and frequently these multiple schedulers exist within some type of hierarchical structure

may have schedulers of logical / physical devices which exist separate from the application scheduler monitors, database servers, disk drives ...

may have jobs scheduled by the application scheduler which are themselves schedulers message handlers

Example - a queued aperiodic pollerDr. Alain Beaulieu Scheduling & Schedulers- 7

Page 8: 04 Scheduling and Schedulers

May 3, 2023

Approaches to Scheduling There are generally three broad classes,

or approaches to processor scheduling: Clock-driven scheduling Round-robin scheduling Priority scheduling

One can also classify scheduling schemes according to: Off-line versus On-line scheduling Static versus Dynamic scheduling

Dr. Alain Beaulieu Scheduling & Schedulers- 7

Page 9: 04 Scheduling and Schedulers

May 3, 2023

Clock-Driven Scheduling At pre-specified time instants, a job or

sequence of jobs are scheduled onto the processor(s) job/task scheduling is designed off-line all system job parameters are known a priori

and are fixed scheduling overhead is minimal may be implemented using a hardware timer

mechanism illustrate by way of example on the board

Dr. Alain Beaulieu Scheduling & Schedulers- 7

Page 10: 04 Scheduling and Schedulers

May 3, 2023

Timer-Driven Scheduling

Observe the schedule below for this system:

{T1= (4,1) , T2= (5,1.5), T3 = (20,1) , T4 = (20,2)}

0 4 6 8 10 122 14 16 18 20 22 24

...hyperperiod, H = 20

slack time (space for asynchronous jobs)

T1 T1 T1 T1 T1T2 T2 T2 T2T3 T4

How do we choose this design? How do we implement this design?

T1

Dr. Alain Beaulieu Scheduling & Schedulers- 7

Page 11: 04 Scheduling and Schedulers

May 3, 2023

Timer-Driven Scheduling

Rather than making scheduling decisions at arbitrary times, limit decision making to specific points in the hyperperiod, at frame boundaries

0 4 6 8 10 122 14 16 18 20 22 24

...hyperperiod, H = 20

frame size, f = 4

T1 T1 T1 T1 T1T2 T2 T2 T2T3 T4

scheduling decision points

major cycle

No preemption within framesminor cycle on T1

Dr. Alain Beaulieu Scheduling & Schedulers- 7

Page 12: 04 Scheduling and Schedulers

May 3, 2023

Round-Robin Scheduling In straight round robin scheduling,

ready jobs are inserted in a FIFO queue and when they reach the front of the queue they are given an equal slice of processor time

jobs are preempted at the end of their slice regardless of completion status

therefore in an n job system, each job gets 1/n th of the processor

typically processor time slices are quite short with respect to execution times

Dr. Alain Beaulieu Scheduling & Schedulers- 7

Page 13: 04 Scheduling and Schedulers

May 3, 2023

Weighted Round-Robin Scheduling In weighted round robin scheduling,

each job gets wt slices of the processor time depending upon the weight of the job

therefore in an n job system, job Ji gets wti/(wt) of the processing time

Example: Job Wt e % CPUJ1 2 3 ___J2 5 7 ___J3 2 4 ___J4 1 3 ___

What would 1 round of time slice scheduling look like?

Dr. Alain Beaulieu Scheduling & Schedulers- 7

Page 14: 04 Scheduling and Schedulers

May 3, 2023

Priority-Driven Scheduling In a priority-driven system, ready jobs are

assigned to processors according to their relative priorities also called greedy scheduling or list scheduling priorities may be static or dynamic jobs may be preemptable or nonpreemptable

in general preemptive scheduling feels intuitively better than nonpreemptive

but there are exceptions

Most commonly supported approach in RTOS

Dr. Alain Beaulieu Scheduling & Schedulers- 7

Page 15: 04 Scheduling and Schedulers

May 3, 2023

Dynamic versus Static Systems

A dynamic system has a common job priority queue such that when a processor becomes available the next ready job is executed; a static system configures jobs statically on a predefined processor

Intuition says that a dynamic system will have better performance than a static one again there are exceptions

Within a dynamic system jobs may be able to migrate or not jobs which can not migrate start on the first

available processor, and must finish there Dr. Alain Beaulieu Scheduling & Schedulers- 7

Page 16: 04 Scheduling and Schedulers

May 3, 2023

Dynamic versus Static Priority Scheduling

A dynamic priority scheduling algorithm allows for task / job priorities to change at run-time

With static priority scheduling the tasks / jobs have a fixed (generally) a priori priority assignment do not confuse this with dynamic & static systems

We will only study fixed (static) priority scheduling algorithms

Dr. Alain Beaulieu Scheduling & Schedulers- 7

Page 17: 04 Scheduling and Schedulers

May 3, 2023

Validating the Timing Constraints of a System

Step 1 – specification correctness Check for consistency/correctness of constraints

Step 2 – task feasibility Validate that each task can meet its constraints

if it were to execute standalone on the processor

Step 3 – system validation* Validate that all tasks together under the given

scheduling & resource management strategy meet their respective constraints* The difficult part!

Dr. Alain Beaulieu Scheduling & Schedulers- 7

Page 18: 04 Scheduling and Schedulers

May 3, 2023

The Periodic Task Model

The periodic task model is a classical workload model of real-time systems; one which we will study further in this course the underlying assumption is that each regular

or semi-regular function of the system be modeled as a periodic task

each periodic task (Ti) is defined by its period (pi) and its worst-case execution time (ei)

a task’s period is defined as the minimum length of all time intervals between release times of consecutive jobs

Dr. Alain Beaulieu Scheduling & Schedulers- 7

Page 19: 04 Scheduling and Schedulers

May 3, 2023

The Periodic Task Model

The accuracy of the model is dictated by how closely it resembles the system under study it is quite accurate when the release time jitter

is small (best when all tasks are truly periodic) and when the execution times of tasks are well known and have small deviations

conversely the accuracy of the model degrades if the release time jitters are high and/or the execution times have high variance

Dr. Alain Beaulieu Scheduling & Schedulers- 7

Page 20: 04 Scheduling and Schedulers

May 3, 2023

The Periodic Task Model

k jobs in a task Ti -> Ji,1 , Ji,2 , … Ji,k (k is usually infinite)

release time ri,1 of Ji,1 defines the phase of Ti given J1,1 of (2,7]; {read this as r1,1=2, d1,1=7}

the phase of T1, 1 = 2 the hyperperiod (H) of a set of periodic tasks is

defined by their least common multiple given tasks with periods of 3, 8 & 12 H = 24 and the maximum # of jobs N = 8 +3 +2 = 13

the amount of time a task keeps the processor busy is known as utilization ui = ei / pi

Dr. Alain Beaulieu Scheduling & Schedulers- 7

Page 21: 04 Scheduling and Schedulers

May 3, 2023

The Periodic Task Model

Often we assume that within each task a job releases at the beginning of the period and that it need only complete by the end of the period -> default deadline is equal to the period (Di = pi )

More generally, Di can be any value we can model job precedence in terms of release

times and deadlines example: r1,1= 0, d1,1= 3, r1,2= 3, d1,2= 7 -> J1,1 <

J1,2 How can we use deadline to minimize response jitter?

Dr. Alain Beaulieu Scheduling & Schedulers- 7

Page 22: 04 Scheduling and Schedulers

May 3, 2023

Release vs Response Time Jitter Let’s examine the difference between

release time jitter and response time jitter of a real-time system modeled under the periodic task model.

See Labrosse handout

Dr. Alain Beaulieu Scheduling & Schedulers- 7

Page 23: 04 Scheduling and Schedulers

May 3, 2023

Execution Jitter – case 1

Dr. Alain Beaulieu Scheduling & Schedulers- 7

Page 24: 04 Scheduling and Schedulers

May 3, 2023

Execution Jitter - case 2

Dr. Alain Beaulieu Scheduling & Schedulers- 7

Page 25: 04 Scheduling and Schedulers

May 3, 2023

Execution Jitter - case 3

Dr. Alain Beaulieu Scheduling & Schedulers- 7

Page 26: 04 Scheduling and Schedulers

May 3, 2023

The Periodic Task Model

Aperiodic and sporadic tasks model events which arrive (release) unpredictably the inter-arrival times of these tasks are identically

distributed random variables the execution times of these tasks are also i.d. random

variables Aperiodic tasks have jobs with soft or no

deadlines example: Automobile Collision Avoidance System –

update situational awareness display Sporadic tasks have jobs with hard deadlines

example: ACAS – disengage auto-steering

Dr. Alain Beaulieu Scheduling & Schedulers- 7

Page 27: 04 Scheduling and Schedulers

May 3, 2023

Question What about system overhead times such

as context switching?

Dr. Alain Beaulieu Scheduling & Schedulers- 7

Page 28: 04 Scheduling and Schedulers

May 3, 2023

References[1] Liu, J.W.S., “Real-Time Systems”, Prentice-

Hall, 2000.[2] Labrosse, J.J., “MicroC/OS-II” 1st and 2nd

Editions (1999, 2002)

Dr. Alain Beaulieu Scheduling & Schedulers- 7