1 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Internal Design Representations for Embedded System Design Lothar.

Slides:



Advertisements
Similar presentations
Technische universität dortmund fakultät für informatik informatik 12 Specifications and Modeling Peter Marwedel TU Dortmund, Informatik
Advertisements

Embedded System, A Brief Introduction
Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Modular Performance Analysis with Real-Time Calculus Lothar Thiele,
© 2004 Wayne Wolf Topics Task-level partitioning. Hardware/software partitioning.  Bus-based systems.
Hardware/ Software Partitioning 2011 年 12 月 09 日 Peter Marwedel TU Dortmund, Informatik 12 Germany Graphics: © Alexandra Nolte, Gesine Marwedel, 2003 These.
1 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Design Space Exploration of Embedded Systems © Lothar Thiele ETH Zurich.
ECOE 560 Design Methodologies and Tools for Software/Hardware Systems Spring 2004 Serdar Taşıran.
Lab Meeting Performance Analysis of Distributed Embedded Systems Lothar Thiele and Ernesto Wandeler Presented by Alex Cameron 17 th August, 2012.
Addressing the System-on-a-Chip Interconnect Woes Through Communication-Based Design N. Vinay Krishnan EE249 Class Presentation.
1 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Performance Analysis of Embedded Systems Lothar Thiele ETH Zurich.
Overview of PTIDES Project
2/11/2010 BEARS 2010 On PTIDES Programming Model John Eidson Jeff C. Jensen Edward A. Lee Slobodan Matic Jia Zou PtidyOS.
Page 1 Building Reliable Component-based Systems Chapter 16 - Component based embedded systems Chapter 16 Component based embedded systems.
Architecture Modeling and Analysis for Embedded Systems Oleg Sokolsky CIS700 Fall 2005.
Component Technologies for Embedded Systems Johan Eker.
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.
Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Power Management for Solar-Driven Sensor Nodes Clemens Moser ( joint.
Behavioral Design Outline –Design Specification –Behavioral Design –Behavioral Specification –Hardware Description Languages –Behavioral Simulation –Behavioral.
Review of “Embedded Software” by E.A. Lee Katherine Barrow Vladimir Jakobac.
FunState – An Internal Design Representation for Codesign A model that enables representations of different types of system components. Mixture of functional.
1 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Design Space Exploration of Embedded Systems © Lothar Thiele ETH Zurich.
Ritu Varma Roshanak Roshandel Manu Prasanna
Chapter 13 Embedded Systems
ARTIST2 Network of Excellence on Embedded Systems Design cluster meeting –Bologna, May 22 nd, 2006 System Modelling Infrastructure Activity leader : Jan.
November 18, 2004 Embedded System Design Flow Arkadeb Ghosal Alessandro Pinto Daniele Gasperini Alberto Sangiovanni-Vincentelli
1 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Research Challenges in Embedded Computing Lothar Thiele.
Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Influence of different system abstractions on the performance analysis.
Mahapatra-Texas A&M-Fall'001 Codesign Framework Parts of this lecture are borrowed from lectures of Johan Lilius of TUCS and ASV/LL of UC Berkeley available.
Software Process Activities. Process activities Real software processes are inter-leaved sequences of technical, collaborative and managerial activities.
Architectural Design.
1  Staunstrup and Wolf Ed. “Hardware Software codesign: principles and practice”, Kluwer Publication, 1997  Gajski, Vahid, Narayan and Gong, “Specification,
Ekrem Kocaguneli 11/29/2010. Introduction CLISSPE and its background Application to be Modeled Steps of the Model Assessment of Performance Interpretation.
Reconfigurable Hardware in Wearable Computing Nodes Christian Plessl 1 Rolf Enzler 2 Herbert Walder 1 Jan Beutel 1 Marco Platzner 1 Lothar Thiele 1 1 Computer.
Chapter 10 Architectural Design
Course Outline DayContents Day 1 Introduction Motivation, definitions, properties of embedded systems, outline of the current course How to specify embedded.
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Eric Keller, Evan Green Princeton University PRESTO /22/08 Virtualizing the Data Plane Through Source Code Merging.
High Performance Computing & Communication Research Laboratory 12/11/1997 [1] Hyok Kim Performance Analysis of TCP/IP Data.
Software Pipelining for Stream Programs on Resource Constrained Multi-core Architectures IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEM 2012 Authors:
Extreme Makeover for EDA Industry
Section 10: Advanced Topics 1 M. Balakrishnan Dept. of Comp. Sci. & Engg. I.I.T. Delhi.
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
High Performance Embedded Computing © 2007 Elsevier Chapter 1, part 2: Embedded Computing High Performance Embedded Computing Wayne Wolf.
Real-Time Operating Systems for Embedded Computing 李姿宜 R ,06,10.
Salim Hariri HPDC Laboratory Enhanced General Switch Management Protocol Salim Hariri Department of Electrical and Computer.
Hardware/Software Co-design Design of Hardware/Software Systems A Class Presentation for VLSI Course by : Akbar Sharifi Based on the work presented in.
Leiden Embedded Research Center Prof. Dr. Ed F. Deprettere, Dr. Bart Kienhuis, Dr. Todor Stefanov Leiden Embedded Research Center (LERC) Leiden Institute.
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 Characterization and Architecture Exploration of PicoRadio Data Link Layer Mei Xu and Rahul Shah EE249 Project Fall 2001 Mentor: Roberto Passerone.
- 1 - EE898_HW/SW Partitioning Hardware/software partitioning  Functionality to be implemented in software or in hardware? No need to consider special.
Performance evaluation of component-based software systems Seminar of Component Engineering course Rofideh hadighi 7 Jan 2010.
C. André, J. Boucaron, A. Coadou, J. DeAntoni,
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
6. A PPLICATION MAPPING 6.3 HW/SW partitioning 6.4 Mapping to heterogeneous multi-processors 1 6. Application mapping (part 2)
Teaching Assistant Demonstrator - Contribution - Jan Beutel, Michael Eisenring, Marco Platzner, Christian Plessl, Lothar Thiele Computer Engineering and.
1 CALL 6 Key Action IV Introduction and Action Lines: IV.1.2, IV.2.1, IV.2.2, IV.2.4 Brussels, 16. Jan 2001 Colette Maloney European Commission.
CprE 588 Embedded Computer Systems Prof. Joseph Zambreno Department of Electrical and Computer Engineering Iowa State University Lecture #5 – System-Level.
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.
Abstract A Structured Approach for Modular Design: A Plug and Play Middleware for Sensory Modules, Actuation Platforms, Task Descriptions and Implementations.
1 Copyright  2001 Pao-Ann Hsiung SW HW Module Outline l Introduction l Unified HW/SW Representations l HW/SW Partitioning Techniques l Integrated HW/SW.
High Performance Embedded Computing © 2007 Elsevier Chapter 7, part 3: Hardware/Software Co-Design High Performance Embedded Computing Wayne Wolf.
Zurich Research Laboratory IBM Zurich Research Laboratory Adaptive End-to-End QoS Guarantees in IP Networks using an Active Network Approach Roman Pletka.
Goals in Wearable Computing Jan Beutel, Michael Eisenring, Marco Platzner, Christian Plessl, Lothar Thiele Computer Engineering and Networks Lab Swiss.
High Performance Embedded Computing © 2007 Elsevier Lecture 4: Models of Computation Embedded Computing Systems Mikko Lipasti, adapted from M. Schulte.
System-on-Chip Design
Advanced Computer Systems
Model-Driven Analysis Frameworks for Embedded Systems
Presentation transcript:

1 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Internal Design Representations for Embedded System Design Lothar Thiele ETH Zurich

2 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Disclosure The talk contains material from [Rolf Ernst, Dirk Ziegenbein et al., TU Braunschweig]. Work has been supported by Collaborators: Matthias Gries, Alexander Maxiaguine, Samarjit Chacraborty, Simon Künzli, Jonas Greutert

3 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Overview Packet Processing Multi-Language Design Calculus of Bounds Design Space Exploration

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

5 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Building Packet Processors Parse Search Modify Schedule Physical Implementation CPU Heterogeneous SW/HW CPU F2 F1 F3 CPU CPU-Array Logical Function Performance Memory Size Memory Bandwidth Power Consumption Die Size Flexibility

6 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Packet Processing vs. Signal Processing Packet Processing: interleaved flows of packets flow-specific task-chains variable data-sizes event bursts Signal Processing: single flow (signal) recurring task models word-level operations constant rate input

7 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Some Design Problems … … that are not independent of each other. Different tasks are described by different models of computation. We have to respect end-to-end delays of packets. Memory plays an important role and is a scarce ressource. How can we estimate the performance in case of an uncertain environment.

8 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Overview Packet Processing Multi-Language Design Calculus of Bounds Design Space Exploration

9 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Multi-Language Design Some observations: no single design language languages/semantics established in application domain: flow graphs, FSM, SDF, … domain specific optimizations required signal flow graph transformations, FSM transformations, buffer optimization, … investment in language environments larger software share increased design space with reuse constraints

10 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Current Approaches Individual Design of Subsystems Local optimization Separate implementation and validation Integration: Backplane with uniform protocol for simulation and synthesis Optimization Subsystem1 (Lang 1) Optimization Subsystem 2 (Lang 2) Subsystem n (Lang n)... Design & Validation 1 Design & Validation 1 Design & Validation 2 Design & Validation 2 Design & Validation 3 Design & Validation 3 Integration (Backplane) © D. Ziegenbein

11 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory memory system optimization: buffer optimization under changing system states IP HW and SW modules shared (heterogeneous) target platform and predefined RTOS Global Optimization and Analysis bus interface process network bus interface t max global constraints example: timing constraints across subsystems ©Rolf Ernst

12 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Compositional Approaches Integration of different process and communication types [Grötker, Meyr et al: PCC] Hierarchical composition of different models of computation [Girault, Lee et al: *charts] CoCentric System Studio [Synopsys] Abstract model with single semantics but behavioral intervals [Ziegenbein, Ernst et al: SPI], [Thiele et al: FunState] © D. Ziegenbein

13 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory SPI - Workbench Synthesis (HW, SW, Interfaces) SPI+Host Languages Global Analysis & Optimization Constraints Visuali- zation & User Interface Architecture Model Input Language 2 Input Language 1 Functional Specification, Cosimulation, Domain-specific Optimization Subsystem 2Subsystem 3Subsystem 1 IP

14 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Internal Models Characterisitcs: Dedicated to coordination and communication High level of abstraction no detailed functionality non-deterministic behavior (abstraction of data- dependencies, legacy code, unknown target architecture, early design stage) Example SPI: communicating processes process modes and mode correlation value intervals (fire rates, token sizes, constraints)

15 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Example Packet Processor

16 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Overview Packet Processing Multi-Language Design Calculus of Bounds Design Space Exploration

17 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Going One Step Further We have to respect end-to-end delays of packets. Memory plays an important role and is a scarce ressource. How can we estimate the performance in case of an uncertain environment. Bound Calculus Real-Time Calculus Bound Calculus Real-Time Calculus

18 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Foundations Linear System Theory [Baccelli, Cohen, Olsder, Quadrat 1992] Calculus for Networks [Le Boudec 1998, 2001], [Cruz 1991] Real-Time Calculus [Thiele et al ]

19 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Real-Time Calculus I 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]

