01ca6dcb14e8d800a52241498eb73c9c.ppt

- Количество слайдов: 34

Design Space Exploration of Embedded Systems © Lothar Thiele ETH Zurich Swiss Federal Institute of Technology 1 Computer Engineering and Networks Laboratory

Overview Review of General Aspects Basic Models and Methods Multi-Criteria Optimization Applications Swiss Federal Institute of Technology 2 Computer Engineering and Networks Laboratory

Target Platform Heterogeneous computing and memory resources • some resource types: GP processors, ASIPs (DSP, micro-controller), weakly programmable coprocessors, re-configurable components, hard coded IP components image coprocessor SDRAM m. C DSP FPGA RISC CAN interface • heterogeneous platform software: RTOS, scheduling (pre-emptive, static, dynamic), synchronization Swiss Federal Institute of Technology 3 Computer Engineering and Networks Laboratory

Design Space Scheduling/Arbitration Computation Templates Communication Templates Cipher FPGA SDRAM proportional FCFS share WFQ DSP RISC TDMA EDF Which architecture is better suiteddynamic fixed priority Look. Up m. E for our application? Architecture # 2 Architecture # 1 Look. Up RISC EDF m. E TDMA DSP Swiss Federal Institute of Technology m. E static Priority Cipher static m. E WFQ 5 m. E Computer Engineering and Networks Laboratory

Design Space Exploration Application Architecture Mapping Analysis This process takes place on several levels of abstraction. Swiss Federal Institute of Technology 6 Computer Engineering and Networks Laboratory

Design Space Exploration Application Architecture Mapping Analysis This talk: Exploration and Analysis on a high level of abstraction. Swiss Federal Institute of Technology 7 Computer Engineering and Networks Laboratory

Design Space Exploration Application Architecture Mapping Analysis (Semi-) Automated Design Space Exploration This talk: Exploration and Analysis on a high level of abstraction. Swiss Federal Institute of Technology 8 Computer Engineering and Networks Laboratory

Why is Performance Analysis Difficult? task 1 complex behavior - input stream - data dependent behavior task 2 task 3 CPU 1 I/O CPU 2 task 4 DSP interference - limited resources - scheduling/arbitration interference of multiple applications - limited resources - scheduling/arbitration - anomalies Swiss Federal Institute of Technology 9 Computer Engineering and Networks Laboratory

Simulation Target architecture co-simulation • combines functional and performance validation • extensive runtimes • worst case inputs ? • test case definition ? • re-targeting expensive mixed model input trace Swiss Federal Institute of Technology function: structure: application hardware-software architecture 10 output trace Computer Engineering and Networks Laboratory

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 input trace functional model [Lahiri et. al, 2001] Swiss Federal Institute of Technology complete trace abstract graph communication architecture trace simulation 11 estimation results Computer Engineering and Networks Laboratory

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 Swiss Federal Institute of Technology 12 Computer Engineering and Networks Laboratory

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 Swiss Federal Institute of Technology 13 Computer Engineering and Networks Laboratory

Summary Timing Accuracy Simulation Trace-based simulation Dynamic analytic methods Static analytic methods Coverage Swiss Federal Institute of Technology Run-time 15 Computer Engineering and Networks Laboratory

Overview Review of General Aspects Basic Models and Methods Multi-Criteria Optimization Applications Swiss Federal Institute of Technology 17 Computer Engineering and Networks Laboratory

Examples Event Stream Processing ©UCB Rabaey Embedded Internet Devices method (a)(fsd) for I=1 to n do nothing call comm(a, dsf, *e); end for Wearable Computing Core Access Mobile Internet Swiss Federal Institute of Technology 18 Computer Engineering and Networks Laboratory

Application Model Example of a simple stream processing task structure: Swiss Federal Institute of Technology 19 Computer Engineering and Networks Laboratory

Architecture Templates In general, we assume an arbitrary heterogeneous architecture consisting of computing resources, memory and communication resources. event Swiss Federal Institute of Technology 20 events Computer Engineering and Networks Laboratory

Mapping Model Swiss Federal Institute of Technology 21 Computer Engineering and Networks Laboratory

Allocation and Binding Allocation can be represented as a function: task 1 Binding is a relation: task 2 task 3 task 4 class filter schedule risc Binding restrictions: Swiss Federal Institute of Technology 22 Computer Engineering and Networks Laboratory

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) Swiss Federal Institute of Technology 23 Computer Engineering and Networks Laboratory

Modular Performance Analysis application hardware architecture mapping, scheduling system architecture model environment model performance model architectural element model analysis Swiss Federal Institute of Technology 29 Computer Engineering and Networks Laboratory

Overview Review of General Aspects Basic Models and Methods Multi-Criteria Optimization Applications Swiss Federal Institute of Technology 30 Computer Engineering and Networks Laboratory

Why Performance Analysis? Application Architecture Mapping Analysis (Semi-) Automated Design Space Exploration This talk: Exploration and Analysis on a high level of abstraction. Swiss Federal Institute of Technology 31 Computer Engineering and Networks Laboratory

Optimization with conflicting goals Multiobjective optimization: Find a set of optimal trade-offs • Example: computer design performance power resolution weight size cost conflicts trade-offs Swiss Federal Institute of Technology 32 Computer Engineering and Networks Laboratory

Multi-objective Optimization Swiss Federal Institute of Technology 33 Computer Engineering and Networks Laboratory

Multiobjective Optimization Maximize (y 1, y 2, …, yk) = (x 1, x 2, …, xn) y 2 Pareto optimal = not dominated better incomparable worse dominated incomparable y 1 Pareto set = set of all Pareto-optimal solutions Swiss Federal Institute of Technology 34 Computer Engineering and Networks Laboratory

Multiobjective Optimization (x 1, x 2, …, xn) Minimize f x 2 (y 1, y 2, …, yk) y 2 objective space decision space dominated y 1 x 1 Difficulties: large search space Swiss Federal Institute of Technology 35 Pareto optimal = not dominated multiple optima Computer Engineering and Networks Laboratory

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. Swiss Federal Institute of Technology 36 Computer Engineering and Networks Laboratory

Traditional Approaches multiple objectives (y 1, y 2, …, yk) parameters transformation y 2 single objective y Example: weighting approach (w 1, w 2, …, wk) y = w 1 y 1 + … + wkyk y 1 Swiss Federal Institute of Technology 37 Computer Engineering and Networks Laboratory

A Generic Multiobjective EA population archive evaluate sample vary update truncate new population Swiss Federal Institute of Technology 39 new archive Computer Engineering and Networks Laboratory

An Evolutionary Algorithm in Action max. y 2 hypothetical trade-off front min. y 1 Swiss Federal Institute of Technology 40 Computer Engineering and Networks Laboratory

Overview Review of General Aspects Basic Models and Methods Multi-Criteria Optimization Applications Swiss Federal Institute of Technology 41 Computer Engineering and Networks Laboratory

EXPO – Tool architecture MOSES Tool available online: http: //www. tik. ee. ethz. ch/expo. html system architecture performance values EXPO task graph, scenario graph, flows & resources SPEA 2 Exploration Cycle selection of “good” architectures Swiss Federal Institute of Technology 42 Computer Engineering and Networks Laboratory

Results Performance for encryption/decryption Swiss Federal Institute of Technology Performance for RT voice processing 47 Computer Engineering and Networks Laboratory