Rate Mono Tonic

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