350 likes | 594 Views
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
E N D
Design Space Explorationof 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 • 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
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
Application Architecture Mapping Analysis This process takes place on several levels of abstraction. Design Space Exploration
Application Architecture Mapping Analysis This talk: Exploration and Analysis on a high level of abstraction. Design Space Exploration
Application Architecture Mapping Analysis This talk: Exploration and Analysis on a high level of abstraction. Design Space Exploration (Semi-) Automated Design Space Exploration
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
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
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]
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
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
Coverage Summary Timing Accuracy Simulation Trace-based simulation Dynamic analytic methods Static analytic methods Run-time
Overview • Review of General Aspects • Basic Models and Methods • Multi-Criteria Optimization • Applications
©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
Application Model • Example of a simple stream processing task structure:
Architecture Templates • In general, we assume an arbitrary heterogeneous architecture consisting of computing resources, memory and communication resources. event event events
Allocation and Binding • Allocation can be represented as a function: • Binding is a relation: • Binding restrictions: task1 class task2 filter task3 schedule task4 risc
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)
Modular Performance Analysis application hardware architecture mapping, scheduling system architecture model performance model architectural element model environment model analysis
Overview • Review of General Aspects • Basic Models and Methods • Multi-Criteria Optimization • Applications
Application Architecture Mapping Analysis This talk: Exploration and Analysis on a high level of abstraction. Why Performance Analysis? (Semi-) Automated Design Space Exploration
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
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
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
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.
y2 (w1, w2, …, wk) y = w1y1 + … + wkyk y1 Traditional Approaches parameters multiple objectives single objective transformation y (y1, y2, …, yk) Example: weighting approach
A Generic Multiobjective EA population archive evaluatesamplevary updatetruncate new archive new population
max. y2 min. y1 An Evolutionary Algorithm in Action hypothetical trade-off front
Overview • Review of General Aspects • Basic Models and Methods • Multi-Criteria Optimization • Applications
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
Results Performance for encryption/decryption Performance for RT voice processing