a presentation for brian evans’ embedded software class by nate forman liaison technology inc....

22
A presentation for Brian Evans’ Embedded Software Class By Nate Forman Liaison Technology Inc. 3/30/2000 For Real-Time Scheduling

Upload: rosanna-jenkins

Post on 19-Jan-2016

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A presentation for Brian Evans’ Embedded Software Class By Nate Forman Liaison Technology Inc. 3/30/2000 For Real-Time Scheduling

A presentation for Brian Evans’ Embedded Software Class

By Nate FormanLiaison Technology Inc. 3/30/2000For Real-Time Scheduling

Page 2: A presentation for Brian Evans’ Embedded Software Class By Nate Forman Liaison Technology Inc. 3/30/2000 For Real-Time Scheduling

3/2000 Rate Monotonic Analysis, Nate Forman

Agenda

• Introduction

• Anatomy of a Task

• Rate Monotonic Principles and Tests

• Extended Rate Monotonic Analysis

• Demonstration

• Mars Pathfinder Mission

Page 3: A presentation for Brian Evans’ Embedded Software Class By Nate Forman Liaison Technology Inc. 3/30/2000 For Real-Time Scheduling

3/2000 Rate Monotonic Analysis, Nate Forman

Introduction

• Rate Monotonic refers to assigning priorities as a monotonic

function of the rate (frequency of occurrence) of those

processes.

• Rate Monotonic Scheduling (RMS) can be accomplished

based upon rate monotonic principles.

• Rate Monotonic Analysis (RMA) can be performed statically

on any hard real-time system concept to decide if the system

is schedulable.

Page 4: A presentation for Brian Evans’ Embedded Software Class By Nate Forman Liaison Technology Inc. 3/30/2000 For Real-Time Scheduling

3/2000 Rate Monotonic Analysis, Nate Forman

Anatomy of a Task

1

2

3

time

Task Execution Time (C) End Of Period (T = Period Length)

Page 5: A presentation for Brian Evans’ Embedded Software Class By Nate Forman Liaison Technology Inc. 3/30/2000 For Real-Time Scheduling

3/2000 Rate Monotonic Analysis, Nate Forman

Rate Monotonic Assumptions

• All tasks are periodic

• Task switching is instantaneous

• Tasks account for all processor execution time

• Tasks become ready to execute precisely at the

beginning of their periods and relinquish the CPU only

when execution is complete

Page 6: A presentation for Brian Evans’ Embedded Software Class By Nate Forman Liaison Technology Inc. 3/30/2000 For Real-Time Scheduling

3/2000 Rate Monotonic Analysis, Nate Forman

Rate Monotonic Assumptions (2)

• Task interactions are not allowed

• Task deadlines are always at the end of the period

• Tasks with shorter periods are assigned higher priorities;

no other criteria are considered for priority assignment

• Task execution is always consistent with rate monotonic

priority: a lower priority task never executes when a

higher priority task is ready

Page 7: A presentation for Brian Evans’ Embedded Software Class By Nate Forman Liaison Technology Inc. 3/30/2000 For Real-Time Scheduling

3/2000 Rate Monotonic Analysis, Nate Forman

Utilization Bound (UB) Test

Processor Utilization for a task, i Ui = Ci

Ti

Utilization Bound for n tasks U(n) = n(2 - 1)1n

Results:

• If Ui ≤ U(n) then the set of tasks is schedulable.

• If Ui > 1 then the set of tasks is unschedulable.

• If U(n) < Ui ≤ 1 then the test is inconclusive.

Page 8: A presentation for Brian Evans’ Embedded Software Class By Nate Forman Liaison Technology Inc. 3/30/2000 For Real-Time Scheduling

3/2000 Rate Monotonic Analysis, Nate Forman

UB Test Example

TaskExecution Time

(C)Period (T)

1 40 100

2 40 150

3 100 350

U(3) = 3(21/3 – 1) = 0.779U1 = 40 / 100 = 0.4

U2 = 40 / 150 = 0.267

U3 = 100 / 350 = 0.286

Utotal = 0.953

Result:

U1+2 = 0.667, schedulable.

However, 0.779 < 0.953 < 1

