Upload
hariprakash
View
216
Download
0
Embed Size (px)
Citation preview
8/14/2019 Rate Mono Tonic
1/22
A presentation for
Brian Evans
Embedded Software Class
By Nate Forman
Liaison Technology Inc.
3/30/2000For Real-Time Scheduling
8/14/2019 Rate Mono Tonic
2/22
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
8/14/2019 Rate Mono Tonic
3/22
3/2000 Rate Monotonic Analysis, Nate Forman
Introduction
Rate Monotonic refers to assigning priorities as a monotonicfunction 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 staticallyon any hard real-time system concept to decide if the system
is schedulable.
8/14/2019 Rate Mono Tonic
4/22
3/2000 Rate Monotonic Analysis, Nate Forman
Anatomy of a Task
1
2
3time
Task Execution Time (C) End Of Period (T = Period Length)
8/14/2019 Rate Mono Tonic
5/22
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
8/14/2019 Rate Mono Tonic
6/22
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
8/14/2019 Rate Mono Tonic
7/223/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)1
n
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.
8/14/2019 Rate Mono Tonic
8/223/2000 Rate Monotonic Analysis, Nate Forman
UB Test Example
Task Execution 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.
8/14/2019 Rate Mono Tonic
9/223/2000 Rate Monotonic Analysis, Nate Forman
Response Time (RT) Test
Theorem: If a task meets itsfirstdeadline with worst-case taskphasing, 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.
8/14/2019 Rate Mono Tonic
10/223/2000 Rate Monotonic Analysis, Nate Forman
RT Test Example
Task Execution 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
180
Tj
a2 = C3 + Cj = 100 + (3 * 40) + (2 * 40) = 300j H
260
Tj
a3 = C3 + Cj = 100 + (3 * 40) + (2 * 40) = 300j H
300
Tj
a2 = a3 = 300
300 < 3 = 350
3 is schedulable.
8/14/2019 Rate Mono Tonic
11/22
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)
8/14/2019 Rate Mono Tonic
12/22
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 periodwhere it is completely consumed instead of after every
periods end.
Avoids deferred execution effect and reduces aperiodic
tasks to the same model as periodic tasks
8/14/2019 Rate Mono Tonic
13/22
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.
8/14/2019 Rate Mono Tonic
14/22
3/2000 Rate Monotonic Analysis, Nate Forman
Priority Inversion (2)
To successfully share resources, a system needs two
properties: freedom from mutual deadlock, andbounded
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.
8/14/2019 Rate Mono Tonic
15/22
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 blockedunless 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.
8/14/2019 Rate Mono Tonic
16/22
3/2000 Rate Monotonic Analysis, Nate Forman
Extended UB Test
for i = Di / Ti, redefine utilization bound:
U(n, i) =
n ((2 i)1/n 1) + 1 i, 0.5 < i 1
i, i 0.5
8/14/2019 Rate Mono Tonic
17/22
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
Updatedprocessor utilization:
where Hn is the set of higher priority tasks that can preempt task i
more 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 can
be interpreted as before.
8/14/2019 Rate Mono Tonic
18/22
3/2000 Rate Monotonic Analysis, Nate Forman
Extended RT Test
Theorem: If a task meets itsfirstdeadline with worst-case taskphasing, 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 therecurrence 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.
8/14/2019 Rate Mono Tonic
19/22
3/2000 Rate Monotonic Analysis, Nate Forman
What really happened on Mars?(the first time)
Two tasks were critical for controlling communication onthe landers 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
8/14/2019 Rate Mono Tonic
20/22
3/2000 Rate Monotonic Analysis, Nate Forman
Mars Pathfinder: The Problem
bc_dist was blocked by a much lower prioritymeteorological 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 landers hardware and software andterminating all ground command activities.
8/14/2019 Rate Mono Tonic
21/22
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 WindRiver to reproduce the failure on Earth. This reproduction
made the priority inversion obvious.
NASA patched the landers software to enable priorityinheritance.
8/14/2019 Rate Mono Tonic
22/22
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