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

Slides:



Advertisements
Similar presentations
Fakultät für informatik informatik 12 technische universität dortmund Standard Optimization Techniques Peter Marwedel Informatik 12 TU Dortmund Germany.
Advertisements

Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Modular Performance Analysis with Real-Time Calculus Lothar Thiele,
November 23, 2005 Egor Bondarev, Michel Chaudron, Peter de With Scenario-based PA Method for Dynamic Component-Based Systems Egor Bondarev, Michel Chaudron,
© 2004 Wayne Wolf Topics Task-level partitioning. Hardware/software partitioning.  Bus-based systems.
ECE-777 System Level Design and Automation Hardware/Software Co-design
The GDSE Framework A Meta-Tool for Automated Design Space Exploration Tripti Saxena Graduate Student Vanderbilt University 1.
ECE 720T5 Fall 2011 Cyber-Physical Systems Rodolfo Pellizzoni.
Yaron Doweck Yael Einziger Supervisor: Mike Sumszyk Spring 2011 Semester Project.
*time Optimization Heiko, Diego, Thomas, Kevin, Andreas, Jens.
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
- 1 -  P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Hardware/Software Codesign.
Lab Meeting Performance Analysis of Distributed Embedded Systems Lothar Thiele and Ernesto Wandeler Presented by Alex Cameron 17 th August, 2012.
1 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Performance Analysis of Embedded Systems Lothar Thiele ETH Zurich.
Hybrid Approach to System-Level Performance Analysis Simon Künzli Bologna, May 22, 2006 contains joint work with Francesco Poletti, Luca Benini, and Lothar.
1 HW/SW Partitioning Embedded Systems Design. 2 Hardware/Software Codesign “Exploration of the system design space formed by combinations of hardware.
CS244-Introduction to Embedded Systems and Ubiquitous Computing Instructor: Eli Bozorgzadeh Computer Science Department UC Irvine Winter 2010.
Hardware-based Load Generation for Testing Servers Lorenzo Orecchia Madhur Tulsiani CS 252 Spring 2006 Final Project Presentation May 1, 2006.
1 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Design Space Exploration of Embedded Systems © Lothar Thiele ETH Zurich.
Chapter 13 Embedded Systems
Scheduling with Optimized Communication for Time-Triggered Embedded Systems Slide 1 Scheduling with Optimized Communication for Time-Triggered Embedded.
Courseware Basics of Real-Time Scheduling Jan Madsen Informatics and Mathematical Modelling Technical University of Denmark Richard Petersens Plads, Building.
An Adaptive Multi-Objective Scheduling Selection Framework For Continuous Query Processing Timothy M. Sutherland Bradford Pielech Yali Zhu Luping Ding.
ARTIST2 Network of Excellence on Embedded Systems Design cluster meeting –Bologna, May 22 nd, 2006 System Modelling Infrastructure Activity leader : Jan.
Trend towards Embedded Multiprocessors Popular Examples –Network processors (Intel, Motorola, etc.) –Graphics (NVIDIA) –Gaming (IBM, Sony, and Toshiba)
HW/SW Co-Synthesis of Dynamically Reconfigurable Embedded Systems HW/SW Partitioning and Scheduling Algorithms.
Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Influence of different system abstractions on the performance analysis.
A Tool for Describing and Evaluating Hierarchical Real-Time Bus Scheduling Policies Author: Trevor Meyerowitz, Claudio Pinello, Alberto DAC2003, June 24,2003.
1 Embedded Computer System Laboratory RTOS Modeling in Electronic System Level Design.
Universität Dortmund  P. Marwedel, Univ. Dortmund, Informatik 12, 2003 Hardware/software partitioning  Functionality to be implemented in software.
1 Presenter: Ming-Shiun Yang Sah, A., Balakrishnan, M., Panda, P.R. Design, Automation & Test in Europe Conference & Exhibition, DATE ‘09. A Generic.
Course Outline DayContents Day 1 Introduction Motivation, definitions, properties of embedded systems, outline of the current course How to specify embedded.
Design Space Exploration
1 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Internal Design Representations for Embedded System Design Lothar.
COMPUTER SCIENCE &ENGINEERING Compiled code acceleration on FPGAs W. Najjar, B.Buyukkurt, Z.Guo, J. Villareal, J. Cortes, A. Mitra Computer Science & Engineering.
1 Performance Evaluation of Computer Systems and Networks Introduction, Outlines, Class Policy Instructor: A. Ghasemi Many thanks to Dr. Behzad Akbari.
Automated Design of Custom Architecture Tulika Mitra
Salim Hariri HPDC Laboratory Enhanced General Switch Management Protocol Salim Hariri Department of Electrical and Computer.
1 Towards Optimal Custom Instruction Processors Wayne Luk Kubilay Atasu, Rob Dimond and Oskar Mencer Department of Computing Imperial College London HOT.
Evaluation and Validation Peter Marwedel TU Dortmund, Informatik 12 Germany 2013 年 12 月 02 日 These slides use Microsoft clip arts. Microsoft copyright.
F. Gharsalli, S. Meftali, F. Rousseau, A.A. Jerraya TIMA laboratory 46 avenue Felix Viallet Grenoble Cedex - France Embedded Memory Wrapper Generation.
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
Performance evaluation of component-based software systems Seminar of Component Engineering course Rofideh hadighi 7 Jan 2010.
CS244-Introduction to Embedded Systems and Ubiquitous Computing Instructor: Eli Bozorgzadeh Computer Science Department UC Irvine Winter 2010.
Resource Mapping and Scheduling for Heterogeneous Network Processor Systems Liang Yang, Tushar Gohad, Pavel Ghosh, Devesh Sinha, Arunabha Sen and Andrea.
ESPL 1 Wordlength Optimization with Complexity-and-Distortion Measure and Its Application to Broadband Wireless Demodulator Design Kyungtae Han and Brian.
MILAN: Technical Overview October 2, 2002 Akos Ledeczi MILAN Workshop Institute for Software Integrated.
MAPLD 2005/254C. Papachristou 1 Reconfigurable and Evolvable Hardware Fabric Chris Papachristou, Frank Wolff Robert Ewing Electrical Engineering & Computer.
6. A PPLICATION MAPPING 6.3 HW/SW partitioning 6.4 Mapping to heterogeneous multi-processors 1 6. Application mapping (part 2)
A Systematic Approach to the Design of Distributed Wearable Systems Urs Anliker, Jan Beutel, Matthias Dyer, Rolf Enzler, Paul Lukowicz Computer Engineering.
System-level power analysis and estimation September 20, 2006 Chong-Min Kyung.
High Performance Embedded Computing © 2007 Elsevier Chapter 7, part 3: Hardware/Software Co-Design High Performance Embedded Computing Wayne Wolf.
High-Speed Policy-Based Packet Forwarding Using Efficient Multi-dimensional Range Matching Lakshman and Stiliadis ACM SIGCOMM 98.
Self-Adaptive Embedded Technologies for Pervasive Computing Architectures Self-Adaptive Networked Entities Concept, Implementations,
Goals in Wearable Computing Jan Beutel, Michael Eisenring, Marco Platzner, Christian Plessl, Lothar Thiele Computer Engineering and Networks Lab Swiss.
Resource Optimization for Publisher/Subscriber-based Avionics Systems Institute for Software Integrated Systems Vanderbilt University Nashville, Tennessee.
CHaRy Software Synthesis for Hard Real-Time Systems
Programmable Hardware: Hardware or Software?
Dynamo: A Runtime Codesign Environment
Gabor Madl Ph.D. Candidate, UC Irvine Advisor: Nikil Dutt
Model-Driven Analysis Frameworks for Embedded Systems
Standard Optimization Techniques
CSCI1600: Embedded and Real Time Software
CPU Scheduling G.Anuradha
Evaluation and Validation
Throughput-Optimal Broadcast in Dynamic Wireless Networks
Multi-Objective Optimization
The use of Neural Networks to schedule flow-shop with dynamic job arrival ‘A Multi-Neural Network Learning for lot Sizing and Sequencing on a Flow-Shop’
Department of Electrical Engineering Joint work with Jiong Luo
CSCI1600: Embedded and Real Time Software
Leonie Ahrendts, Sophie Quinton, Thomas Boroske, Rolf Ernst
Presentation transcript:

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

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