Therefore, inconclusive for 3.

Page 9: A presentation for Brian Evans’ Embedded Software Class By Nate Forman Liaison Technology Inc. 3/30/2000 For Real-Time Scheduling

3/2000 Rate Monotonic Analysis, Nate Forman

Response Time (RT) Test

Theorem: If a task meets its first deadline with worst-case task phasing, that deadline will always be met.

For the response time for task i, find the least fixed-point of the following recurrence:

a0 = Cjj H + {i}

an+1 = Ci + Cjj H

an

Tj

where H is the set of tasks with higher priority than task i.

Page 10: A presentation for Brian Evans’ Embedded Software Class By Nate Forman Liaison Technology Inc. 3/30/2000 For Real-Time Scheduling

3/2000 Rate Monotonic Analysis, Nate Forman

RT Test Example

TaskExecution Time

(C)Period (T)

1 40 100

2 40 150

3 100 350

a0 = Cj = 40 + 40 + 100 = 180j H + {i}

a1 = C3 + Cj = 100 + (2 * 40) + (2 * 40) = 260j H

180Tj

a2 = C3 + Cj = 100 + (3 * 40) + (2 * 40) = 300j H

260Tj

a3 = C3 + Cj = 100 + (3 * 40) + (2 * 40) = 300j H

300Tj

a2 = a3 = 300

300 < 3 = 350

3 is schedulable.

Page 11: A presentation for Brian Evans’ Embedded Software Class By Nate Forman Liaison Technology Inc. 3/30/2000 For Real-Time Scheduling

3/2000 Rate Monotonic Analysis, Nate Forman

Extensions to RMA

• Aperiodic task handling

• Preperiod task deadlines (Di = deadline for task i)

• Nonzero task switching times (S = task switch time)

• Interrupt handling for top-priority tasks

• Task blocking and interaction through shared resources

(Bi = blocking time for task i)

Page 12: A presentation for Brian Evans’ Embedded Software Class By Nate Forman Liaison Technology Inc. 3/30/2000 For Real-Time Scheduling

3/2000 Rate Monotonic Analysis, Nate Forman

Sporadic Servers

• A conceptual task that uses its execution budget

handling incoming aperiodic tasks

• Its execution budget is only replenished after a period

where it is completely consumed instead of after every

period’s end.

• Avoids deferred execution effect and reduces aperiodic

tasks to the same model as periodic tasks

Page 13: A presentation for Brian Evans’ Embedded Software Class By Nate Forman Liaison Technology Inc. 3/30/2000 For Real-Time Scheduling

3/2000 Rate Monotonic Analysis, Nate Forman

Priority Inversion

• A high priority task is ready to execute, but a lower

priority task continues execution because it holds a lock

on a shared resource that the high priority task needs.

• Unbounded priority inversion occurs when a system

allows tasks with lower priority than the blocked task to

preempt the blocking task.

Page 14: A presentation for Brian Evans’ Embedded Software Class By Nate Forman Liaison Technology Inc. 3/30/2000 For Real-Time Scheduling

3/2000 Rate Monotonic Analysis, Nate Forman

Priority Inversion (2)

• To successfully share resources, a system needs two

properties: freedom from mutual deadlock, and bounded

priority inversion.

• The combination of priority inheritance and the priority

ceiling protocol guarantee the above properties.

Priority Inheritance: When a task blocks the execution

of other, higher priority tasks, it executes at the highest

priority of all of the tasks it blocks.

Page 15: A presentation for Brian Evans’ Embedded Software Class By Nate Forman Liaison Technology Inc. 3/30/2000 For Real-Time Scheduling

3/2000 Rate Monotonic Analysis, Nate Forman

Priority Ceiling Protocol

• Priority Ceiling: of a binary semaphore is the highest

priority of all of the tasks that may lock it.

• A task attempting to a execute critical section is blocked

unless its priority is higher than the priority ceilings of

all of the locked semaphores in the system.

• The task holding the lock on the highest priority ceiling

semaphore inherits the priorities of tasks blocked in this

way.

Page 16: A presentation for Brian Evans’ Embedded Software Class By Nate Forman Liaison Technology Inc. 3/30/2000 For Real-Time Scheduling

