Title: Probabilistic Technique for Performance Estimation
1Probabilistic Technique for Performance Estimation
- Akash Kumar
- 7th June 2007
2(No Transcript)
3Introduction
- Modern embedded systems support multiple
applications concurrently - Mapping and analyzing multiple applications on
MPSoC platform is a complex problem - Cost of system design and integration is getting
out of hand - Each possible set of applications leads to a new
use-case - For 10 applications there are over a thousand
use-cases! - Analyzing all possible use-cases is
computationally infeasible and undesirable - What happens when a new application is added?
4Synchronous Dataflow Graphs
execution time
actor
channel
rate
token
5Problem Predicting Performance
- Two applications each with three actors
- Mapped on a heterogeneous platform
- Non-preemptive scheduler, work-conserving
6Problem Predicting Performance
7Problem Predicting Performance
8Problem Predicting Performance
9Problem Predicting Performance Static Orders
50
50
50
50
A
B
50
50
Add ordering dependencies (edges)
10Problem Predicting Performance
11Problem Predicting Performance Priority Based
12Problem Predicting Performance
13Problem
No good techniques exist to analyze performance
of applications on non-preemptive heterogeneous
systems
Use probabilistic approach to estimate the
performance of multiple applications running on
an MPSoC platform
14Probability Distribution
50
50
A
50
x denotes the time other actors have to wait for
respective resources to be free from actors of A
E(x) provides the expected time an actor will
need to wait when sharing resources with actors
of A
15Graph Approximation
50
50
A
50
58
58
16Updated Response Time
50
50
A
50
17Algorithm Estimate Period
- Computing period using blocking probability
- For each actor in each application
- GetBlockingProbability( )
- For each application
- For each actor
- Estimate the waiting time
- Update the response time
- Compute the new throughput of application
18Extending To More Than One Actor
- So if actor ai and bi are mapped on the same
resource, bi on average will need to wait for
19Complexity Reduction
- Overall complexity is O(nn) n is the number of
actors mapped on a processing resource - Higher order probability products
- Limit the equation to only second or fourth-order
- Complexity reduces significantly
20Composability-based Approach
- Dynamism in the system?
- When new applications are added
- Applications leave the system
- Compose the system
- Consider multiple actors mapped on a core as one!
A
B
AB
21Composability-based Approach
- Derive properties for this one actor
- Combined probability
- Combined average waiting time
- This approach is incremental
- Suitable for run-time when jobs enter and leave
22Experimental Results
- SDF3 tool used to generate random graphs
- Each had 8-10 actors
- Strongly connected graphs
- 1000 use-cases generated
- Simulations performed using POOSL Parallel
Object Oriented Specification Language - 28 hours for simulation
- 10 min for analysis using all four approaches
- Most of the analysis time spent in computing
throughput
23Comparison of Period Computed vs Simulated
24Comparison of Period Computed vs Simulated
25Comparison of Period Computed vs Simulated
26Inaccuracy in Period Estimated vs Simulated
27Conclusions
- It is difficult to analyze multiple applications
running on an MPSoC platform - Current approaches are very pessimistic
- An analytical approach to model resource
contention probabilistically is proposed - Measures to reduce complexity proposed
- Multiple use-cases can now be analyzed quickly
- The approach is fast, yet accurate
28Future Work
- Take task-dependency into consideration
- Use stochastic execution times
- Use this approach for run-time admission control
- Scalable and adaptable for run-time
implementation - Extend it to provide guarantees soft/hard
- Verify the approach on an FPGA platform with real
applications
29Questions and Suggestions
Email a.kumar_at_tue.nl