examples of periodic tasks

56
Examples of periodic tasks Audio sampling in hardware Audio sample processing Video capture and processing Feedback control (sensing and processing) Navigation Temperature and speed monitoring

Upload: lucien

Post on 14-Jan-2016

56 views

Category:

Documents


0 download

DESCRIPTION

Examples of periodic tasks. Audio sampling in hardware Audio sample processing Video capture and processing Feedback control (sensing and processing) Navigation Temperature and speed monitoring. Scheduling periodic tasks. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Examples of periodic tasks

Examples of periodic tasks

Audio sampling in hardware Audio sample processing Video capture and processing Feedback control (sensing and

processing) Navigation Temperature and speed monitoring

Page 2: Examples of periodic tasks

Scheduling periodic tasks

• Preemptive scheduling is an effective approach for scheduling real-time DSP systems– modularity simplifies the overall design

• Application can be viewed as a collection of independent tasks or jobs– complexity is reduced as the functionality

becomes encapsulated into a set of well defined tasks

Page 3: Examples of periodic tasks

Scheduling periodic tasks

• Systems designed using preemptive scheduling are also more maintainable– issue of changes to one task in the

system affecting other jobs in the system is removed

– New functionality can easily be added by adding a new task

Page 4: Examples of periodic tasks

Scheduling periodic tasks

• Preemptive scheduling approach also makes the system more efficient– preemptive scheduling is more efficient

at utilizing time slots that may not be fully utilized

• Scheduling algorithms– rate monotonic scheduling– deadline monotonic scheduling

Page 5: Examples of periodic tasks

cost of handling event C = 4

periodic arrivals. period T = 10

---- 10 ----

4 4 4

System Utilization = C/T = .40

Periodic Arrivals with Fixed Cost of Processing

System will be able to meet all deadlines. It can finish processing arrivals before the next arrival occurs.

Page 6: Examples of periodic tasks

1. periodic arrival, period T = 10 and C=4

2. periodic arrival, T=10 and C=3 ??

---- 10 ----

4 4 4

Can a second periodic event be accommodated?

Page 7: Examples of periodic tasks

1. periodic arrival, period T = 10 and C=4

2. periodic arrival, T=10 and C=3 ??

---- 10 ----

4 4 4

System Utilization C/T = .70

Can a second periodic event be accommodated?

Page 8: Examples of periodic tasks

1. periodic arrival, period T = 10 and C=4

2. periodic arrival, T=6 and C=3 ??

---- 10 ----

4 4 4

How about 2nd periodic event with T=6 and C=3?

Page 9: Examples of periodic tasks

1. periodic arrival, period T = 10 and C=4

2. periodic arrival, T=6 and C=3 ??

---- 10 ----

4 4 4

System Utilization C/T = .90

How about 2nd periodic event with T=6 and C=3?

Page 10: Examples of periodic tasks

---- 10 ----

4 4 4

--6--

If we process Event #1 before Event #2 then,

2nd event processing will not complete before the next comparable event occurs

Can’t Meet Deadline!

Event #1

Event #2

Task #1

Task #2

Page 11: Examples of periodic tasks

---- 10 ----

4

--6--

Event #1

Event #2

Try Event #2 before Event #1-

We still cannot complete task 1 before the next task 2 event occurs at t=6

unless...

Task #1

Task #2

Page 12: Examples of periodic tasks

---- 10 ----

4

--6--

Event #1

Event #2

Try Event #2 before Event #1-

We still cannot complete task 1 before the next task 2 event occurs at t=6

unless…we Interrupt task 1

Task #1

Task #2

Page 13: Examples of periodic tasks

---- 10 ----

4

--6--

Event #1

Event #2

Try Event #2 before Event #1-

We still cannot complete task 1 before the next task 2 event occurs at t=6

unless…we Interrupt task 1

Giving event #2 priority means that we can meet our deadline IF we preempt the processing of event #1 when event #2 occurs

Task #1

Task #2

Page 14: Examples of periodic tasks

Rate Monotonic Analysis

Page 15: Examples of periodic tasks

Rate Monotonic Analysis

• Assume a set of “n” periodic tasks– period Ti– worst case execution time Ci

• Rate-monotonic priority assignment– task with a shorter period (higher rate)

assigned a fixed higher priority

Page 16: Examples of periodic tasks

Rate Monotonic Analysis

• Rate Monotonic scheduling addresses how to determine whether a group of tasks, whose individual CPU utilization is known, will meet their deadlines– assumes a priority preemption

scheduling algorithm– assumes independent tasks (no

communication or synchronization)

Page 17: Examples of periodic tasks

Rate Monotonic Analysis

– restriction of no communication or synchronization may appear to be unrealistic, but there are techniques for dealing with this

– Each task is a periodic task which has a period T, which is the frequency with which it executes

Page 18: Examples of periodic tasks

Rate Monotonic Analysis

An execution time C, which is the CPU time required during the period

