0% found this document useful (0 votes)
59 views

Performance Analysis of Embedded Software Using Implicit Path Enumeration

This document discusses performance analysis of embedded software using implicit path enumeration. It examines determining the best and worst case running times of a given program on a given processor, which has applications for real-time embedded systems design. It presents an approach using integer linear programming to estimate running time bounds through implicit path analysis rather than explicit path enumeration. Experimental results with a tool called Cinderella demonstrate the efficacy of this implicit path enumeration approach.

Uploaded by

Md Zahid Hossain
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
59 views

Performance Analysis of Embedded Software Using Implicit Path Enumeration

This document discusses performance analysis of embedded software using implicit path enumeration. It examines determining the best and worst case running times of a given program on a given processor, which has applications for real-time embedded systems design. It presents an approach using integer linear programming to estimate running time bounds through implicit path analysis rather than explicit path enumeration. Experimental results with a tool called Cinderella demonstrate the efficacy of this implicit path enumeration approach.

Uploaded by

Md Zahid Hossain
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 14

Performance Analysis of Embedded Software Using Implicit Path

Enumeration

Md. Zahid Hossain


Student ID: 20-91575-1
Performance Analysis of Embedded System
MsCS in Computer Science
American International University Bangladesh (AIUB) 1
Abstract
• Embedded computer systems are characterized by the presence of a processor running
application-specific dedicated software. We examines the problem of determining the extreme
(best and worst) case bounds on the running time of a given program on a given processor. This
has several applications in the design of embedded systems with real-time constraints. An
important aspect of this problem is determining which paths in the program are exercised in the
extreme cases. The state-of-theart solution here relies on an explicit enumeration of program
paths. This solution is implemented in the program cinderella (in recognition of her hard real-
time constraint—she had to be back home at the stroke of midnight), which currently targets a
popular embedded processor—the Intel i960. The preliminary results of using this tool are also
presented here.
This presentation examines the problem of
determining the extreme (best and worst) case
bounds on the running time of a given program
on a given processor. This has several applications
in the design of embedded systems.
Problem Statement
We need to bound (lower and upper) the running time of a given program
on a given processor assuming uninterrupted execution. The term
“program” here refers to any sequence of code and does not have to
include a logical beginning and an end. The term “processor” here includes
the complete processor and memory system.
Suppose that of all the possible running times, Tmin and Tmax are
the minimum and aximum of these times, respectively. We define the
actual bound of the program as the time interval [Tmin , Tmax ]. Our objective
is to find a correct estimate of this bound without introducing undue
pessimism. The estimated time interval [Tmin , Tmax ] , defined as the
estimated bound, must enclose the actual bound. This is illustrated in Fig. 1.
Problem Statement
Subproblems
There are two components to the prediction of extreme case performance. To
predict the performance of a given piece of software on a given processor, we
must:
• determine what sequence of instructions will be executed in the
extreme case—this is referred to as the
program path analysis problem;

• compute how much time it will take the system to execute that sequence—
this requires a modeling of the host processor system, which is referred to as micro
architectural modeling.

Both these aspects need to be studied well in order to provide a solution to this
problem. The focus of this paper is on the program path analysis problem.
Structural constraints
Structural constraints
Structural constraints
Relocated functional constraints
Composition of functional constraints
Architecture consideration
• Influence of the memory hierarchy
• Cache: ratio hit/miss
• Worst case : ratio = 0%
• Best case: ratio = 100%
• Can be realistic in both cases
Results
Pessimism
• Due to Ci
• Due to Xi
Experiment 1
• Assessment of pessimism without taking architecture into account
• Extraordinary results (a little too much maybe?)
Conclusions
we have presented an efficient method to estimate the bounds of the
running time of a program on a given processor. The method uses
integer linear programming techniques to perform the path analysis
without explicit path enumeration. It can accept a wide range of
information on the functionality of the program in the form of sets of
linear constraints. A tool called Cinderella has been developed to
perform this timing analysis. Experimental results on a set of examples
show the efficacy of this approach.

You might also like