3 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory 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 DSP CC CC image coprocessor CAN interface SDRAM RISC FPGA

4 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Target Platform Communication micro-network on chip for synchronization and data exchange consisting of busses, routers, drivers some critical issues: topology, switching strategies (packet, circuit), routing strategies (static – reconfigurable – dynamic), arbitration policies (dynamic, TDM, CDMA, fixed priority) challenges: heterogeneous components and requirements, compose network that matches the traffic characteristics of a given application (domain)

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

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

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

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

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

10 Swiss Federal Institute of Technology 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 input trace mixed model function:application structure:hardware-software architecture output trace

11 Swiss Federal Institute of Technology 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 complete trace communication architecture abstract graph trace simulation estimation results [Lahiri et. al, 2001]

12 Swiss Federal Institute of Technology 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

13 Swiss Federal Institute of Technology 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

14 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Dynamic Analytic Models input traces model of environment spec. of inputs component simulation system model estimation results data sheets model of components model of architecture

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

16 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Bounds, Guarantees and Predictability Example: end-to-end delay t best case worst case lower bound upper bound interference non-determinism design limited analysis design analysis techniques causesinfluences

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

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

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

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

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

22 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Allocation and Binding Allocation can be represented as a function: Binding is a relation: Binding restrictions: task1 task2 task3 task4 class filter schedule risc