A utilization U, which is the ratio C/T• A task is schedulable if all its deadlines

are met (i.e., the task completes its execution before its period elapses.)– A group of tasks is considered to be

schedulable if each task can meet its deadlines

Page 19: Examples of periodic tasks

Rate Monotonic Analysis

• RMA is a mathematical solution to the scheduling problem for periodic tasks with known cost– assumption is that the total utilization

must always be less than or equal to 100%

• Any more and you are exceeding the capacity of the CPU

• Are you asking for more computing power than you have? IF so, forget it!

Page 20: Examples of periodic tasks

Rate Monotonic Analysis

• For a set of independent periodic tasks, the rate monotonic algorithm assigns each task a fixed priority based on its period, such that the shorter the period of a task, the higher the priority

Page 21: Examples of periodic tasks

Rate Monotonic Analysis• For three tasks T1, T2, and T3 with periods

of 5, 15 and 40 msec respectively the highest priority is given to the task, T1, as it has the shortest period, the medium priority to task T2, and the lowest priority to task T3– priority assignment is independent of the

applications “priority” i.e. how important meeting this deadline is to the functioning of the system or user concerns

Page 22: Examples of periodic tasks

Rate Monotonic Analysis• A mathematical solution to the scheduling

problem for Periodic Tasks with known Cost

• Tasks will have:– Cost (Time to complete a task)– Period (Time between events)– Utilization ( Cost/Period)

• Assumption– Total Utilization must always be <= 100%

Page 23: Examples of periodic tasks

3 levels of analysis using RMA

• Utilization bound test

• Completion time test

• Response time test

Page 24: Examples of periodic tasks

Utilization bound test

