1 / 34

Design Space Exploration of Embedded Systems

Design Space Exploration of Embedded Systems. © Lothar Thiele ETH Zurich. Overview. Review of General Aspects Basic Models and Methods Multi-Criteria Optimization Applications. Target Platform. Heterogeneous computing and memory resources

yardan
Télécharger la présentation

Design Space Exploration 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. Design Space Explorationof Embedded Systems © Lothar Thiele ETH Zurich

  2. Overview • Review of General Aspects • Basic Models and Methods • Multi-Criteria Optimization • Applications

  3. Target Platform • Heterogeneous computing and memory resources • some resource types: GP processors, ASIPs (DSP, micro-controller), weakly programmable co-processors, re-configurable components, hard coded IP components • heterogeneous platform software: RTOS, scheduling (pre-emptive, static, dynamic), synchronization RISC imagecoprocessor SDRAM DSP CANinterface mC FPGA

  4. Scheduling/Arbitration Computation Templates Communication Templates TDMA EDF Cipher FPGA proportionalshare FCFS WFQ DSP DSP RISC SDRAM dynamicfixed priority static LookUp mE Architecture # 2 Architecture # 1 Which architecture is better suited for our application? Design Space LookUp RISC EDF mE mE mE TDMA static Priority mE mE mE WFQ Cipher DSP

  5. Application Architecture Mapping Analysis This process takes place on several levels of abstraction. Design Space Exploration

  6. Application Architecture Mapping Analysis This talk: Exploration and Analysis on a high level of abstraction. Design Space Exploration

  7. Application Architecture Mapping Analysis This talk: Exploration and Analysis on a high level of abstraction. Design Space Exploration (Semi-) Automated Design Space Exploration

  8. Why is Performance Analysis Difficult? • complex behavior- input stream- data dependent behavior task1 task2 task3 task4 CPU1 I/O • interference- limited resources- scheduling/arbitration • interference of multiple applications- limited resources- scheduling/arbitration- anomalies CPU2 DSP

  9. Simulation • Target architecture co-simulation • combines functional and performance validation • extensive runtimes • worst case inputs ? • test case definition ? • re-targeting expensive mixed modelfunction: application structure: hardware-software architecture inputtrace outputtrace

  10. Trace-Based Simulation • Steps: • execution trace determined by co-simulation • abstract representation using communication graph • extension of graph by actual architecture • Faster than simulation, but still based on single trace inputtrace functionalmodel completetrace abstractgraph communication architecture trace simulation estimationresults [Lahiri et. al, 2001]

  11. Static Analytic Models • Steps: • describe computing, communication and memory resources by algebraic equations, e.g. • describe properties of input using parameters, e.g. input data rate • combine relations • Fast and simple estimation • Generally inaccurate modeling of shared resources

  12. Dynamic Analytic Models • Combination between • static models, possibly extended by their dynamic behavior, e.g. non-determinism in run-time and event processing • dynamic models for describing shared resources (scheduling and arbitration) • Variants • queuing theory (statistical models, average case) • real-time calculus (interval methods, worst case) • More accurate than static models

  13. Coverage Summary Timing Accuracy Simulation Trace-based simulation Dynamic analytic methods Static analytic methods Run-time

  14. Overview • Review of General Aspects • Basic Models and Methods • Multi-Criteria Optimization • Applications

  15. ©UCB Rabaey Embedded InternetDevices method (a)(fsd)for I=1 to n do nothing call comm(a,dsf,*e);end for Wearable Computing Core Access Mobile Internet Examples Event Stream Processing

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

  17. Architecture Templates • In general, we assume an arbitrary heterogeneous architecture consisting of computing resources, memory and communication resources. event event events

  18. Mapping Model

  19. Allocation and Binding • Allocation can be represented as a function: • Binding is a relation: • Binding restrictions: task1 class task2 filter task3 schedule task4 risc

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

  21. Modular Performance Analysis application hardware architecture mapping, scheduling system architecture model performance model architectural element model environment model analysis

  22. Overview • Review of General Aspects • Basic Models and Methods • Multi-Criteria Optimization • Applications

  23. Application Architecture Mapping Analysis This talk: Exploration and Analysis on a high level of abstraction. Why Performance Analysis? (Semi-) Automated Design Space Exploration

  24. performance power resolution weight size cost conflicts trade-offs Optimization with conflicting goals • Multiobjective optimization: Find a set of optimal trade-offs • Example: computer design

  25. Multi-objective Optimization

  26. y2 y2 Pareto optimal = not dominated better dominated incomparable worse incomparable y1 y1 Multiobjective Optimization Maximize (y1, y2, …, yk) = (x1, x2, …, xn) Pareto set = set of all Pareto-optimal solutions

  27. Multiobjective Optimization Minimize (x1, x2, …, xn) (y1, y2, …, yk) Difficulties:  large search space multiple optima f x2 y2 objective space decision space dominated Pareto optimal = not dominated y1 x1

  28. Optimization Alternatives • Use of classical single objective optimization methods • simulated annealing, tabu search • integer linear program • other constructive or iterative heuristic methods • Decision making (weighting the different objectives) is done before the optimization. • Population based optimization methods • evolutionary algorithms • genetic algorithms • Decision making is done after the optimization.

  29. y2 (w1, w2, …, wk) y = w1y1 + … + wkyk y1 Traditional Approaches parameters multiple objectives single objective transformation y (y1, y2, …, yk) Example: weighting approach

  30. A Generic Multiobjective EA population archive evaluatesamplevary updatetruncate new archive new population

  31. max. y2 min. y1 An Evolutionary Algorithm in Action hypothetical trade-off front

  32. Overview • Review of General Aspects • Basic Models and Methods • Multi-Criteria Optimization • Applications

  33. system architectureperformance values task graph, scenario graph, flows & resources selection of “good” architectures EXPO – Tool architecture Tool available online: http://www.tik.ee.ethz.ch/expo/expo.html MOSES EXPO SPEA 2 Exploration Cycle

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

More Related