hybrid approach to system-level performance analysis
DESCRIPTION
Hybrid Approach to System-Level Performance Analysis. Simon Kü nzli Bologna, May 22, 2006 contains joint work with Francesco Poletti, Luca Benini, and Lothar Thiele. Design Space Exploration. need for fast performance evaluation methods - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Hybrid Approach to System-Level Performance Analysis](https://reader036.vdocuments.us/reader036/viewer/2022062304/568134d1550346895d9bfa80/html5/thumbnails/1.jpg)
Hybrid Approach to System-Level Performance Analysis
Simon Künzli
Bologna, May 22, 2006
contains joint work with Francesco Poletti, Luca Benini, and Lothar Thiele
![Page 2: Hybrid Approach to System-Level Performance Analysis](https://reader036.vdocuments.us/reader036/viewer/2022062304/568134d1550346895d9bfa80/html5/thumbnails/2.jpg)
Design Space Exploration
• need for fast performance evaluation methods
• interest in non-functional properties, e.g. timing behavior, memory requirement
![Page 3: Hybrid Approach to System-Level Performance Analysis](https://reader036.vdocuments.us/reader036/viewer/2022062304/568134d1550346895d9bfa80/html5/thumbnails/3.jpg)
Formal Methods
• possibilities to answer questions limited by method
• restricted by underlying models
• good coverage (worst case)
• fast• coarse
Simulation
• can answer virtually any questions about performance
• can model arbitrary complex systems
• average case (single instance)
• time-consuming• detailed
[Synopsis System Studio][Mentor Graphics Seamless][Coware ConvergenSC]MPSIM [Benini et al.]
Design Evaluation
SymTA/S [Richter et al.]Holistic Approaches [Pop et al.]MPA [Thiele et al.]
![Page 4: Hybrid Approach to System-Level Performance Analysis](https://reader036.vdocuments.us/reader036/viewer/2022062304/568134d1550346895d9bfa80/html5/thumbnails/4.jpg)
RISCRISCRISC
• Use hybrid approach for analysis
Compose existing performance analysis models
Combination
DSPDSP
LookUpLookUp
CipherCipher
Formal PerformanceModelPerformance
Model for Simulation
![Page 5: Hybrid Approach to System-Level Performance Analysis](https://reader036.vdocuments.us/reader036/viewer/2022062304/568134d1550346895d9bfa80/html5/thumbnails/5.jpg)
Combination II
T1 T2 T3 T4
simulationformal analysis
simulation
S/F-converter F/S-converter
• Interface definition between analysis domains
• Applicability shown using case study for multi-processor system
![Page 6: Hybrid Approach to System-Level Performance Analysis](https://reader036.vdocuments.us/reader036/viewer/2022062304/568134d1550346895d9bfa80/html5/thumbnails/6.jpg)
Goals
• Generated trace should be:– consistent with specification curves– representative for short term characteristics
(bursts)– representative for long term characteristics
(average case)
• These properties should be observed anywhere in the generated trace
![Page 7: Hybrid Approach to System-Level Performance Analysis](https://reader036.vdocuments.us/reader036/viewer/2022062304/568134d1550346895d9bfa80/html5/thumbnails/7.jpg)
2t0
2t0
Problems for generation
t0
t0
ONON OFF
ONOFF
violates the specification
1234
Proposed trace generation algorithm handles these problems and generates valid traces.
![Page 8: Hybrid Approach to System-Level Performance Analysis](https://reader036.vdocuments.us/reader036/viewer/2022062304/568134d1550346895d9bfa80/html5/thumbnails/8.jpg)
/* generate event at time t */generateEvent(t);while (!stopGeneration) { while ( t < swt ) { if (state == 0) { if ( canIGenerateNow(t) ) generate = true; } else{ if ( !canIStillWait(t) ) generate = true; } if (generate) { generateEvent(t); updateHistoryWithEvent(t); } t = t + timeStep; generate = false; } swt = getNextSwitchingTime(t); state = (state + 1) mod 2;}
/* initialize variables */t = 0;generate = false;state = 0;swt = getNextSwitchingTime(t);
![Page 9: Hybrid Approach to System-Level Performance Analysis](https://reader036.vdocuments.us/reader036/viewer/2022062304/568134d1550346895d9bfa80/html5/thumbnails/9.jpg)
Goals (revised)
• Generated trace should be:– consistent with specification curves– representative for short term characteristics
(bursts)– representative for long term characteristics
(average case)
• These properties should be observed anywhere in the generated trace
New quality indicator to measure these properties
![Page 10: Hybrid Approach to System-Level Performance Analysis](https://reader036.vdocuments.us/reader036/viewer/2022062304/568134d1550346895d9bfa80/html5/thumbnails/10.jpg)
Quality indicator (I)
1. Select all trace snippets Ti of length in trace T.
2. Compute the upper and lower curve from each trace snippet Ti.
Trace T …
Ti
Ti
![Page 11: Hybrid Approach to System-Level Performance Analysis](https://reader036.vdocuments.us/reader036/viewer/2022062304/568134d1550346895d9bfa80/html5/thumbnails/11.jpg)
Quality Indicator (II)
3. Set , if and , for all and , otherwise.
= ?
specification derived from trace
![Page 12: Hybrid Approach to System-Level Performance Analysis](https://reader036.vdocuments.us/reader036/viewer/2022062304/568134d1550346895d9bfa80/html5/thumbnails/12.jpg)
Quality Indicator (III)
4. Compute where denotes the number of considered trace snippets .
TiTiTi
![Page 13: Hybrid Approach to System-Level Performance Analysis](https://reader036.vdocuments.us/reader036/viewer/2022062304/568134d1550346895d9bfa80/html5/thumbnails/13.jpg)
Quality Indicator (IV)
5. Set
Measure for self-similarity of trace The larger I, the “better” the trace T
represents the specification curves
![Page 14: Hybrid Approach to System-Level Performance Analysis](https://reader036.vdocuments.us/reader036/viewer/2022062304/568134d1550346895d9bfa80/html5/thumbnails/14.jpg)
How to determine Switching time?
• Deterministic algorithm leads to optimal indicator value (optimal under certain conditions)– Problem: randomized traces preferable for analysis
• Randomized version of deterministic algorithm uniform distribution of switching times
• Weibull distribution [Anastasi’98],[Barford’98] used as control runs
![Page 15: Hybrid Approach to System-Level Performance Analysis](https://reader036.vdocuments.us/reader036/viewer/2022062304/568134d1550346895d9bfa80/html5/thumbnails/15.jpg)
Examples for Generated Traces
![Page 16: Hybrid Approach to System-Level Performance Analysis](https://reader036.vdocuments.us/reader036/viewer/2022062304/568134d1550346895d9bfa80/html5/thumbnails/16.jpg)
Experiments
![Page 17: Hybrid Approach to System-Level Performance Analysis](https://reader036.vdocuments.us/reader036/viewer/2022062304/568134d1550346895d9bfa80/html5/thumbnails/17.jpg)
![Page 18: Hybrid Approach to System-Level Performance Analysis](https://reader036.vdocuments.us/reader036/viewer/2022062304/568134d1550346895d9bfa80/html5/thumbnails/18.jpg)
Comparison
0
0.2
0.4
0.6
0.8
1
1.2
1 2 3 4 5 6 7 8 9 10 11 12 13
Parameter settings
No
rma
lize
d I
nd
ica
tor
Va
lue
s I
Specification 1
Specification 2
![Page 19: Hybrid Approach to System-Level Performance Analysis](https://reader036.vdocuments.us/reader036/viewer/2022062304/568134d1550346895d9bfa80/html5/thumbnails/19.jpg)
Case StudyExperiment Evaluation
MethodEvaluationTime [s]
1 Simulation 508
2 Hybrid 292
3 Real-Time Calculus
0.27
save evaluation time• less simulation runs needed for good coverage• single simulation run is faster
shorter development times for evaluation models• use available models
suitable for design space exploration
![Page 20: Hybrid Approach to System-Level Performance Analysis](https://reader036.vdocuments.us/reader036/viewer/2022062304/568134d1550346895d9bfa80/html5/thumbnails/20.jpg)
Conclusion
• Definition of interfaces needed for hybrid performance models
• Applicability shown using example
• Automated tool chain at hand for hybrid approach