3/2000 Rate Monotonic Analysis, Nate Forman

Extended UB Test

for i = Di / Ti, redefine utilization bound:

U(n, i) =

n ((2i)1/n – 1) + 1 – i, 0.5 < i ≤ 1

i, i ≤ 0.5

Page 17: A presentation for Brian Evans’ Embedded Software Class By Nate Forman Liaison Technology Inc. 3/30/2000 For Real-Time Scheduling

3/2000 Rate Monotonic Analysis, Nate Forman

Extended UB Test (2)

+ ++Ci + 2S

Ti Ti

Bifi =

j Hn

Cj + 2S

Tj

(Ck + 2S)k H1Ti

1

Updated processor utilization:

where Hn is the set of higher priority tasks that can preempt task imore than once (shorter periods) and H1 are higher priority tasks that can preempt task i only once (longer periods)

Compare each fi to its utilization bound, U(n, i). The results canbe interpreted as before.

Page 18: A presentation for Brian Evans’ Embedded Software Class By Nate Forman Liaison Technology Inc. 3/30/2000 For Real-Time Scheduling

3/2000 Rate Monotonic Analysis, Nate Forman

Extended RT Test

Theorem: If a task meets its first deadline with worst-case task phasing, that deadline will always be met.

The above theorem still stands although the deadline is Di instead of Ti. For the response time find the least fixed-point of the recurrence below:

a0 = Bi + (Cj + 2S)j H + {i}

an+1 = Bi + Ci + 2S + (Cj + 2S)j H

an

Tj

where H is the set of tasks with higher priority than task i.

Page 19: A presentation for Brian Evans’ Embedded Software Class By Nate Forman Liaison Technology Inc. 3/30/2000 For Real-Time Scheduling

3/2000 Rate Monotonic Analysis, Nate Forman

What really happened on Mars?(the first time)

• Two tasks were critical for controlling communication on the lander’s communication bus, the scheduler task (bc_sched) and the distribution task (bc_dist).

• Each of these tasks checked each cycle to be sure that the other had run successfully.

time = 0.125 s

bc_sched

bc_dist

bus active

Page 20: A presentation for Brian Evans’ Embedded Software Class By Nate Forman Liaison Technology Inc. 3/30/2000 For Real-Time Scheduling

3/2000 Rate Monotonic Analysis, Nate Forman

Mars Pathfinder: The Problem

• bc_dist was blocked by a much lower priority meteorological science task (ASI/MET)

• ASI/MET was preempted by several medium priority processes such as accelerometers and radar altimeters.

• bc_sched started and discovered that bc_dist had not completed. Under these circumstances, bc_sched reacted by

reinitializing the lander’s hardware and software and terminating all ground command activities.

Page 21: A presentation for Brian Evans’ Embedded Software Class By Nate Forman Liaison Technology Inc. 3/30/2000 For Real-Time Scheduling

3/2000 Rate Monotonic Analysis, Nate Forman

Mars Pathfinder: Resolution

• “Faster, better, cheaper” had NASA and JPL using “shrink-wrap” hardware (IBM RS6000) and software (Wind River vxWorks RTOS).

• Logging designed into vxWorks enabled NASA and Wind River to reproduce the failure on Earth. This reproduction made the priority inversion obvious.

• NASA patched the lander’s software to enable priority inheritance.

Page 22: A presentation for Brian Evans’ Embedded Software Class By Nate Forman Liaison Technology Inc. 3/30/2000 For Real-Time Scheduling

3/2000 Rate Monotonic Analysis, Nate Forman

Resources

• www.sei.cmu.edu: Software Engineering Institute, technical reports and presentations on rate monotonic analysis

• www.jpl.nasa.gov: NASA Jet Propulsion Laboratory, information about Mars missions, pictures

• “Guaranteeing Real-Time Performance Using RMA,” The Embedded Systems Conference, R. Obenza & G. Mendal

• research.microsoft.com: letter by Glenn Reeves of JPL about Mars Pathfinder mission

•http://www.ece.utexas.edu/~bevans/courses/ee382c/projects/fall99/ -- The RMADriver Application