Fakult ä t f ü r informatik informatik 12 technische universit ä t dortmund Data flow models Peter Marwedel TU Dortmund, Informatik 12 Graphics: © Alexandra.

Slides:



Advertisements
Similar presentations
Technische universität dortmund fakultät für informatik informatik 12 Models of computation Peter Marwedel TU Dortmund Informatik 12 Graphics: © Alexandra.
Advertisements

Peter Marwedel TU Dortmund, Informatik 12
Fakultät für informatik informatik 12 technische universität dortmund Resource Access Protocols Peter Marwedel Informatik 12 TU Dortmund Germany 2008/12/06.
Fakultät für informatik informatik 12 technische universität dortmund Optimizations - Compilation for Embedded Processors - Peter Marwedel TU Dortmund.
FSMs & message passing: SDL
Fakultät für informatik informatik 12 technische universität dortmund Imperative model of computation Peter Marwedel TU Dortmund, Informatik 12 Graphics:
Technische universität dortmund fakultät für informatik informatik 12 Specifications and Modeling Peter Marwedel TU Dortmund, Informatik 12 Graphics: ©
fakultät für informatik informatik 12 technische universität dortmund Additional compiler optimizations Peter Marwedel TU Dortmund Informatik 12 Germany.
Fakultät für informatik informatik 12 technische universität dortmund Petri Nets Peter Marwedel TU Dortmund, Informatik 12 Graphics: © Alexandra Nolte,
Fakultät für informatik informatik 12 technische universität dortmund Petri Nets Peter Marwedel TU Dortmund, Informatik 12 Graphics: © Alexandra Nolte,
Evaluation and Validation
Fakultät für informatik informatik 12 technische universität dortmund Specifications and Modeling Peter Marwedel TU Dortmund, Informatik 12 Graphics: ©
Fakultät für informatik informatik 12 technische universität dortmund Standard Optimization Techniques Peter Marwedel Informatik 12 TU Dortmund Germany.
Fakultät für informatik informatik 12 technische universität dortmund SDL Peter Marwedel TU Dortmund, Informatik 12 Graphics: © Alexandra Nolte, Gesine.
Technische universität dortmund fakultät für informatik informatik 12 Discrete Event Models Peter Marwedel TU Dortmund, Informatik 12 Germany
Communicating finite state machines
Technische universität dortmund fakultät für informatik informatik 12 Specifications and Modeling Peter Marwedel TU Dortmund, Informatik
Embedded Systems & Parallel Programming P. Marwedel, Univ. Dortmund/Informatik 12 + ICD/ES, 2007 Universität Dortmund A view on embedded systems.
Höchstleistungsrechenzentrum Stuttgart SEGL Parameter Study Slide 1 Science Experimental Grid Laboratory (SEGL) Dynamical Parameter Study in Distributed.
0 - 0.
NGS computation services: API's,
fakultät für informatik informatik 12 technische universität dortmund Optimizations - Compilation for Embedded Processors - Peter Marwedel TU Dortmund.
Fakultät für informatik informatik 12 technische universität dortmund Classical scheduling algorithms for periodic systems Peter Marwedel TU Dortmund,
1 Petri Nets I Paul Fishwick author From
Modelos de Computação Básicos Prof. Dr. César Augusto Missio Marcon Parcialmente extraído de trabalhos de Axel Jantch, Edward Lee e Alberto Sangiovanni-Vincentelli.
- 1 -  P. Marwedel, Univ. Dortmund, Informatik 12, 2003 Universität Dortmund Hardware/Software Codesign.
Processes Management.
Fakultät für informatik informatik 12 technische universität dortmund Finite state machines + message passing: SDL Peter Marwedel TU Dortmund, Informatik.
Fakultät für informatik informatik 12 technische universität dortmund Lab 3: Scheduling Solution - Session 10 - Heiko Falk TU Dortmund Informatik 12 Germany.
Petri Nets Jian-Jia Chen (slides are based on Peter Marwedel)
Technische universität dortmund fakultät für informatik informatik 12 Specifications, Modeling, and Model of Computation Jian-Jia Chen (slides are based.
(slides are based on Peter Marwedel)
technische universität dortmund fakultät für informatik informatik 12 Early design phases Jian-Jia Chen (slides are based on Peter Marwedel) TU Dortmund,
Technische universität dortmund fakultät für informatik informatik 12 Discrete Event Models Jian-Jia Chen (slides are based on Peter Marwedel) TU Dortmund,
Distributed Computing 5. Snapshot Shmuel Zaks ©
Technische universität dortmund fakultät für informatik informatik 12 Limits of von-Neumann (thread-based) computing Jian-Jia Chen (Slides are based on.
Hardware/ Software Partitioning 2011 年 12 月 09 日 Peter Marwedel TU Dortmund, Informatik 12 Germany Graphics: © Alexandra Nolte, Gesine Marwedel, 2003 These.
Electrical and Computer Department, North Dakota State University
Fakultät für informatik informatik 12 technische universität dortmund Lab 4: Exploiting the memory hierarchy - Session 14 - Peter Marwedel Heiko Falk TU.
Fakultät für informatik informatik 12 technische universität dortmund Lab 3: Scheduling - Session 10 - Peter Marwedel Heiko Falk TU Dortmund Informatik.
Fakultät für informatik informatik 12 technische universität dortmund Specifications - Session 5 - Peter Marwedel TU Dortmund Informatik 12 Germany Slides.
fakultät für informatik informatik 12 technische universität dortmund Early design phases Peter Marwedel TU Dortmund, Informatik 12 Graphics: © Alexandra.
Requirements on the Execution of Kahn Process Networks Marc Geilen and Twan Basten 11 April 2003 /e.
DATAFLOW PROCESS NETWORKS Edward A. Lee Thomas M. Parks.
Synthesis of Embedded Software Using Free-Choice Petri Nets.
Type System, March 12, Data Types and Behavioral Types Yuhong Xiong Edward A. Lee Department of Electrical Engineering and Computer Sciences University.
CS 584. A Parallel Programming Model We need abstractions to make it simple. The programming model needs to fit our parallel machine model. Abstractions.
Copyright © 2001 Stephen A. Edwards All rights reserved Dataflow Languages Prof. Stephen A. Edwards.
A Schedulability-Preserving Transformation of BDF to Petri Nets Cong Liu EECS 290n Class Project December 10, 2004.
February 12, 2009 Center for Hybrid and Embedded Software Systems Encapsulated Model Transformation Rule A transformation.
CS 267 Spring 2008 Horst Simon UC Berkeley May 15, 2008 Code Generation Framework for Process Network Models onto Parallel Platforms Man-Kit Leung, Isaac.
1 Quasi-Static Scheduling of Embedded Software Using Free-Choice Petri Nets Marco Sgroi, Alberto Sangiovanni-Vincentelli Luciano Lavagno University of.
Dataflow Process Networks Lee & Parks Synchronous Dataflow Lee & Messerschmitt Abhijit Davare Nathan Kitchen.
Design of Fault Tolerant Data Flow in Ptolemy II Mark McKelvin EE290 N, Fall 2004 Final Project.
Models of Computation for Embedded System Design Alvise Bonivento.
Department of Electrical Engineering and Computer Sciences University of California at Berkeley Concurrent Component Patterns, Models of Computation, and.
February 12, 2009 Center for Hybrid and Embedded Software Systems Model Transformation Using ERG Controller Thomas H. Feng.
fakultät für informatik informatik 12 technische universität dortmund Specifications - sessions Peter Marwedel TU Dortmund Informatik 12 Germany.
Course Outline DayContents Day 1 Introduction Motivation, definitions, properties of embedded systems, outline of the current course How to specify embedded.
Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS Hardware/Software Codesign of Embedded Systems Voicu Groza SITE Hall, Room.
Composing Models of Computation in Kepler/Ptolemy II
technische universität dortmund fakultät für informatik informatik 12 Early design phases Jian-Jia Chen (slides are based on Peter Marwedel) TU Dortmund,
Actor Oriented Programming with CAL -designing embedded system components Johan Eker Department of Automatic Control, Lund University Chris Chang, Jörn.
High Performance Embedded Computing © 2007 Elsevier Chapter 1, part 3: Embedded Computing High Performance Embedded Computing Wayne Wolf.
High Performance Embedded Computing © 2007 Elsevier Lecture 4: Models of Computation Embedded Computing Systems Mikko Lipasti, adapted from M. Schulte.
Technische universität dortmund fakultät für informatik informatik 12 Finite state machines & message passing: SDL Peter Marwedel TU Dortmund, Informatik.
2. Specification and Modeling
Embedded System Design Specifications and Modeling
Model Transformation with the Ptera Controller
Specifications and Modeling
Presentation transcript:

fakult ä t f ü r informatik informatik 12 technische universit ä t dortmund Data flow models Peter Marwedel TU Dortmund, Informatik 12 Graphics: © Alexandra Nolte, Gesine Marwedel, /10/10

- 2 - technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 Models of computation considered in this course Communication/ local computations Shared memory Message passing Synchronous | Asynchronous Communicating finite state machines StateChartsSDL Data flow model Not usefulSimulinkKahn process networks, SDF Computational graphs Sequence dia- gram, Petri nets Von Neumann model C, C++, Java C, C++, Java with libraries CSP, ADA | Discrete event (DE) model VHDL, …Only experimental systems, e.g. distributed DE in Ptolemy

- 3 - technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 Data flow as a natural model of applications Examples Registering for courses Video on demand system

- 4 - technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 Data flow modeling Def.: The process of identifying, modeling and documenting how data moves around an information system. Data flow modeling examines processes (activities that transform data from one form to another), data stores (the holding areas for data), external entities (what sends data into a system or receives data from a system, and data flows (routes by which data can flow). See also S. Edwards: ~sedwards/classes/2001/w /presentations/dataflow.ppt

- 5 - technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 Reference model for data flow: Kahn process networks Special case: Kahn process networks: executable task graphs; Communication via infinitely large FIFOs For asynchronous message passing: communication between tasks is buffered

- 6 - technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 Properties of Kahn process networks (1) Each node corresponds to one program/task; Communication is only via channels; Channels include FIFOs as large as needed; Channels transmit information within an unpredictable but finite amount of time; Mapping from 1 input seq. to 1 output sequence; In general, execution times are unknown; Send operations are non-blocking, reads are blocking. One producer and one consumer; i.e. there is only one sender per channel;

- 7 - technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 Properties of Kahn process networks (2) There is only one sender per channel. A process cannot check whether data is available before attempting a read. A process cannot wait for data for more than one port at a time. Therefore, the order of reads depends only on data, not on the arrival time. Therefore, Kahn process networks are deterministic (!); for a given input, the result will always the same, regardless of the speed of the nodes. SDL-like conflicts at FIFOs do not exist. This is the key beauty of KPNs!

- 8 - technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 Properties of Kahn process networks (3) © R. Gupta (UCSD), W. Wolf (Princeton), 2003 It is a challenge to schedule KPNs without accumulating tokens Animation levi animation Process f(in int u, in int v, out int w){ int i; bool b = true; for (;;) { i= b ? wait(u) : wait(v); //wait return next token in FIFO, blocks if empty printf (%i\n,i); send (i,w); //writes a token into a FIFO w/o blocking b = !b; } Model of parallel computations used in practice Example:

- 9 - technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008

technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 Asynchronous message passing: Synchronous data flow (SDF) Asynchronous message passing= tasks do not have to wait until output is accepted. Synchronous data flow = all tokens are consumed at the same time. SDF model allows static scheduling of token production and consumption. In the general case, buffers may be needed at edges.

technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 Synchronous Dataflow (SDF) Fixed Production/Consumption Rates Balance equations (one for each channel): Schedulable statically Decidable: buffer memory requirements deadlock fire B { … consume M … } fire A { … produce N … } channel N M number of tokens consumed number of firings per iteration number of tokens produced Source: ptolemy.eecs.berkeley.edu/presentations/03/streamingEAL.ppt

technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 Parallel Scheduling of SDF Models A C D B SequentialParallel SDF is suitable for automated mapping onto parallel processors and synthesis of parallel circuits. Many scheduling optimization problems can be formulated. Some can be solved, too! Source: ptolemy.eecs.berkeley.edu/presentations/03/streamingEAL.ppt

technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 Similar MoC: Simulink - example - From ess/helpdesk/help/toolbox/ fuzzy/fuzzyt25.shtml Semantics? Simulink uses an idealized timing model for block execution and communication. Both happen infinitely fast at exact points in simulated time. Thereafter, simulated time is advanced by exact time steps. All values on edges are constant in between time steps. [Nicolae Marian, Yue Ma]

technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008

technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 Code automatically generated © MathWorks, cmsimages/rt_forloop_code_wl_7430.gif Starting point for model-based design

technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008

technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 Actor languages © E. Lee, Berkeley

technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 Summary Data flow model of computation Motivation Kahn process networks SDF Visual programming languages Simulink