• If this simple rule is followed, then all tasks are guaranteed to meet their requirements if the following holds true;

)()12(/..../ /111 nUnTCTC n

nn where and are the execution time andperiod of task , respectively.

iCiT

it

Page 25: Examples of periodic tasks

Utilization bound test

• In this rule, the bound is 1.0 for harmonic task sets

• A task set is said to be harmonic if the periods of all its tasks are either integral multiples or sub-multiples of one another– On the average, for random Cs and Ts,

this number will be about 0.88.

Page 26: Examples of periodic tasks

Utilization bound test

• Theory is a worst case approximation

• For a randomly chosen group of tasks, it has been shown that the likely upper bound is 88%– Harmonic periods can give even higher

upper bounds– The algorithm is stable in conditions

where there is a transient overload

Page 27: Examples of periodic tasks

Utilization bound test

• In this case, there is a subset of the total number of tasks, namely those with the highest priorities that will still meet their deadlines

Page 28: Examples of periodic tasks

Example of UB test

Task t1: C1=20; T1= 100; U1 = .2 Task t2: C2=30; T2= 150; U2 = .2 Task t3: C3=60; T3= 200; U3 = .3

– The total utilization for this task set is .2 + .2 + .3 = .7. Since this is less than the 0.779 utilization bound for this task set, all deadlines will be met.

Page 29: Examples of periodic tasks

ExampleCan these 4 tasks be

scheduled?

– Can the system run and meet all hard deadlines?

Task Ci Ti Ui

1 3 10 .302 3 12 .253 4 16 .254 7 20 .35

Page 30: Examples of periodic tasks

ExampleExampleCan these 4 tasks be Can these 4 tasks be

scheduled?scheduled?

– Can the system run and meet all hard deadlines?

– NO! The Total Utilization = 115%

Task Ci Ti Ui

1 3 10 .302 3 12 .253 4 16 .254 7 20 .35

Page 31: Examples of periodic tasks

Example

Can these tasks always meet their deadlines?Total Utilization = 80%It MAY be possible - Rate Monotonic Scheduling applies!

Task Ci Ti Ui

1 6 20 .302 4 16 .253 3 12 .25

Page 32: Examples of periodic tasks

Rate Monotonic Theorem• For PERIODIC Tasks• Most frequent task gets highest

priority• THEOREM (Simple Version)

– IF the utilization of all tasks is less than or equal to 69%, then all tasks will ALWAYS meet their deadlines

Page 33: Examples of periodic tasks

Are These Tasks Schedulable?

Task Ci Ti Ui

1 2 20 .102 4 16 .253 3 12 .254 1 20 .05

Page 34: Examples of periodic tasks

Are These Tasks Are These Tasks Schedulable?Schedulable?

Task Ci Ti Ui

1 2 20 .102 4 16 .253 3 12 .254 1 20 .05

Yes. Total CPU Utilization is 65% < 69%

Page 35: Examples of periodic tasks

Are These Tasks Are These Tasks Schedulable?Schedulable?

Task Ci Ti Ui

1 2 20 .102 4 16 .253 3 12 .254 3 20 .15

Page 36: Examples of periodic tasks

Are These Tasks Are These Tasks Schedulable?Schedulable?

Task Ci Ti Ui

1 2 20 .102 4 16 .253 3 12 .254 1 20 .05

Total CPU Utilization is 65%

???

Page 37: Examples of periodic tasks

Exercise

• Using Rate Monotonic Scheduling, determine if the following task set is schedulable

Task Execution time Period 1 1 10 2 4 16 3 3 12 4 1 20

Page 38: Examples of periodic tasks

More on Rate Monotonic Analysis

Page 39: Examples of periodic tasks

Rate Monotonic TheoremRate Monotonic Theorem For PERIODIC Tasks Most frequent task gets highest

priority RMS THEOREM (Mathematical

Version) n periodic tasks scheduled by the rate

monotonic algorithm will always meet their deadlines if the total utilization of all tasks is less than

n (21/n - 1) this converges to ln2 = 69% for large n

Page 40: Examples of periodic tasks

Tasks Utilizationn n(2^(1/n) -1)1 12 0.828427123 0.779763154 0.756828465 0.743491776 0.734772297 0.72862668 0.724061869 0.7205376510 0.7177346311 0.7154519812 0.71355713

converges toward 69%

In a Nutshell:

The more tasks you try and schedule, the more slack time you must be willing to tolerate to mathematically guarantee schedulability

Page 41: Examples of periodic tasks

Priority Inversion

Taskh

Taskmed

Tasklow

Normalexecution

Execution incritical section

Priorityinversion

Page 42: Examples of periodic tasks

Unbounded Priority InversionUnbounded Priority Inversion

Taskh

Taskmed

Tasklow

Normalexecution

Execution incritical section

Priorityinversion

Taskmed

Uncontrolled priority inversion

Page 43: Examples of periodic tasks

Priority Inheritance Protocol

Taskh

Taskmed

Tasklow

Normalexecution

Execution incritical section

Priorityinversion

Execution incritical section athigher priority

Page 44: Examples of periodic tasks

What Happened on Mars ?

Page 45: Examples of periodic tasks

What happened on Mars ?

• Mars pathfinder “flawless” in early days of mission– unconventional landing with airbags– deployment of Sojourner rover– gathering and transmitting data back to earth

• A few days into the mission the Pathfinder began experiencing total system resets, each including losses of data

Page 46: Examples of periodic tasks

What happened on Mars ?

• Press reported these as “software glitches”

• VxWorks RTOS provides preemptive priority scheduling of tasks– tasks executed as threads– priorities assigned reflecting relative

urgency of the tasks

Page 47: Examples of periodic tasks

What happened on Mars ?What happened on Mars ?

busmanagementtask

information bus

mutex

meteorologicaldatagatheringtask

communicationtask

high priority -frequent execution

low priority -infrequent execution

medium priority

Page 48: Examples of periodic tasks

• Combination worked fine most of the time• Possible for interrupt to occur that caused

the long running medium priority task to be scheduled during the short interval while the high priority task was blocked waiting on the semaphore that the low priority task had.

What happened on Mars ?What happened on Mars ?

Page 49: Examples of periodic tasks

• Watchdog timer would go off, notice data bus task not in use for some time, conclude that something bad went wrong, and initiate a total system reset

• Classic case of priority inversion Classic case of priority inversion

What happened on Mars ?What happened on Mars ?

Page 50: Examples of periodic tasks

How was this debugged ?

• VxWorks can run in trace mode, recording interesting events.

• JPL engineers spent hours in lab trying to reproduce the problem on the ground.

• When finally reproduced, the trace data indicated the priority inversion problem

Page 51: Examples of periodic tasks

How was this problem corrected?

• Mutex object accepts boolean parameter indicating whether priority inheritance should be used

• Initialized with parameter off– if on, the low-pri thread would have

inherited the pri of the high-pri thread– medium pri thread would never have

been executed

Page 52: Examples of periodic tasks

How was this problem corrected?

• VxWorks has a C language interpreter that allows C commands to be executed on the fly

• JPL engineers left this in the software• Changed global variables by uploading a

short program to the spacecraft• No more system resets occurred after re-

programming!

Page 53: Examples of periodic tasks

Analysis and Lessons

• Diagnosing this problem as a black box would have been impossible– trace data was required

• Leaving debugging facilities in the system saved the day

• Time critical situations requires additional correctness measures even at the expense of some performance

Page 54: Examples of periodic tasks

Human nature, Deadline Pressures

• One or two system resets had occurred on the ground prior to launch

• Never reproducable or explainable• “it was probably caused by a hardware

glitch”• Engineer focus caused part of the problem

– extremely focused on ensuring quality and flawless operation of landing software

– the occasional glitch was dismissed

Page 55: Examples of periodic tasks

Importance of good Theory/Algorithms

• Some of the heros were people from CMU who published a paper years ago on the priority inversion problem– “An Approach to Real-Time

Synchronization” IEEE Transaction on Computers, Vol39, pp1175-1185, September 1990

Page 56: Examples of periodic tasks

End of session