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.