20 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Real-Time Calculus I cont. In networking, the traffic characteristic of flows is often described exactly like this (TSpec, IETF). Use domain knowledge, for example jitter, bursts behavior, sustained rate, …. Use finite length traces as template. Calculate bounds on transformed flows using the calculus described next. How do we determine the curves  l,  u for given flows?

21 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Real-Time Calculus II 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]

22 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Real-Time Calculus III Use min-max algebra ! How do we calculate with bounds ?

23 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Real-Time Calculus IV Use a scheduling network ! How do we estimate (end-to-end) delay and memory ? HW and SW resources resource bounds input stream bounds remaining resourcesprocessed packet streams

24 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Everything Together Components SPI Abstraction Resources Scheduling Network Allocation Binding Scheduling stream bounds resource bounds performance memory delay

25 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Overview Packet Processing Multi-Language Design Calculus of Bounds Design Space Exploration

26 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Important Decisions... … that are not independent from each other: Allocation Selection of types and numbers of execution components. Binding Which computing component executes/implements which task? Scheduling Determines the sequence of task executions. Development Issues

27 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Exploration Strategy multiobjective optimization evaluation performance vector architecture construct architecture map flows estimate performance performance vector architecture binding restrictions task graph architecture template

28 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Application Modeling and Integration

29 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Multiobjective Optimization [Blickle, Teich, Thiele 1996],

30 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Calculation of Bounds

31 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Concluding Remarks Multi-language Design. Dealing with uncertainty. End-to-end delay and memory estimation. Multiobjective estimation and exploration.