1 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Performance Analysis of Embedded Systems Lothar Thiele ETH Zurich.

Slides:



Advertisements
Similar presentations
Embedded System, A Brief Introduction
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,
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.
ECE 720T5 Fall 2011 Cyber-Physical Systems Rodolfo Pellizzoni.
Performance Analysis of FlexRay-based ECU Networks Andrei Hagiescu, Unmesh D. Bordoloi, Samarjit Chakraborty Department of Computer Science, National.
Requirements and Solutions for Timing Analysis of Automotive Systems Saoussen Anssi 1, Sébastien Gérard 2, Arnaud Albinet 1, François Terrier 2 1 Continental.
Background information Formal verification methods based on theorem proving techniques and model­checking –to prove the absence of errors (in the formal.
Lab Meeting Performance Analysis of Distributed Embedded Systems Lothar Thiele and Ernesto Wandeler Presented by Alex Cameron 17 th August, 2012.
Methods for Evaluation of Embedded Systems Simon Künzli, Alex Maxiaguine Institute TIK, ETH Zurich.
Addressing the System-on-a-Chip Interconnect Woes Through Communication-Based Design N. Vinay Krishnan EE249 Class Presentation.
Overview of PTIDES Project
Architecture Modeling and Analysis for Embedded Systems Oleg Sokolsky CIS700 Fall 2005.
Architecture-driven Modeling and Analysis By David Garlan and Bradley Schmerl Presented by Charita Feldman.
Generalized Processing Sharing (GPS) Is work conserving Is a fluid model Service Guarantee –GPS discipline can provide an end-to-end bounded- delay service.
Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Power Management for Solar-Driven Sensor Nodes Clemens Moser ( joint.
Scheduling for Embedded Real-Time Systems Amit Mahajan and Haibo.
Performance and Energy Bounds for Multimedia Applications on Dual-processor Power-aware SoC Platforms Weng-Fai WONG 黄荣辉 Dept. of Computer Science National.
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.
Compositional Verification of Timed Systems. A Concept. Bengt Jonsson Leonid Mokrushin Xiaochun Shi Wang Yi Uppsala University Sweden Distributed Embedded.
Chapter 13 Embedded Systems
Scheduling with Optimized Communication for Time-Triggered Embedded Systems Slide 1 Scheduling with Optimized Communication for Time-Triggered Embedded.
1 of 16 March 30, 2000 Bus Access Optimization for Distributed Embedded Systems Based on Schedulability Analysis Paul Pop, Petru Eles, Zebo Peng Department.
1 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Embedded Systems Exercise 1: Real-Time Systems Ernesto Wandeler 20.
1 of 14 1 Analysis and Synthesis of Communication-Intensive Heterogeneous Real-Time Systems Paul Pop Computer and Information Science Dept. Linköpings.
Embedded Systems Exercise 3: Scheduling Real-Time Periodic and Mixed Task Sets 18. May 2005 Alexander Maxiaguine.
Designing Predictable and Robust Systems Tom Henzinger UC Berkeley and EPFL.
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.
Misconceptions About Real-time Computing : A Serious Problem for Next-generation Systems J. A. Stankovic, Misconceptions about Real-Time Computing: A Serious.
Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Influence of different system abstractions on the performance analysis.
5 th Biennial Ptolemy Miniconference Berkeley, CA, May 9, 2003 MESCAL Application Modeling and Mapping: Warpath Andrew Mihal and the MESCAL team UC Berkeley.
1 Embedded Computer System Laboratory RTOS Modeling in Electronic System Level Design.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
1 Presenter: Ming-Shiun Yang Sah, A., Balakrishnan, M., Panda, P.R. Design, Automation & Test in Europe Conference & Exhibition, DATE ‘09. A Generic.
02/06/05 “Investigating a Finite–State Machine Notation for Discrete–Event Systems” Nikolay Stoimenov.
Packet Scheduling From Ion Stoica. 2 Packet Scheduling  Decide when and what packet to send on output link -Usually implemented at output interface 1.
Real-Time DSP System Design Course and DSP/BIOS II David J. Waldo Associate Professor Oklahoma Christian University 2501 E. Memorial Rd. Oklahoma City,
Course Outline DayContents Day 1 Introduction Motivation, definitions, properties of embedded systems, outline of the current course How to specify embedded.
1 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Internal Design Representations for Embedded System Design Lothar.
RTS Meeting 8th July 2009 Introduction Middleware AUTOSAR Conclusion.
Architecting Web Services Unit – II – PART - III.
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.
F. Gharsalli, S. Meftali, F. Rousseau, A.A. Jerraya TIMA laboratory 46 avenue Felix Viallet Grenoble Cedex - France Embedded Memory Wrapper Generation.
Real-Time Systems Mark Stanovich. Introduction System with timing constraints (e.g., deadlines) What makes a real-time system different? – Meeting timing.
6. A PPLICATION MAPPING 6.3 HW/SW partitioning 6.4 Mapping to heterogeneous multi-processors 1 6. Application mapping (part 2)
An Energy-efficient Task Scheduler for Multi-core Platforms with per-core DVFS Based on Task Characteristics Ching-Chi Lin Institute of Information Science,
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.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
OPERATING SYSTEMS CS 3530 Summer 2014 Systems and Models Chapter 03.
Computer Simulation of Networks ECE/CSC 777: Telecommunications Network Design Fall, 2013, Rudra Dutta.
Formal Verification. Background Information Formal verification methods based on theorem proving techniques and model­checking –To prove the absence of.
CprE 458/558: Real-Time Systems (G. Manimaran)1 CprE 458/558: Real-Time Systems Energy-aware QoS packet scheduling.
High Performance Embedded Computing © 2007 Elsevier Lecture 4: Models of Computation Embedded Computing Systems Mikko Lipasti, adapted from M. Schulte.
Software Systems Division (TEC-SW) ASSERT process & toolchain Maxime Perrotin, ESA.
Introduction to Performance Tuning Chia-heng Tu PAS Lab Summer Workshop 2009 June 30,
OPERATING SYSTEMS CS 3502 Fall 2017
Architecting Web Services
Architecting Web Services
Measuring Service in Multi-Class Networks
Computer Simulation of Networks
Logical architecture refinement
Algorithm An algorithm is a finite set of steps required to solve a problem. An algorithm must have following properties: Input: An algorithm must have.
Presentation transcript:

1 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Performance Analysis of Embedded Systems Lothar Thiele ETH Zurich

2 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Overview Review of General Aspects Modular Performance Analysis Real-Time Calculus Modeling Application Scenarios

3 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory System Composition Scheduling and Arbitration Templates proportional share WFQ staticdynamic fixed priority EDF TDMA FCFS Communication TemplatesComputation Templates DSP CC CC CAN interface SDRAM RISC ECU Architecture RISC SDRAM ECU priority EDF ECU

4 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Role of Performance Estimation Design validation: equivalence of specification and implementation validation of non-functional aspects (power consumption, throughput, delay) Prerequisite for design space exploration: part of feedback cycle in design Performance estimation methods: use of simulation, trace-based estimation and analytic methods

5 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Design Space Exploration ApplicationArchitecture Mapping Estimation Takes place on several levels of abstraction

6 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Why Is Estimation Difficult ? Non-determinism: Uncertain system environment (different load scenarios, unknown (worst case) input patterns). Data dependent functional behavior. Analyzability: Complex hardware and software interactions in processing nodes, communication components, scheduling and arbitration policies. Use of abstractions in analysis -> non-determinism. Interference: Internal data streams interact on computing and communication resources. This interference determines stream characteristics (cyclic dependency).

7 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Why is Estimation Difficult ? EPU application structure hardware platform

8 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Bounds, Guarantees and Predictability t 0best case worst case upper bound lower bound variation of execution time w.c. performance w.c. guarantee best case predictabilityworst case predictability

9 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Overview Review of General Aspects Composable Performance Analysis Real-Time Calculus Modeling Application Scenarios

10 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory A Four-Step Approach 1.Abstraction: Build abstract models for “first class citizens” event streams -> abstract event streams architecture elements -> resource modules application processes -> performance modules 2.Performance Components: Combine performance modules using resource sharing information 3.Performance Network: Combine all models to a network that represents the performance aspects 4.Analysis

11 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory The “Big Picture” Application Specification Abstract Application Abstract Architecture Architecture Specification Performance Network T1T2T3 ARM9DSP load scenarios architectur e elements mapping relations application process event streams resource modules performance modules abstract event streams abstract load scenarios performance components

12 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Step 1: Abstract Application Model From a functional model… event stream application process (e.g. StateCharts … )

13 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Step 1: Abstract Functional Units … to an abstract application model performance module abstract event stream abstract resource stream How do we calculate with abstract event streams and resources units? We use Real-Time Calculus! (min-max algebra) We use Real-Time Calculus! (min-max algebra)

14 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Step 2: Build Performance Components How do we do scheduling?

15 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Step 2: Scheduling I Fixed Priority (FP)

16 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Step 2: Scheduling II share  Generalized Processor Sharing (GPS) Performance component of a combined HW/SW/OS module; exposes performance properties but hides implementation

17 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Step 3 and 4: Compose and Analyze ARM9 DSP2 Bus DSP1  ’’ ’’ ’’ FP GPS FP    GPS FP ’’ ’’   Application 1 Application 2 How can we compose performance modules ? How can we add a new application? How can we estimate the load on resources? How can we estimate delay and memory?

18 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Dynamic Analytic Models input traces model of environment formal specific. formal specification system model analysis data sheets model of components program analysis estimation results

19 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Overview Review of General Aspects Modular Performance Analysis Real-Time Calculus Modeling Application Scenarios

20 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Scheduling Abstraction Idea: unified view of task scheduling, arbitration and output scheduling in networks: methods: queueing theory (statistical bounds, Markov chains) real-time calculus (worst case bounds, min-max algebra)

21 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Foundations of Real-Time-Calculus Linear System Theory [Baccelli, Cohen, Olsder, Quadrat 1992] Calculus for Networks [Le Boudec 1998, 2001], [Cruz 1991] Adversarial Queuing Theory [Andrews, Borodin, Kleinberg, Leighton, … 1996] End-to-end deadlines [Parekh, Gallager 1994]

22 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Event and Resource Models How do we describe uncertain event streams and resources?

23 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Arrival and Service Curves

24 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory max: 2 packets min: 0 packets max: 3 packets min: 1 packet uu ll   Event & Resource Models Use arrival curves to capture packet streams: time t max: 1 packet min: 0 packets  012 # of packets 1 2 3

25 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Arrival Curves 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]

26 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Service Curves 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]

