Real-time Scheduling Review - PowerPoint PPT Presentation

About This Presentation
Title:

Real-time Scheduling Review

Description:

... to enforce precedence constraints. Subdeadline assignment ... cause Precedence constraint violations ... Precedence constraints preserved even in ... – PowerPoint PPT presentation

Number of Views:126
Avg rating:3.0/5.0
Slides: 36
Provided by: venkat6
Learn more at: https://www.cs.wustl.edu
Category:
Tags: real | review | scheduling | time

less

Transcript and Presenter's Notes

Title: Real-time Scheduling Review


1
Real-time Scheduling Review
Research Seminar on Software Systems February 2,
2004
  • Venkita Subramonian
  • venkita_at_cs.wustl.edu

2
Main Topics for Discussion
  • Single Processor Scheduling
  • End-to-end Scheduling
  • Holistic Scheduling

3
What is a Real-time System?
  • Real-time systems have been defined as those
    systems in which the correctness of the system
    depends not only on the logical result of the
    computation, but also on the time at which the
    results are produced"
  • J. Stankovic, "Misconceptions About Real-Time
    Computing," IEEE Computer, 21(10), October 1988.
  • Real-time does not necessarily mean Real fast.
  • Predictability is key in real-time systems
  • There was a man who drowned crossing a stream
    with an average depth of six inches J.
    Stankovic

4
Real-time Scheduling
  • Job (Jij) Unit of work, scheduled and executed
    by system. Jobs repeated at regular or
    semi-regular intervals modeled as periodic
  • Task (Ti) Set of related jobs.
  • Jobs scheduled and allocated resources based on a
    set of scheduling algorithms and access control
    protocols.
  • Scheduler Module implementing scheduling
    algorithms
  • Schedule assignment of all jobs to available
    processors, produced by scheduler.
  • Valid schedule All jobs meet their deadline
  • Clock-driven scheduling vs Event(priority)-driven
    scheduling
  • Fixed Priority vs Dynamic Priority assignment

5
Scheduling Periodic Tasks
  • In hard real-time systems, set of tasks are known
    apriori
  • Task Ti is a series of periodic Jobs Jij. Each
    task has the following parameters
  • pi - period, minimum interrelease interval
    between jobs in Task Ti.
  • ei - maximum execution time for jobs in task Ti.
  • rij - release time of the jth Job in Task i (Jij
    in Ti).
  • ?i - phase of Task Ti, equal to ri1.
  • ui - utilization of Task Ti ei / pi
  • In addition the following parameters apply to a
    set of tasks
  • H - Hyperperiod Least Common Multiple of pi for
    all i H lcm(pi), for all i.
  • U - Total utilization Sum over all ui.
  • Schedulable utilization of an algorithm Us
  • If U lt Us the set of tasks can be guaranteed to
    be scheduled

6
Fixed Priority Algorithms
  • Rate Monotonic scheduling
  • Priority assignment based on rates of tasks
  • Higher rate task assigned higher priority
  • Schedulable utilization 0.693 (Liu and Leyland)
  • If U lt 0.693, schedulability is guaranteed
  • Tasks may be schedulable even if U gt 0.693
  • Deadline Monotonic scheduling
  • Priority assignment based on relative deadlines
    of tasks
  • Shorter the relative deadline, higher the
    priority
  • Useful when relative deadline ? period
  • Both of the above usually done off-line since
    fixed priority assigned at task level
  • Online dispatcher enforces the schedule by
    dispatching higher priority jobs before lower
    priority jobs

7
Dynamic Priority Algorithms
  • Online scheduler assigns priorities for jobs
    released
  • Dispatcher dispatches the highest priority job
  • Suitable for scheduling aperiodic as well as
    periodic tasks
  • Earliest Deadline First (EDF)
  • Priority assignment based on absolute deadline of
    jobs
  • Job with closest deadline assigned highest
    priority
  • Schedulable utilization 1
  • Least Laxity First (LLF)
  • Laxity Absolute Deadline Worst case
    computation time
  • Priority assignment based on laxity of jobs
  • Job with minimum laxity assigned highest priority
  • Schedulable utilization 1
  • Dynamic Priority algorithms provide better
    processor utilization than Fixed Priority
    algorithms

8
Hybrid algorithms
  • Not all algorithms are robust in overload
    situations
  • To improve predictability for critical tasks, use
    a combination of fixed and dynamic priority
    algorithms
  • Tasks divided based on criticality critical and
    non-critical
  • Critical tasks scheduled using fixed priority
    assignment
  • Non-critical tasks scheduled based on dynamic
    priority assignment
  • Examples - Maximum Urgency First, RM MLF