23 Swiss Federal Institute of Technology 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)

24 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Real-Time Calculus Example of a dynamic analytic model Characteristics yields worst case estimation results for memory, delay, throughput takes into account application structure (task graph representation) architecture and mapping (computation, communication, scheduling) environment (characterization of input traces)

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

26 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Application HndlDecDisp Application p=1 s, j=0.2 s

27 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Hardware Architecture HndlDecDisp 22 MIPS10 MIPS Application HW Architecture 72 kbps p=1 s, j=0.2 s

28 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Mapping HndlDecDisp 22 MIPS10 MIPS Application HW Architecture Mapping 72 kbps p=1 s, j=0.2 s

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

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

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

32 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Optimization with conflicting goals Multiobjective optimization: Find a set of optimal trade-offs Example: computer design resolutioncostpowersizeperformanceweight conflicts trade-offs

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

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

35 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Multiobjective Optimization (x 1, x 2, …, x n ) (y 1, y 2, …, y k ) Difficulties:  large search space  multiple optima Pareto optimal = not dominated dominated f Minimize x1x1 y1y1 y2y2 x2x2 decision space objective space

36 Swiss Federal Institute of Technology 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.

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

38 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Evolutionary Algorithms Principles of Evolution  Selection  Cross-over  Mutation

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

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

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

42 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Exploration Cycle EXPO – Tool architecture MOSES EXPOSPEA 2 selection of “good” architectures system architecture performance values task graph, scenario graph, flows & resources Tool available online: Tool available online:

43 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory The Concept of PISA SPEA2 NSGA-II PAES Algorithms Applications knapsack TSP network processor design Platform and programming language independent Interface for Search Algorithms [Bleuler et al.: 2002]

44 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory PISA: Implementation selector process text files shared file system variator process application independent: mating / environmental selection individuals are described by IDs and objective vectors handshake protocol: state / action individual IDs objective vectors parameters application dependent: variation operators stores and manages individuals

45 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory PISA Website

46 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory EXPO - Tool

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

48 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Validation Strategy Comparison Analytical Component Models Analytical System Model Arrival Curves Hardware Components (bus, bridge, memory, processor) Parameters Simple workloads SystemC Component Models SystemC Component Models SystemC System Model Traces Complex workloads