27 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Arrival and Service Curves What else: sub- and super-additivity relation to max-+ algebra operations correspond to convolution

28 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Transformation of Curves by Modules

29 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Performance Modules

30 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Compose and Analyze PP DSP I/O bus fixed prio. prop. share fixed prio.

31 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Compose and Analyze delay d backlog b service curve  l arrival curve  u b

32 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Everything Together App. Model Architecture Model Performance Network Allocation Binding Scheduling resource model performance memory delay application structure input stream model TDMA fixed priority WFQ

33 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Overview Review of General Aspects Modular Performance Analysis Real-Time Calculus Modeling Application Scenarios

34 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Open Questions How do we model different event types and correlation in event streams ? How do we model type-dependent processing (different modes of operation, example MPEG coding and decoding) ? How do we model caches ? Use more involved abstractions, for example finite state automata Use more involved abstractions, for example finite state automata

35 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Refined Abstractions using FSMs

36 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Event Stream Model #events vs. time intervalorder of events

37 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Functional Unit Model FSM can model architecture details program flow scheduling policies type-dependent behavior Improvement in estimation quality in several application studies. input_event/resource_demand/output_event

38 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Additional Analysis Methods Analyze timed FSMs with respect to their timing properties. For example: Applicable methods: minimum cycle mean [Karp], periodic graphs [Cohen, Dubois, Quadrat] minimal and maximal accumulated delay/demand/events for n consecutive transitions (and its inverse) in a compact representation minimal and maximal accumulated delay/demand/events for n consecutive transitions (and its inverse) in a compact representation

39 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Missing Link(s) Link to lower layer analysis methods (like abstract interpretation) assembler program model of computer architecture analysis a,b,c d,e,f,g

40 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Overview Review of General Aspects Modular Performance Analysis Real-Time Calculus Modeling Application Scenarios

41 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Experiences Network processor modeling (IBM) Detailed study of a network processor Good match between simulation and analytic methods (delay, memory) Use of methodology in other projects and case studies BridgeCo Siemens Netmodule Implementation and integration into design space exploration

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

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

44 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Design Space Exploration Strategy

45 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

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

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 Acknowledgement The presentation contains contributions by Samarjit Chakraborty Matthias Dyer Simon Künzli Matthias Gries Alexander Maxiaguine