1 / 48

Performance Analysis of  Embedded Systems

Performance Analysis of  Embedded Systems. Lothar Thiele ETH Zurich. Overview. Review of General Aspects Modular Performance Analysis Real-Time Calculus Modeling Application Scenarios. Communication Templates. Computation Templates. DSP. SDRAM. ECU. RISC. CAN interface. m C.

Télécharger la présentation

Performance Analysis of  Embedded Systems

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Performance Analysis of Embedded Systems Lothar Thiele ETH Zurich

  2. Overview • Review of General Aspects • Modular Performance Analysis • Real-Time Calculus • Modeling • Application Scenarios

  3. Communication Templates Computation Templates DSP SDRAM ECU RISC CANinterface mC Scheduling and ArbitrationTemplates Architecture SDRAM RISC TDMA EDF EDF proportionalshare priority FCFS WFQ dynamicfixed priority static ECU ECU System Composition

  4. Role of Performance Estimation • Design validation: • equivalence of specification and implementation • validation of non-functional aspects (power consumption, throughput, delay) • Prerequisite for design space exploration: • part of feedback cycle in design • Performance estimation methods: • use of simulation, trace-based estimation and analytic methods

  5. Application Architecture Mapping Estimation Design Space Exploration Takes place on several levels of abstraction

  6. Why Is Estimation Difficult ? • Non-determinism: • Uncertain system environment (different load scenarios, unknown (worst case) input patterns). • Data dependent functional behavior. • Analyzability: • Complex hardware and software interactions in processing nodes, communication components, scheduling and arbitration policies. • Use of abstractions in analysis -> non-determinism. • Interference: • Internal data streams interact on computing and communication resources. • This interference determines stream characteristics (cyclic dependency).

  7. Why is Estimation Difficult ? applicationstructure EPU EPU hardwareplatform EPU EPU

  8. best case predictability worst case predictability w.c. guarantee w.c. performance t 0 lowerbound bestcase worstcase upperbound variation of execution time Bounds, Guarantees and Predictability

  9. Overview • Review of General Aspects • Composable Performance Analysis • Real-Time Calculus • Modeling • Application Scenarios

  10. A Four-Step Approach • Abstraction: Build abstract models for “first class citizens”event streams -> abstract event streamsarchitecture elements -> resource modulesapplication processes -> performance modules • Performance Components: Combine performance modules using resource sharing information • Performance Network: Combine all models to a network that represents the performance aspects • Analysis

  11. applicationprocess performancemodules abstract event streams event streams abstract loadscenarios The “Big Picture” Application Specification T1 T2 T3 loadscenarios Abstract Application mapping relations performancecomponents Performance Network resourcemodules Abstract Architecture architectureelements ARM9 DSP Architecture Specification

  12. Step 1: Abstract Application Model From a functional model… event stream applicationprocess (e.g. StateCharts … )

  13. Step 1: Abstract Functional Units … to an abstract application model How do we calculate with abstract event streams and resources units? abstractresource stream performancemodule abstractevent stream We use Real-Time Calculus! (min-max algebra)

  14. Step 2: Build Performance Components How do we do scheduling?

  15. Step 2: Scheduling I Fixed Priority (FP)

  16. Performance component of a combined HW/SW/OS module; exposes performance properties but hides implementation Step 2: Scheduling II share Generalized Processor Sharing (GPS) S

  17. b b b b a GPS FP FP Application 1 b’ b’ a Application 2 GPS GPS FP b’ b’’ b’’ b’ Step 3 and 4: Compose and Analyze How can we estimate the load on resources? How can we estimate delay and memory? How can we compose performance modules ? How can we add a new application? ARM9 Bus DSP2 DSP1

  18. Dynamic Analytic Models programanalysis formalspecification datasheets model ofcomponents inputtraces systemmodel model of environment formalspecific. analysis estimationresults

  19. Overview • Review of General Aspects • Modular Performance Analysis • Real-Time Calculus • Modeling • Application Scenarios

  20. Scheduling Abstraction • Idea: • unified view of task scheduling, arbitration and output scheduling in networks: • methods: • queueing theory (statistical bounds, Markov chains) • real-time calculus (worst case bounds, min-max algebra)

  21. Foundations of Real-Time-Calculus • Linear System Theory [Baccelli, Cohen, Olsder, Quadrat 1992] • Calculus for Networks [Le Boudec 1998, 2001], [Cruz 1991] • Adversarial Queuing Theory [Andrews, Borodin, Kleinberg, Leighton, … 1996] • End-to-end deadlines [Parekh, Gallager 1994]

  22. Event and Resource Models How do we describe uncertain event streams and resources?

  23. Arrival and Service Curves

  24. au al D D D Event & Resource Models • Use arrival curves to capture packet streams: # of packets max: 1 packet min: 0 packets max: 3 packets min: 1 packet max: 2 packets min: 0 packets 3 2 1 D time t 0 1 2

  25. Arrival Curves • Use the concept of arrival curves ! How do we describe uncertain input streams ? maximum/minimum number of packets in any interval of length 4 number of packets in time interval [0,4]

  26. Service Curves • Use the concept of service curves ! How do we describe uncertain resources ? maximum/minimum computing power in any interval of length 2 computing power in time interval [0,2]

  27. Arrival and Service Curves • What else: • sub- and super-additivity • relation to max-+ algebra • operations correspond to convolution

  28. Transformation of Curves by Modules

  29. Performance Modules

  30. Compose and Analyze I/O bus mP DSP prop.share fixedprio. fixedprio. fixedprio.

  31. service curvebl delay d arrival curveau b backlog b Compose and Analyze

  32. Everything Together application structure performancememory delay App. Model inputstreammodel AllocationBindingScheduling PerformanceNetwork resourcemodel Architecture Model TDMA WFQ fixedpriority

  33. Overview • Review of General Aspects • Modular Performance Analysis • Real-Time Calculus • Modeling • Application Scenarios

  34. Open Questions • How do we model different event types and correlation in event streams ? • How do we model type-dependent processing (different modes of operation, example MPEG coding and decoding) ? • How do we model caches ? Use more involved abstractions, for example finite state automata

  35. Refined Abstractions using FSMs

  36. Event Stream Model #events vs. time interval order of events

  37. Functional Unit Model FSM can model • architecture details • program flow • scheduling policies • type-dependent behavior Improvement in estimation quality in several application studies. input_event/resource_demand/output_event

  38. Additional Analysis Methods • Analyze timed FSMs with respect to their timing properties. • For example: • Applicable methods: minimum cycle mean [Karp], periodic graphs [Cohen, Dubois, Quadrat] minimal and maximal accumulated delay/demand/eventsfor n consecutive transitions (and its inverse) in a compact representation

  39. Missing Link(s) • Link to lower layer analysis methods (like abstract interpretation) model of computer architecture assembler program analysis d,e,f,g a,b,c

  40. Overview • Review of General Aspects • Modular Performance Analysis • Real-Time Calculus • Modeling • Application Scenarios

  41. Experiences • Network processor modeling (IBM) • Detailed study of a network processor • Good match between simulation and analytic methods (delay, memory) • Use of methodology in other projects and case studies • BridgeCo • Siemens • Netmodule • Implementation and integration into design space exploration

  42. Application Model • Example of a simple stream processing task structure:

  43. Architecture Model • In general, we assume an arbitrary heterogeneous architecture consisting of computing resources, memory and communication resources.

  44. Design Space Exploration Strategy

  45. system architectureperformance values task graph, scenario graph, flows & resources selection of “good” architectures EXPO – Tool architecture MOSES EXPO SPEA 2 Exploration Cycle

  46. EXPO - Tool Tool available online: http://www.tik.ee.ethz.ch/expo/expo.html

  47. Results Performance for encryption/decryption Performance for RT voice processing

  48. Acknowledgement • The presentation contains contributions by • Samarjit Chakraborty • Matthias Dyer • Simon Künzli • Matthias Gries • Alexander Maxiaguine

More Related