9
Blocking factors
  • Sometimes a higher priority job cannot run
    because
  • Currently running lower priority job is
    non-preemptive (priority-inversion)
  • E.g., non-preemptable system call
  • Self-suspension
  • E.g., i/o operations, remote calls
  • Above blocking delays need to be taken into
    account while doing schedulability analysis
  • Blocking delay should include
  • Maximum blocking time due to non-preemptability
    of lower priority tasks
  • Maximum own self suspension time and maximum
    self-suspension time of all higher priority tasks
  • Context switches

10
ORB endsystem example (1/2)
  • Wait-on-Connection
  • ReplyHandler in ORB waits on socket connection
    for the reply
  • Blocking call to recv()
  • One less thread listening on the Reactor for new
    requests
  • No interference from other requests that arrive
    when reply is pending
  • However, could cause deadlocks on nested
    upcalls.
  • Wait-on-Reactor
  • ReplyHandler waits in reactor for the reply
  • Reactor gets a chance to process other requests
    while replies are pending
  • Interleaving of request reply processing, hence
    interference from other requests while reply is
    pending
  • Ideal for single threaded processing

11
ORB endsystem example (2/2)
  • Wait-on-Reactor strategy could cause interleaved
    request/reply processing
  • Blocking factor could be bounded or unbounded
  • Based on the upcall duration
  • And number of intervening upcalls
  • Blocking factors may affect real-time properties
    of other end-systems
  • Call-chains can have a
    cascading blocking effect

f2
f5
f3
f6
f5 reply queued
Blocking factor for f2
f3 returns
f5 reply processed
f2 returns
12
Algorithm selection
Single Processor
Periodic RMS/MUF/DM
Periodic, Blocking RMS/MUF/DM with Priority Ceiling
Periodic?, Predictable Overload behavior MUF, RMMLF
Maximum Utilization EDF,MLF
13
EndtoEnd Scheduling
14
End-to-end task model
  • A task is composed of multiple subtasks running
    on multiple processors
  • Remote method invocation
  • Non-local event
  • Messages
  • Subtasks are subject to precedence constraints
  • Task a chain of subtasks
  • A task is subject to an end-to-end deadline
  • Does not care about the response time of a
    particular subtask
  • End-to-End scheduling should address
  • Task allocation bind tasks to processors
  • Synchronization protocols to enforce precedence
    constraints
  • Subdeadline assignment
  • Schedulability analysis

Thanks to Dr. Lu for permitting to use material
from CS520 slides
15
Task Allocation
  • Strategies
  • Offline, static allocation
  • Allocate a task when it arrives
  • Re-allocate (migrate) a task after it starts
  • NP-hard heuristics needed
  • Bin-Packing formulation
  • Pack subtasks to bins (processors) with limited
    capacity
  • Size of a subtask Ti,j ui,j ei,j/pi
  • Capacity of each bin is its utilization bound,
    e.g., 0.69 (RMS) or 1 (EDF) under ideal
    assumptions
  • Goal minimize the number of bins subject to the
    capacity constraints

Thanks to Dr. Lu for permitting to use material
from CS520 slides
16
The Synchronization Problem
  • Given that
  • Priorities are assigned to subtasks in a task
    chain using some fixed priority assignment
    algorithm
  • How do we coordinate the release of subtasks in a
    task chain so that
  • Precedence constraints among subtasks are
    satisfied
  • subtask deadlines are met
  • end-to-end deadlines are met

17
Synchronization Protocols
  • Direct Synchronization (DS) Protocol
  • Simple and straightforward
  • Phase Modification (PM) Protocol
  • Proposed by Bettati
  • Extension called Modified Phase Modification
    (MPM) Protocol
  • Release Guard Protocol
  • Proposed by Sun

18
Synchronization Protocol - Example
P1
P2
(4,2)
T1
(6,2)
T2,2
(6,2)
T2,1
(6,3)
T3
Ti,j jth subtask of task Ti
Task T3 has a phase of 4 time units
(period,execution time)
Period relative deadline of parent task
19
Direct Synchronization Protocol
  • Greedy strategy
  • On completion of subtask
  • A synchronization signal sent to the next
    processor
  • Successor subtask competes with other
    tasks/subtasks on the next processor

