Performance Estimation for Real-Time Distributed Embedded Systems - PowerPoint PPT Presentation

About This Presentation
Title:

Performance Estimation for Real-Time Distributed Embedded Systems

Description:

Tasks' computation time (ci) and period (pi) are known ... Feed stage 2 with latest/earliest request/finish information for pairs Pi, Pj of each process. ... – PowerPoint PPT presentation

Number of Views:106
Avg rating:3.0/5.0
Slides: 38
Provided by: HPNT
Category:

less

Transcript and Presenter's Notes

Title: Performance Estimation for Real-Time Distributed Embedded Systems


1
Performance Estimation for Real-Time Distributed
Embedded Systems
  • Presented by Li Xianfeng
  • lixianfe_at_comp.nus.edu.sg
  • Aug/27/2002

2
A Co-design framework
System description
Compiler
System behavior
Validation
Partitioning Mapping
Partitioned specification
Performance Esitmation
SW synthesis
Interface synthesis
HW synthesis
Evaluation
Prototype
3
Partionning Mapping
  • Period / Deadline of each task

P1
P2
  • Process dependencies in tasks

P3
P5
P4
Task 1
Task 2
  • PEs CPU, DSP, ASIC, ...

P1
P5
P2
P3
  • Allocation Processes gt PEs

PE1
PE2
  • Scheduling Priorities gt Processes

P4
PE3
4
Survey of Performance Analysis (1)
  • Model
  • Single process on a uniprocessor
  • Goal
  • Execution time in worst case (WCET)?
  • Solutions
  • A find the longest path and sum up each
    instructions time.
  • B cache miss, pipeline stall, etc, make an
    instruction time vary. Take them into account and
    sum up the modified instructions time.

5
Survey of Performance Analysis (2)
  • Model
  • Multiple independent, periodic tasks on a
    processor
  • Tasks computation time (ci) and period (pi) are
    known
  • Priority-based scheduling ( preemptions
    introduced!)
  • Goal
  • Given a schedule of priorities, can all finish
    before their deadlines?
  • Solutions
  • Rate Monotonic Scheduling (RMS)

6
Example
c1
c2
20
30
T1 50
T2 40
Response Time preemptions from higher-priority
process makes lower-priority processs response
time longer than its computation time (c).
P2
P2
P1
P1

10
30
50
0
60
20
40
P2
P2
P1

10
30
50
0
60
20
40
7
Survey of Performance Analysis (2.1)
  • RMS (Rate Monotonic Scheduling)
  • processes with higher request rate (shorter
    period) have higher priorities
  • Optimum among all fixed-priority scheduling
    algorithms
  • Schedulability
  • processor utilization factor
  • another utilization value

8
Survey of Performance Analysis (2.2)
  • Lehoczkys algorithm for computing worst-case
    response time ? Fixed-Point Iteration
  • Equation
  • Iteration process while (x lt g(x)) x g(x)
  • Initial Value
  • Upper bound of finding an x lt pi U lt 1

9
Survey of Performance Analysis (3)
  • Model
  • Multiple periodic tasks, each task with multiple
    processes ( represented by a task graph )
  • processes in the same task have data dependencies
  • Priority-based scheduling ( preemptions
    introduced!)
  • Goal
  • Given a schedule of priorities, can all tasks
    finish before their deadlines?
  • Solution
  • comes with the paper being presented ?

10
Why previous solutions dont work (1)
Comparison of Goals
Previous models Does any tasks response time exceeds its period (deadline)? Does any processs (of any task) response time exceed its period (deadline)?
Current model Does any longest path (of any task) exceed its period (deadline)?
  • Problems ?
  • Knowing Single Worst-Case Response Time is no
    longer sufficient!
  • How to compute the longest path?

11
Why previous solutions dont work (2)
  • Priority P1 gt P2 gt P3
  • w2 35 ( preempted by P1)
  • w3 45 (preempted by P1 P2)
  • Longest delay of path P2 gt P3 ?w w2 w3
    80 ?
  • Problem 2
  • P2 cannot preempt P3
  • Problem 1
  • P1 cannot preempt both P2 P3

12
Why previous solutions dont work (3)
Periods Computation Time
Previous Model Constants Constants
Current Model Bounds Bounds
13
(No Transcript)
14
Achievements of This Paper
  • Take into account data dependencies between
    processes
  • Modeling bounds rather than constants on
    computation time, task period etc.
  • Tight result

15
Input to Performance Estimation
  • Task graphs
  • Periods / deadlines for each task (Ti)
  • Processes their priorities in each PE
  • Computation time (ci) for each Pi.

Objective Does the tasks can meet their
deadlines in worst case?
16
Intuition underlying this algorithm (1)
  • Identifying infeasible preemptions/overlaps!
  • phase constraints reduce preemptions
  • some pairs of processes cannot overlap

P1
P1
P1
0
100
40
80
P2
P1
P1
P1
0
100
70
30
P2
17
Intuition underlying this algorithm (2)
  • Identifying infeasible preemptions/overlaps!
  • phase constraints reduce preemptions
  • some pairs of processes cannot overlap

Obvious Case ltP2, P5gt, ltP3, P6gt ...
Indirect Case ltP5, P6gt ???
18
Algorithm Framework
  • latestPi.request
  • latestPi.finish
  • earliestPi.request
  • earlistPi.finish

Phase Adjustment EarliestTimes( ) LatestTimes( )
Separation Analysis MaxSeparations( )
  • maxsepPi.request, Pj.finish