20
Direct Synchronization Illustrated
T1
T2,1
On P1
On P2
T2,2
T3 misses deadline
Phase of T3
T3
21
Phase Modification Protocol
  • Proposed by Bettati
  • Release subtasks periodically
  • According to the periods of their parent tasks
  • Each subtask given its own phase
  • Phase determined by subtask precedence constraints

22
Phase Modification Protocol Illustrated (1/2)
T1,1
T1,2
T1,3
T1,1
p1
T1,2
p1
T1,3
p1
Phase of T1,2
Phase of T1,3
Actual response time
Estimated worst case response time
23
Phase Modification Protocol Illustrated (2/2)
T1
T2,1
On P1
On P2
Phase of T2,2
T2,2
Phase of T3
T3
24
Phase Modification Protocol - Analysis
  • Periodic Timer interrupt to release subtasks
  • Centralized clock or strict clock synchronization
  • Task overruns could cause Precedence constraint
    violations

25
Modified PM Protocol Illustrated (1/2)
T1,1
T1,2
T1,3
T1,1
p1
Overrun ?
T1,2
p1 ?
Actual response time
Estimated worst case response time
26
Modified PM Protocol Illustrated (2/2)
T1
Synch signal delayed
T2,1
On P1
On P2
T2,2
Phase of T3
T3
27
Modified PM Protocol - Analysis
  • MPM protocol behavior the same as PM under ideal
    conditions
  • Ideal conditions Clocks synchronized, no
    overrun
  • MPM protocol does not need clock synchronization
  • Precedence constraints preserved even in the case
    of overruns
  • Upper bound on End-to-End Response time of task Ti

Ri,k is the response time of the kth subtask of
Ti ni is the number of subtasks for the task Ti
  • Lower bound on End-to-End Response time of task
    Ti

Actual Response time of nith subtask
  • Lower bound high, hence high average EER time,
    but low output jitter

28
Release Guard Protocol
  • Proposed by Sun
  • A guard variable release guard - associated
    with each subtask
  • Release guard used to control release of each
    subtask
  • Contains next release time of subtask
  • Synchronization signals just like MPM
  • Release guard updated
  • On getting synchronization signal
  • During idle time

29
Release Guard Protocol Illustrated
T1
T2,1
On P1
On P2
g1,2 4610
g1,2 9
T2,2
Idle time detected
Phase of T3
T3
30
Release Guard Protocol - Analysis
  • Shares the same advantages as MPM
  • Upper bound on EER still the same as MPM
  • Since upper bound on release time enforced by
    release guard

Ri,k is the response time of the kth subtask of
Ti ni is the number of subtasks for the task Ti
  • Lower bound on EER less than that of MPM
  • If there are idle times
  • Results in lower average EER

31
Subdeadline Assignment
  • Subdeadline -gt priorities under EDF DM
  • Optimal subdeadline assignment is NP-hard
  • Offline heuristic search algorithms
  • Online simpler heuristics
  • Effective Deadline (ED)
  • Work backwards from the end-to-end deadline
  • Slack assignment
  • Assign all slack to 1st subtask
  • Assign slack proportionally to execution time
  • Assign more slack to subtasks on busier processors

Thanks to Dr. Lu for permitting to use material
from CS520 slides
32
Holistic Scheduling
  • Combine processor scheduling with communication
    bus scheduling to provide an integrated
    schedulability analysis
  • Calculate bounds on end-to-end delays in
    distributed systems including communication
    delays
  • Typically used in hard real-time systems to
    calculate the worst case end-to-end response time
    of tasks

33
Algorithm selection
  • Use MPMP or RG if
  • Information about all tasks are available a
    priori
  • System has global clock sync
  • Otherwise only RG can be used
  • Use MPMP for low jitter and RG for lower average
    EER

34
References
  • Synchronization Protocols in Distributed
    Real-Time Systems, ICDCS 96
  • Jun Sun, Jane Liu
  • Real-time Systems
  • Jane Liu
  • Holistic Schedulability for Distributed Hard
    Real-time Systems, Microprocessing and
    Microprogramming - Euromicro Journal 1994
    (Special Issue on Parallel Embedded Real-Time
    Systems)
  • Ken Tindell, John Clark
  • VEST An Aspect-Based Composition Tool for
    Real-Time Systems, RTAS 2003
  • Stankovic, Lu, et.al

35
DM with phase offset
Write a Comment
User Comments (0)
About PowerShow.com