19
Phase Adjustment (1)
  • Objectives by looking at data dependencies in
    task graphs
  • Internal Find phase constraints use them to
    bound response times ( ltrequest(i), requestltjgt or
    ltrequest(i), finish(j)gt ).

20
Phase Adjustment (2)
  • Objectives by looking at data dependencies in
    task graphs
  • External Feed stage 2 with latest/earliest
    request/finish information for pairs ltPi, Pjgt of
    each process.

upperP1, P3, lowerP1, P3 upperP2, P5,
lowerP2, P5 But no upperP2, P6 ...
21
Phase Adjustment (3)
  • Main function modules workflow
  • LatestTimes(Gi) a modified longest-path
    algorithm by taken into account of preemption
    information
  • EarliestTimes(Gi) get shortest-path information
  • LatestTimes, EarliestTimes are combined to give
    bounds on request/finish times of processes.
  • For each sub-graph G(i) rooted at i, invoke
    Latest... Earliest...
  • In Latest.../Earliest..., analyze each process in
    topologically sorted order

22
Phase Adjustment (in detail)
Data Structures Definition Usage Genaration/Update
request phase min(Pj.req Pi.req) update response time of Pi by i-predecessors finish phases slack
finishing phase min(Pj.fin Pi.req) update request phases of i-successors to all j by my request phase and response time
latestPi.req earliestPi.req relative value to current Graph root update my finish times used by stage 2 MaxSep by i-predecessors finish times
latestPi.fin earliestPi.fin relative value to current Graph root update i-successors reqeust times used by stage 2 MaxSep by my request times and response time
wi worst-case response time update finish phase finish times request phase i-gtj MaxSepi,j from stage 2
23
Example
visit each node in the task graph in
topologically sorted order
24
Output of Stage1 ? Input of Stage 2
  • Output of stage 1 latestPj.request,
    ...earliestPj.finish
  • Input of stage 2 upperPi.request, Pj.reqest,
    ..., upperPi.request, Pj.finish
  • Observations
  • Output of Stage 1 ? Input of Stage 2 happens
    after each calling of LatestTimes(Gi)
    EarliestTimes(Gi)
  • Each latestPj.reqest, ..., earliestPj.finish
    is a relative value to root node i of current
    sub-graph Gi.
  • No Input (bound) information for pairs of
    processes without predecessor/successor relation.

25
Motivation for Stage 2 Max Separations Analysis
(1)
Why do we need the second stage?
-- overestimations still exist infeasible
preemptions!
Why using a sophiscated Max Constraint algorithm?
-- find indirect separate pairs , which cannot
preempt with each other
No Input (bound) information for pairs of
processes without predecessor/successor relation.
26
Motivation for Stage 2 Max Separations Analysis
(2)
  • Identifying infeasible preemptions/overlaps!
  • Simpler Cases no preemptions between
    ltpredecessor, successorgt
  • Indirect Cases give a pair which have no
    predecessor/successor relation. can one preempt
    the other?

lt P1, P3 gt, lt P1, P5 gt, lt P3, P6 gt lt P2, P6 gt,
lt P5, P6 gt, lt P3, P4 gt ???
27
Data Structures of MaxSeparation Analysis (1)
  • Output
  • maxsepPi.request, Pj.finish
  • maxsepPi.request, Pj.request
  • i.e.
  • maxsepP5.request, P3.finish lt 0
  • P3 finish execution before P5 request!
  • No preemption between lt P5 , P3 gt

28
Data Structures of MaxSeparation Analysis (2)
  • Output
  • maxsepPi.request, Pj.finish
  • maxsepPi.request, Pj.request

May increase phase distance ?tighten response
time in stage 1 in next iteration
29
Data Structures of MaxSeparation Analysis (2)
  • Inputs
  • upper bounds between lt predecessor, successor gt
  • lower bounds between lt predecessor, successor gt

i.e. upper P1.request, P2.request lower
P1.request, P6.finish No upper P5.request,
P6.request Need to derive from known ones!
30
Max constraints -- McMillan Dills Algorithm.
  • Problem Model
  • A connected, acyclic graph with a single source
  • each node an event, its happening time is
    determined by the path it taken from the source
  • a bound on the delay of each edge ( li, j, ui,
    j )
  • Objective
  • Given a pair of node lt i, j gt, check whether
    t(j) t(i) lt c(i, j)

31
Max constraints -- McMillan Dills Algorithm
(Cont.)
Solution maxsepi, j Min ( Max (maxsepi, k
uk, j ), -loweri, j)
i.e. (1) maxsepP6, P2 ? Min Interval
(want) (2) maxsepP6, P1 ? Min Interval
(known) (3) u1, 2 ? Max Interval
(known) Conclusion (1) (2) (3) must be the
Minimal!
32
Impact of Separations Analysis on Phase Adjustment
  • Improving stage 1 in two aspects
  • increase request phases ? tighten response
    times
  • maxsepPi.request, Pj.finish lt 0No preemption
    between lt Pi , Pj gt? tighten response times also

33
Termination of the program
  • When no change of all the maxsepi, j. The
    program will terminate.

34
Experiments Results (1)
35
(No Transcript)
36
(No Transcript)
37
Summary
  • Big picture on performance analysis
  • RMS Lehoczkys fixed-point iteration technique
  • Impact of data dependencies on scheduling
  • Two-stage solution a fixed-point iteration
  • Phase adjustment
  • MaxSeparation analysis
  • McMillan Dills algorithm on Max Constraints
Write a Comment
User Comments (0)
About PowerShow.com