Computational Models for Concurrent Streaming Applications

Size: px
Start display at page:

Download "Computational Models for Concurrent Streaming Applications"

Transcription

1 2 Computational Models for Concurrent Streaming Applications The challenges of today Twan Basten Based on joint work with Marc Geilen, Sander Stuijk, and many others Department of Electrical Engineering Electronic Systems Knowing is not understanding. Charles Kettering 3 The problem: an example 4 Objectives Use-cases to be mapped onto a professional printer Copying (black&white, color, various paper sizes, zoom factors, ) Printing Scanning Simultaneous printing and scanning Reliable, resource-efficient embedded systems Fast, predictable design trajectories printer platform How many CPUs, GPUs? Processor speeds? How to achieve X images/min? Double resolution? Run-time changes in speed, job type, power budget?

2 5 Objectives 6 Objectives Reliable, resource-efficient embedded systems Fast, predictable design trajectories Reliable, resource-efficient embedded systems Fast, predictable design trajectories High-tech professional systems cell thales Systems-on-chip océ asml philips 5 nxp 7 Objectives 8 Trend: increasing complexity Reliable, resource-efficient embedded systems Fast, predictable design trajectories Multiprocessor systems / networking / concurrency Application convergence / application evolution Mixed data- and event processing Variability / dynamism Networked embedded systems Networked embedded systems 7 8

3 9 Scientific challenges 0 Outline Reliable, resource-efficient embedded systems Computational modeling and analysis Model-driven synthesis and run-time management Fast, predictable design trajectories Complexity reduction (Semi-)automatic system synthesis The challenges of today Computational models The dataflow hierarchy Kahn Process Networks Reactive Process Networks Analysis Looking forward An understanding of the natural world and what's in it is a source of not only a great curiosity but great fulfillment. David Attenborough 2 The essence: computational models on the interface between science and engineering Basic dimensions Aspects essential for predictability Metrics Computational models processing communication storage functionality concurrency timing energy quality functionality concurrency timing energy quality execution time energy dissipation perceived quality reconfiguration time energy

4 3 A model 4 Essential challenges predicts system metrics given parameter values predictability and efficiency are contradictory should be targeted to the problem at hand 5 6 Synchronous DataFlow ( [Lee 986]) The dataflow hierarchy rate token actor channel execution time A, B,2 C,2 : rates are fixed (weighted marked graphs from Petri-net theory) Homogeneous : all rates (marked graphs from Petri-net theory)

5 7 Synchronous DataFlow: actor firing ( [Lee 986]) rate token actor channel execution time A, B,2 C,2 2 : rates are fixed (weighted marked graphs from Petri-net theory) Homogeneous : all rates (marked graphs from Petri-net theory) 8 Dataflow expressiveness hierarchy and larger: Turing complete Better notions of expressiveness needed Unification needed : Reactive Process Networks : Kahn Process Networks DF: DataFlow : Dynamic DF : Scenario-Aware DF : Boolean DF : Cyclo-Static DF : Synchronous DF : Homogeneous 9 A gaming example 20 Application domain parameters / user interaction parameters / user interaction Reactive Process Networks () Automata / State machines mode change 3d video control mode change add/remove object renderers nrobj dynamic stream processing... scene graph & physics sg scene graphs object-based rendering fr frames filter & overlay streaming kernels Synchronous Data Flow () Kahn Process Networks ()

6 2 Kahn Process Networks ( [Kahn 974]) processes communicating via unbounded fifo queues Example 22 mixing() while(true){ read(in, frame); preprocess(frame); read(in2, frame2); Picture in Picture frame3 = combine(frame, frame2); write(out, frame3); } reads block on empty queues abstraction: only functionality, buffering processes: need to be functional writes may never block no global variables 23 : Denotational semantics 24 2 equivalent transformation processes = (mathematical) functions fifo queues = strings, sequences of data tokens if functions are continuous, then a network is also a continuous function G G Preserves actor firings, timing properties Does not preserve buffering aspects Algorithms operating directly on may be more efficient and/or provide better results (or they may not ) compositional semantics

7 25 2 equivalent transformation 26 Cyclo-Static DataFlow G Dataflow graph H.263 decoder ( [Bilsen et al 966]) sequence of rates sequence of execution times G G with 90 actors,, 3, 0,2 A,2,, B,,2 C,2,0,0 Allows the specification of certain iterations Can be transformed into an equivalent Algorithms operating directly on may be more efficient and/or provide better results The computational model selected in the NEST project 27 Boolean DataFlow 28 Scenario-Aware DataFlow ( [Buck 993]) the numbers of tokens produced or consumed in a firing can be a two-valued function of a control token for example: {T, F} switch {T, F} T F T F select ( [Theelen et al 2006]) H.263 Decoder Model Control channel Parameterized rate Detector... d d d VLD IDCT a Fixed rate c c b e FD MC RC 3 Kernel Data channel Allows the specification of conditions and iterations Cannot, in general, be transformed into an equivalent Turing-complete I P 99 P 99 P 0

8 29 Scenario-Aware DataFlow ( [Theelen et al 2006]) H.263 Decoder Model Control channel Parameterized rate Detector... d d d VLD IDCT a Fixed rate c c b e FD MC RC I P 99 P 99 P 0 3 Kernel Data channel x={30,40,50,60,70,80,99} Rate I P x P 0 a 0 0 b 0 x 0 c 99 x d 0 e 99 x 0 Execution time VLD P 0 0 others 40 IDCT P 0 0 others 7 I, P 0 0 P P MC P P P P P I 350 P 0 0 RC P 30, P 40, P P P 70, P 80, P FD All 0 30 : Fundamental limitation non-deterministic merge: forwards tokens selecting input arbitrarily outcomes: or or i.e., behavior is not a function! or 3 Dynamic DataFlow ( [Buck 993]) 32 the numbers of tokens produced or consumed in a firing may vary Kahn Process Networks

9 Example 33 mixing() while(true){ read(in, frame); preprocess(frame); read(in2, frame2); Picture in Picture frame3 = combine(frame, frame2); write(out, frame3); } 34 Denotational semantics processes = (mathematical) functions fifo queues = strings, sequences of data tokens if functions are continuous, then a network is also a continuous function reads block on empty queues writes may never block no global variables compositional semantics 35 Continuity 36 Kleene iteration monotonicity if input τ extends input σ then output f(τ) extends output f(σ) S: elementwise sum h 0 : prefix a 0 h : copy f(00)=0 f(000)= f g(00)= g 00 continuity bit-wise invert reverse output must be taken back!! generalization of monotonicity to inputs of arbitrary, particularly infinite, length continuity = streaming U i ε U = S(I,0U,00U) the continuous function of a network is the least fixpoint of a set of fixpoint equations and can be computed via a Kleene iteration U 0 = ε U i+ = S(I,0U i,00u i ) i = U(0) U() U(2) U(3) U(4) U(5) U(6) U(7) U(8) U(9)

10 37 Strengths & weaknesses 38 An operational view compositionality determinacy (execution order and timing) explicit concurrency explicit communication (via fifos; no shared variables) denotational semantics: what output is computed operational semantics: how the output is computed captures data-dependent streaming behavior high abstraction level needs run-time resource management when directly implemented cannot capture asynchronous reactive behavior undecidable, e.g., minimal buffer sizes strings are streams of tokens and fifo buffers of infinite capacity function as windows on those streams. an operational execution of functions conforms to (destructively) reading and writing tokens with internal computations in between. 39 Operational semantics 40 Operational semantics operational semantics captures all allowed ways to make behavior operational based on configurations i.e., + fifo fillings and transitions from one configuration to another one Configuration A transition Configuration B

11 4 The Kahn Principle 42 Implementations of s But hey, now we have two semantics of the model! Are they the same? bounded FIFOs combine aspects of data- and demand driven execution but how large should the FIFO buffers be? undecidable, FIFO sizes need to be managed at run-time The Kahn Principle: Any fair execution in the operational model realizes the denotational semantics, the mathematical function This provides the boundaries for realizations of s 43 A run-time environment (RTE) 44 requirements boundedness: fifo bounds may not grow indefinitely completeness: progress must be made on all outputs towards the output prescribed by the semantics Reactive Process Networks there exists an RTE satisfying these requirements prerequisites (undecidable in general!) boundedness: there exists a fair execution within finite fifo bounds effectiveness: every token that is produced is eventually also consumed [M.C.W. Geilen and T. Basten. Requirements on the Execution of Kahn Process Networks. Proc ESOP 2003.] [M.C.W. Geilen and T. Basten. Reactive Process Networks. Proc EMSOFT 2004.]

12 45 Application domain 46 A gaming example Reactive Process Networks () Automata / State machines Synchronous Data Flow () Kahn Process Networks () 47 Reactive Process Networks 48 Reactive Process Networks e automaton i o i i o o

13 49 Operational semantics 50 Operational semantics 5 Prioritizing events 52 Prototype implementation consumption of data allowed when events are present? theory: both options straightforward practice: choice prototype implementation of a programming environment for reconfigurations not affecting network structure events have priority over data?.5 input.5 output

14 53 Open issues 54 prototype implementation of arbitrary reconfigurations cases studies (programming styles, expressivity) timing reconfiguration/reaction times for events latency/throughput bounds on s as a whole efficient implementation of reconfiguration fifo sizes, deadlock analysis distribution analyzable subclasses (, ) Scenario-Aware DataFlow Analysis 55 Scenario-Aware DataFlow ( [Theelen et al 2006]) H.263 Decoder Model Control channel Parameterized rate Detector... d d d VLD IDCT a Fixed rate c c b e FD MC RC I P 99 P 99 P 0 3 Kernel Data channel x={30,40,50,60,70,80,99} Rate I P x P 0 a 0 0 b 0 x 0 c 99 x d 0 e 99 x 0 Execution time VLD P 0 0 others 40 IDCT P 0 0 others 7 I, P 0 0 P P MC P P P P P I 350 P 0 0 RC P 30, P 40, P P P 70, P 80, P FD All 0 56 A model-driven scenario-aware design flow extract application model keep trade-offs select operating point and switch dynamically

15 57 Synchronous DataFlow ( [Lee 986]) rate token actor channel execution time A, B,2 C,2 Throughput: average number of actor firings over time Iteration: smallest non-empty set of actor firings that does not change the token distribution (example: A:3, B:2, C:) 58 Throughput via state-space analysis Self-timed execution: Each actor fires as soon as it can fire Known to maximize throughput Execution state: distribution of tokens + remaining execution times Execution: transient + periodic phase A A Transient Phase Throughput can be calculated from the periodic phase A, C B A, C Periodic Phase B [Ghamarian et al 2006] Efficient implementation Consider one designated firing per iteration only to detect a recurrent state B A B 59 Throughput analysis results 60 Trade-off: storage vs. throughput State Space Traditional methods, all using conversion to Dasdan Gupta Howard Young Tarjan Orlin MP3 dec Modem Sample Rate >800 >800 >800 Satellite >800 >800 >800 H.263 decoder >800 >800 >800 Runtimes of various throughput analysis methods (in seconds) thro oughput multi-media applications ` DSP synthesis storage

16 6 Storage distribution 2 α 3 β 2 A, B,2 C,2 Tokens on channels must be stored in memory. Separate memory for each channel. Storage distribution, for example, α,β, 4,2 62 Problem definition through hput 2 α 3 β 2 A, B,2 C, ,2 5,3 6,3 6,2 7, distribution size Find all minimal storage distributions for any possible throughput 63 Dependency graph 64 Dependency graph 2 α 3 β 2 A, B,2 C,2 Storage distribution α, β 4,2 resolving storage dependencies may increase throughput firings in one period sp(β) tk(β) C 0 dependency: an actor firing start may depend on an actor firing end firings in one period sp(β) tk(β) C 0 dependency: an actor firing start may depend on an actor firing end B 0 sp(α) A 2 tk(α) B B 0 sp(α) A 2 tk(α) B sp - space tk - token tk(α) sp(α) A 3 A tk(a) 4 cycles denote storage dependencies sp - space tk - token tk(α) sp(α) A 3 A tk(a) 4 cycles denote storage dependencies

17 65 Abstract dependency graph dependencies between actors B 0 sp(α) A B C tk(α) tk(β) tk(a) sp(α) sp(β) tk(β) sp(β) C 0 A 2 tk(α) B sp(α) A 3 A tk(a) 4 abstract dependency graph contains all storage dependencies easily constructed from state-space exploration 66 Design-space exploration algorithm Given an graph G with storage distribution δ. Compute throughput and abstract dependency graph for G with δ 2. For each channel c with a storage dependency in Create new storage distribution by enlarging c 3. Repeat steps -2 All minimal storage distributions are found when starting from storage distribution 0,...,0 dependency graph may be very large tk(α) 67 Experimental results 68 Extensions Example Satellite MP3 H.263 #actors #channels Technique applies also to [Stuijk et al, IEEE T Comp 2008] Technique can be generalized to other types of resources [Yang et al, DATE 200] min throughput > 0 /7 0.8 /37 /2876 Distr. size Max throughput Approximation / /32 /0000 Distr. size increase 0buffers with 544 n times the minimal step size #Pareto points #Distributions Exec. time ms 7ms 2ms 53min

18 69 Scenario-aware performance analysis 70 3 toolkit [Geilen, ACM TECS 200] -based throughput analysis considers worst-case actor times Scenario-aware throughput analysis considers worst-case actor times per scenario, but it must consider scenario transitions Analyzing all scenario transitions separately can be avoided Separate scenario transitions with an invariant reference schedule 7 72 Challenges Looking Forward Suitable notions of expressivity Expressivity while maintaining analyzability and synthesizability Abstraction without loosing accuracy Composability and compositionality MoCs for non-functional aspects Unification of MoCs Multi-objective trade-off analysis Parametric analysis Model-driven design and synthesis flows Model-driven run-time systems

19 73 Thank you! Questions? More info: 3 toolkit: An understanding of the natural world and what's in it is a source of not only a great curiosity but great fulfillment. David Attenborough

Reliable Embedded Multimedia Systems?

Reliable Embedded Multimedia Systems? 2 Overview Reliable Embedded Multimedia Systems? Twan Basten Joint work with Marc Geilen, AmirHossein Ghamarian, Hamid Shojaei, Sander Stuijk, Bart Theelen, and others Embedded Multi-media Analysis of

More information

Reliable Dynamic Embedded Data Processing Systems

Reliable Dynamic Embedded Data Processing Systems 2 Embedded Data Processing Systems Reliable Dynamic Embedded Data Processing Systems sony Twan Basten thales Joint work with Marc Geilen, AmirHossein Ghamarian, Hamid Shojaei, Sander Stuijk, Bart Theelen,

More information

Modelling, Analysis and Scheduling with Dataflow Models

Modelling, Analysis and Scheduling with Dataflow Models technische universiteit eindhoven Modelling, Analysis and Scheduling with Dataflow Models Marc Geilen, Bart Theelen, Twan Basten, Sander Stuijk, AmirHossein Ghamarian, Jeroen Voeten Eindhoven University

More information

Overview of Dataflow Languages. Waheed Ahmad

Overview of Dataflow Languages. Waheed Ahmad Overview of Dataflow Languages Waheed Ahmad w.ahmad@utwente.nl The purpose of models is not to fit the data but to sharpen the questions. Samuel Karlins 11 th R.A Fisher Memorial Lecture Royal Society

More information

Pareto Algebra. Reliable Run-time Adaptation in Resource-constrained Embedded Systems. Twan Basten

Pareto Algebra. Reliable Run-time Adaptation in Resource-constrained Embedded Systems. Twan Basten Reliable Run-time Adaptation in Resource-constrained Embedded Systems 2 Run-time Adaptation Encoding qualities Bandwidth requirements Decoding streams of different quality Computational effort required

More information

EECS 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization

EECS 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization EECS 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization Dataflow Lecture: SDF, Kahn Process Networks Stavros Tripakis University of California, Berkeley Stavros Tripakis: EECS

More information

Fundamental Algorithms for System Modeling, Analysis, and Optimization

Fundamental Algorithms for System Modeling, Analysis, and Optimization Fundamental Algorithms for System Modeling, Analysis, and Optimization Stavros Tripakis, Edward A. Lee UC Berkeley EECS 144/244 Fall 2014 Copyright 2014, E. A. Lee, J. Roydhowdhury, S. A. Seshia, S. Tripakis

More information

Embedded Systems 7 BF - ES - 1 -

Embedded Systems 7 BF - ES - 1 - Embedded Systems 7-1 - Production system A modelbased realtime faultdiagnosis system for technical processes Ch. Steger, R. Weiss - 2 - Sprout Counter Flow Pipeline-Processor Based on a stream of data

More information

Main application of SDF: DSP hardware modeling

Main application of SDF: DSP hardware modeling EE 144/244: Fundamental lgorithms for System Modeling, nalysis, and Optimization Fall 2014 Dataflow Timed SDF, Throughput nalysis Stavros Tripakis University of California, erkeley Stavros Tripakis (UC

More information

Reactive Process Networks

Reactive Process Networks Reactive Process Networks Marc Geilen and Twan Basten Eindhoven University of Technology Department of Electrical Engineering P.O.Box 513, 5600 MB, Eindhoven, The Netherlands M.C.W.Geilen@tue.nl, A.A.Basten@tue.nl

More information

EE249 Discussion Petri Nets: Properties, Analysis and Applications - T. Murata. Chang-Ching Wu 10/9/2007

EE249 Discussion Petri Nets: Properties, Analysis and Applications - T. Murata. Chang-Ching Wu 10/9/2007 EE249 Discussion Petri Nets: Properties, Analysis and Applications - T. Murata Chang-Ching Wu 10/9/2007 What are Petri Nets A graphical & modeling tool. Describe systems that are concurrent, asynchronous,

More information

Concurrent Models of Computation

Concurrent Models of Computation Concurrent Models of Computation Edward A. Lee Robert S. Pepper Distinguished Professor, UC Berkeley EECS 219D: Concurrent Models of Computation Fall 2011 Copyright 2011, Edward A. Lee, All rights reserved

More information

By: Chaitanya Settaluri Devendra Kalia

By: Chaitanya Settaluri Devendra Kalia By: Chaitanya Settaluri Devendra Kalia What is an embedded system? An embedded system Uses a controller to perform some function Is not perceived as a computer Software is used for features and flexibility

More information

HETEROGENEOUS MULTIPROCESSOR MAPPING FOR REAL-TIME STREAMING SYSTEMS

HETEROGENEOUS MULTIPROCESSOR MAPPING FOR REAL-TIME STREAMING SYSTEMS HETEROGENEOUS MULTIPROCESSOR MAPPING FOR REAL-TIME STREAMING SYSTEMS Jing Lin, Akshaya Srivasta, Prof. Andreas Gerstlauer, and Prof. Brian L. Evans Department of Electrical and Computer Engineering The

More information

QoS Trade-off Analysis for Wireless Sensor Networks

QoS Trade-off Analysis for Wireless Sensor Networks QoS Trade-off Analysis for Wireless Sensor Networks Rob Hoes, Twan Basten Joint work with Phillip Stanley-Marbell, Marc Geilen, Chen Kong Tham, Henk Corporaal Department of Electrical Engineering Electronic

More information

Performance Analysis of Weakly-Consistent Scenario-Aware Dataflow Graphs

Performance Analysis of Weakly-Consistent Scenario-Aware Dataflow Graphs Performance Analysis of Weakly-Consistent Scenario-Aware Dataflow Graphs Marc Geilen 1, Joachim Falk 2, Christian Haubelt 3, Twan Basten 1,4, Bart Theelen 4 and Sander Stuijk 1 1 Electrical Engineering

More information

Petri Nets ee249 Fall 2000

Petri Nets ee249 Fall 2000 Petri Nets ee249 Fall 2000 Marco Sgroi Most slides borrowed from Luciano Lavagno s lecture ee249 (1998) 1 Models Of Computation for reactive systems Main MOCs: Communicating Finite State Machines Dataflow

More information

Symbolic Buffer Sizing for Throughput-Optimal Scheduling of Dataflow Graphs

Symbolic Buffer Sizing for Throughput-Optimal Scheduling of Dataflow Graphs Symbolic Buffer Sizing for Throughput-Optimal Scheduling of Dataflow Graphs Anan Bouakaz Pascal Fradet Alain Girault Real-Time and Embedded Technology and Applications Symposium, Vienna April 14th, 2016

More information

Outline. Petri nets. Introduction Examples Properties Analysis techniques. 1 EE249Fall04

Outline. Petri nets. Introduction Examples Properties Analysis techniques. 1 EE249Fall04 Outline Petri nets Introduction Examples Properties Analysis techniques 1 Petri Nets (PNs) Model introduced by C.A. Petri in 1962 Ph.D. Thesis: Communication with Automata Applications: distributed computing,

More information

Embedded Systems 7. Models of computation for embedded systems

Embedded Systems 7. Models of computation for embedded systems Embedded Systems 7 - - Models of computation for embedded systems Communication/ local computations Communicating finite state machines Data flow model Computational graphs Von Neumann model Discrete event

More information

From synchronous models to distributed, asynchronous architectures

From synchronous models to distributed, asynchronous architectures From synchronous models to distributed, asynchronous architectures Stavros Tripakis Joint work with Claudio Pinello, Cadence Alberto Sangiovanni-Vincentelli, UC Berkeley Albert Benveniste, IRISA (France)

More information

SDL. Jian-Jia Chen (slides are based on Peter Marwedel) TU Dortmund, Informatik 年 10 月 18 日. technische universität dortmund

SDL. Jian-Jia Chen (slides are based on Peter Marwedel) TU Dortmund, Informatik 年 10 月 18 日. technische universität dortmund 12 SDL Jian-Jia Chen (slides are based on Peter Marwedel) TU Dortmund, Informatik 12 2017 年 10 月 18 日 Springer, 2010 These slides use Microsoft clip arts. Microsoft copyright restrictions apply. Models

More information

Software Synthesis Trade-offs in Dataflow Representations of DSP Applications

Software Synthesis Trade-offs in Dataflow Representations of DSP Applications in Dataflow Representations of DSP Applications Shuvra S. Bhattacharyya Department of Electrical and Computer Engineering, and Institute for Advanced Computer Studies University of Maryland, College Park

More information

Computational Process Networks a model and framework for high-throughput signal processing

Computational Process Networks a model and framework for high-throughput signal processing Computational Process Networks a model and framework for high-throughput signal processing Gregory E. Allen Ph.D. Defense 25 April 2011 Committee Members: James C. Browne Craig M. Chase Brian L. Evans

More information

Performance Analysis of Weakly-Consistent Scenario-Aware Dataflow Graphs

Performance Analysis of Weakly-Consistent Scenario-Aware Dataflow Graphs J Sign Process Syst (2017) 87:157 175 DOI 10.1007/s11265-016-1193-7 Performance Analysis of Weakly-Consistent Scenario-Aware Dataflow Graphs Marc Geilen 1 Joachim Falk 2 Christian Haubelt 3 Twan Basten

More information

Compositionality in Synchronous Data Flow: Modular Code Generation from Hierarchical SDF Graphs

Compositionality in Synchronous Data Flow: Modular Code Generation from Hierarchical SDF Graphs Compositionality in Synchronous Data Flow: Modular Code Generation from Hierarchical SDF Graphs Stavros Tripakis Dai Bui Marc Geilen Bert Rodiers Edward A. Lee Electrical Engineering and Computer Sciences

More information

EE382N.23: Embedded System Design and Modeling

EE382N.23: Embedded System Design and Modeling EE38N.3: Embedded System Design and Modeling Lecture 5 Process-Based MoCs Andreas Gerstlauer Electrical and Computer Engineering University of Texas at Austin gerstl@ece.utexas.edu Lecture 5: Outline Process-based

More information

Synchronous dataflow scenarios

Synchronous dataflow scenarios Synchronous dataflow scenarios Geilen, M.C.W. Published in: ACM Transactions on Embedded Computing Systems DOI: 10.1145/1880050.1880052 Published: 01/01/2010 Document Version Accepted manuscript including

More information

fakultät für informatik informatik 12 technische universität dortmund Data flow models Peter Marwedel TU Dortmund, Informatik /10/08

fakultät für informatik informatik 12 technische universität dortmund Data flow models Peter Marwedel TU Dortmund, Informatik /10/08 12 Data flow models Peter Marwedel TU Dortmund, Informatik 12 2009/10/08 Graphics: Alexandra Nolte, Gesine Marwedel, 2003 Models of computation considered in this course Communication/ local computations

More information

Petri Nets. Petri Nets. Petri Net Example. Systems are specified as a directed bipartite graph. The two kinds of nodes in the graph:

Petri Nets. Petri Nets. Petri Net Example. Systems are specified as a directed bipartite graph. The two kinds of nodes in the graph: System Design&Methodologies Fö - 1 System Design&Methodologies Fö - 2 Petri Nets 1. Basic Petri Net Model 2. Properties and Analysis of Petri Nets 3. Extended Petri Net Models Petri Nets Systems are specified

More information

Towards Translating FSM-SADF to Timed Automata

Towards Translating FSM-SADF to Timed Automata Towards Translating FSM-SADF to Timed Automata Mladen Skelin Department of Engineering Cybernetics, Norwegian University of Science and Technology mladen.skelin@itk.ntnu.no Erik Ramsgaard Wognsen, Mads

More information

Compositionality in system design: interfaces everywhere! UC Berkeley

Compositionality in system design: interfaces everywhere! UC Berkeley Compositionality in system design: interfaces everywhere! Stavros Tripakis UC Berkeley DREAMS Seminar, Mar 2013 Computers as parts of cyber physical systems cyber-physical ~98% of the world s processors

More information

FSMs & message passing: SDL

FSMs & message passing: SDL 12 FSMs & message passing: SDL Peter Marwedel TU Dortmund, Informatik 12 Springer, 2010 2012 年 10 月 30 日 These slides use Microsoft clip arts. Microsoft copyright restrictions apply. Models of computation

More information

Hierarchical FSMs with Multiple CMs

Hierarchical FSMs with Multiple CMs Hierarchical FSMs with Multiple CMs Manaloor Govindarajan Balasubramanian Manikantan Bharathwaj Muthuswamy (aka Bharath) Reference: Hierarchical FSMs with Multiple Concurrency Models. Alain Girault, Bilung

More information

Requirements on the Execution of Kahn Process Networks

Requirements on the Execution of Kahn Process Networks Requirements on the Execution of Kahn Process Networks Marc Geilen and Twan Basten Dept. of Elec. Eng., Eindhoven University of Technology, The Netherlands {m.c.w.geilen, a.a.basten}@tue.nl Abstract. Kahn

More information

STATIC SCHEDULING FOR CYCLO STATIC DATA FLOW GRAPHS

STATIC SCHEDULING FOR CYCLO STATIC DATA FLOW GRAPHS STATIC SCHEDULING FOR CYCLO STATIC DATA FLOW GRAPHS Sukumar Reddy Anapalli Krishna Chaithanya Chakilam Timothy W. O Neil Dept. of Computer Science Dept. of Computer Science Dept. of Computer Science The

More information

Model checking pushdown systems

Model checking pushdown systems Model checking pushdown systems R. Ramanujam Institute of Mathematical Sciences, Chennai jam@imsc.res.in Update Meeting, IIT-Guwahati, 4 July 2006 p. 1 Sources of unboundedness Data manipulation: integers,

More information

Resource-bound process algebras for Schedulability and Performance Analysis of Real-Time and Embedded Systems

Resource-bound process algebras for Schedulability and Performance Analysis of Real-Time and Embedded Systems Resource-bound process algebras for Schedulability and Performance Analysis of Real-Time and Embedded Systems Insup Lee 1, Oleg Sokolsky 1, Anna Philippou 2 1 RTG (Real-Time Systems Group) Department of

More information

Lecture 4: Synchronous Data Flow Graphs - HJ94 goal: Skiing down a mountain

Lecture 4: Synchronous Data Flow Graphs - HJ94 goal: Skiing down a mountain Lecture 4: Synchronous ata Flow Graphs - I. Verbauwhede, 05-06 K.U.Leuven HJ94 goal: Skiing down a mountain SPW, Matlab, C pipelining, unrolling Specification Algorithm Transformations loop merging, compaction

More information

Communication-Based Design

Communication-Based Design Communication-Based Design Motivation System-level verification of large component-oriented designs will be very costly. We cannot afford to debug interface mismatches between internal components... especially

More information

Implementation of Process Networks in Java

Implementation of Process Networks in Java Implementation of Process Networks in Java Richard S, Stevens 1, Marlene Wan, Peggy Laramie, Thomas M. Parks, Edward A. Lee DRAFT: 10 July 1997 Abstract A process network, as described by G. Kahn, is a

More information

Introduction to Electronic Design Automation. Model of Computation. Model of Computation. Model of Computation

Introduction to Electronic Design Automation. Model of Computation. Model of Computation. Model of Computation Introduction to Electronic Design Automation Model of Computation Jie-Hong Roland Jiang 江介宏 Department of Electrical Engineering National Taiwan University Spring 03 Model of Computation In system design,

More information

Modelling and simulation of guaranteed throughput channels of a hard real-time multiprocessor system

Modelling and simulation of guaranteed throughput channels of a hard real-time multiprocessor system Modelling and simulation of guaranteed throughput channels of a hard real-time multiprocessor system A.J.M. Moonen Information and Communication Systems Department of Electrical Engineering Eindhoven University

More information

Computational Process Networks

Computational Process Networks Computational Process Networks for Real-Time High-Throughput Signal and Image Processing Systems on Workstations Gregory E. Allen EE 382C - Embedded Software Systems 17 February 2000 http://www.ece.utexas.edu/~allen/

More information

Dynamic Dataflow Graphs

Dynamic Dataflow Graphs Dynamic Dataflow Graphs Bart D. Theelen, Ed F. Deprettere, and Shuvra S. Bhattacharyya Abstract Much of the work to date on dataflow models for signal processing system design has focused on decidable

More information

CIS 1.5 Course Objectives. a. Understand the concept of a program (i.e., a computer following a series of instructions)

CIS 1.5 Course Objectives. a. Understand the concept of a program (i.e., a computer following a series of instructions) By the end of this course, students should CIS 1.5 Course Objectives a. Understand the concept of a program (i.e., a computer following a series of instructions) b. Understand the concept of a variable

More information

Petri Nets ~------~ R-ES-O---N-A-N-C-E-I--se-p-te-m--be-r Applications.

Petri Nets ~------~ R-ES-O---N-A-N-C-E-I--se-p-te-m--be-r Applications. Petri Nets 2. Applications Y Narahari Y Narahari is currently an Associate Professor of Computer Science and Automation at the Indian Institute of Science, Bangalore. His research interests are broadly

More information

Static Scheduling and Code Generation from Dynamic Dataflow Graphs With Integer- Valued Control Streams

Static Scheduling and Code Generation from Dynamic Dataflow Graphs With Integer- Valued Control Streams Presented at 28th Asilomar Conference on Signals, Systems, and Computers November, 994 Static Scheduling and Code Generation from Dynamic Dataflow Graphs With Integer- Valued Control Streams Joseph T.

More information

A Schedulability-Preserving Transformation Scheme from Boolean- Controlled Dataflow Networks to Petri Nets

A Schedulability-Preserving Transformation Scheme from Boolean- Controlled Dataflow Networks to Petri Nets Schedulability-Preserving ransformation Scheme from oolean- ontrolled Dataflow Networks to Petri Nets ong Liu Edward. Lee University of alifornia at erkeley erkeley,, 94720, US {congliu,eal}@eecs. berkeley.edu

More information

Dataflow Languages. Languages for Embedded Systems. Prof. Stephen A. Edwards. March Columbia University

Dataflow Languages. Languages for Embedded Systems. Prof. Stephen A. Edwards. March Columbia University Dataflow Languages Languages for Embedded Systems Prof. Stephen A. Edwards Columbia University March 2009 Philosophy of Dataflow Languages Drastically different way of looking at computation Von Neumann

More information

Buffer Sizing to Reduce Interference and Increase Throughput of Real-Time Stream Processing Applications

Buffer Sizing to Reduce Interference and Increase Throughput of Real-Time Stream Processing Applications Buffer Sizing to Reduce Interference and Increase Throughput of Real-Time Stream Processing Applications Philip S. Wilmanns Stefan J. Geuns philip.wilmanns@utwente.nl stefan.geuns@utwente.nl University

More information

Communication Systems Design in Practice

Communication Systems Design in Practice Communication Systems Design in Practice Jacob Kornerup, Ph.D. LabVIEW R&D National Instruments '87 '88 '89 '90 '91 '92 '93 '94 '95 '96 '97 '98 '99 '00 '01 '02 03 04 '05 '06 '07 '08 '09 '10 '11 '12 '13

More information

Mapping and architecture exploration

Mapping and architecture exploration Mapping and architecture exploration onfigure the resources, e.g. the size of an internal memory, width of a bus. Map the processes to the resources. ompile the processes in terms of the services provided

More information

Embedded Systems 8. Identifying, modeling and documenting how data moves around an information system. Dataflow modeling examines

Embedded Systems 8. Identifying, modeling and documenting how data moves around an information system. Dataflow modeling examines Embedded Systems 8 - - Dataflow modeling Identifying, modeling and documenting how data moves around an information system. Dataflow modeling examines processes (activities that transform data from one

More information

Hardware-Software Codesign. 6. System Simulation

Hardware-Software Codesign. 6. System Simulation Hardware-Software Codesign 6. System Simulation Lothar Thiele 6-1 System Design specification system simulation (this lecture) (worst-case) perf. analysis (lectures 10-11) system synthesis estimation SW-compilation

More information

TKT-1527 Digital System Design Issues Tero Arpinen. Introduction to SoC modeling and Models of Computation

TKT-1527 Digital System Design Issues Tero Arpinen. Introduction to SoC modeling and Models of Computation TKT-1527 Digital System Design Issues Tero Arpinen Introduction to SoC modeling and Models of Computation 1 Reference material A. Jantsch and I. Sander, Models of computation and languages for embedded

More information

Joint Entity Resolution

Joint Entity Resolution Joint Entity Resolution Steven Euijong Whang, Hector Garcia-Molina Computer Science Department, Stanford University 353 Serra Mall, Stanford, CA 94305, USA {swhang, hector}@cs.stanford.edu No Institute

More information

LabVIEW Based Embedded Design [First Report]

LabVIEW Based Embedded Design [First Report] LabVIEW Based Embedded Design [First Report] Sadia Malik Ram Rajagopal Department of Electrical and Computer Engineering University of Texas at Austin Austin, TX 78712 malik@ece.utexas.edu ram.rajagopal@ni.com

More information

Counting Interface Automata and their Application in Static Analysis of Actor Models

Counting Interface Automata and their Application in Static Analysis of Actor Models Counting Interface Automata and their Application in Static Analysis of Actor Models Ernesto Wandeler Jörn W. Janneck Edward A. Lee Lothar Thiele Abstract We present an interface theory based approach

More information

Conservative and compositional modeling in the CompSOC platform

Conservative and compositional modeling in the CompSOC platform Eindhoven University of Technology MASTER Conservative and compositional modeling in the CompSOC platform Milea, T.Y. Award date: 2012 Link to publication Disclaimer This document contains a student thesis

More information

Specifications and Modeling

Specifications and Modeling 12 Specifications and Modeling Peter Marwedel TU Dortmund, Informatik 12 Springer, 2010 2012 年 10 月 17 日 These slides use Microsoft clip arts. Microsoft copyright restrictions apply. Hypothetical design

More information

Distributed Deadlock Detection for. Distributed Process Networks

Distributed Deadlock Detection for. Distributed Process Networks 0 Distributed Deadlock Detection for Distributed Process Networks Alex Olson Embedded Software Systems Abstract The distributed process network (DPN) model allows for greater scalability and performance

More information

Embedded Systems CS - ES

Embedded Systems CS - ES Embedded Systems - 1 - Synchronous dataflow REVIEW Multiple tokens consumed and produced per firing Synchronous dataflow model takes advantage of this Each edge labeled with number of tokens consumed/produced

More information

MULTI-PROCESSOR SYSTEM-LEVEL SYNTHESIS FOR MULTIPLE APPLICATIONS ON PLATFORM FPGA

MULTI-PROCESSOR SYSTEM-LEVEL SYNTHESIS FOR MULTIPLE APPLICATIONS ON PLATFORM FPGA MULTI-PROCESSOR SYSTEM-LEVEL SYNTHESIS FOR MULTIPLE APPLICATIONS ON PLATFORM FPGA Akash Kumar,, Shakith Fernando, Yajun Ha, Bart Mesman and Henk Corporaal Eindhoven University of Technology, Eindhoven,

More information

Formal Modeling and Analysis of Stream Processing Systems

Formal Modeling and Analysis of Stream Processing Systems Formal Modeling and Analysis of Stream Processing Systems Linh T.X. Phan March 2009 Computer and Information Science University of Pennsylvania 1 High performance Highly optimized requirements systems

More information

Parameterized Modeling and Scheduling for Dataflow Graphs 1

Parameterized Modeling and Scheduling for Dataflow Graphs 1 Technical Report #UMIACS-TR-99-73, Institute for Advanced Computer Studies, University of Maryland at College Park, December 2, 999 Parameterized Modeling and Scheduling for Dataflow Graphs Bishnupriya

More information

Communication Systems Design in Practice

Communication Systems Design in Practice Communication Systems Design in Practice Jacob Kornerup, Ph.D. LabVIEW R&D National Instruments A Word About National Instruments Annual Revenue: $1.14 billion Global Operations: Approximately 6,870 employees;

More information

Distributed Systems Programming (F21DS1) Formal Verification

Distributed Systems Programming (F21DS1) Formal Verification Distributed Systems Programming (F21DS1) Formal Verification Andrew Ireland Department of Computer Science School of Mathematical and Computer Sciences Heriot-Watt University Edinburgh Overview Focus on

More information

Minimising Buffer Requirements of Synchronous Dataflow Graphs with Model Checking

Minimising Buffer Requirements of Synchronous Dataflow Graphs with Model Checking Minimising Buffer Requirements of Synchronous Dataflow Graphs with Model Checking Marc Geilen, Twan Basten and Sander Stuijk Eindhoven University of Technology, Department of Electrical Engineering {m.c.w.geilen,a.a.basten,s.stuijk}@tue.nl

More information

Cover Page. The handle holds various files of this Leiden University dissertation

Cover Page. The handle   holds various files of this Leiden University dissertation Cover Page The handle http://hdl.handle.net/1887/32963 holds various files of this Leiden University dissertation Author: Zhai, Jiali Teddy Title: Adaptive streaming applications : analysis and implementation

More information

Unit 2: High-Level Synthesis

Unit 2: High-Level Synthesis Course contents Unit 2: High-Level Synthesis Hardware modeling Data flow Scheduling/allocation/assignment Reading Chapter 11 Unit 2 1 High-Level Synthesis (HLS) Hardware-description language (HDL) synthesis

More information

ICS 252 Introduction to Computer Design

ICS 252 Introduction to Computer Design ICS 252 Introduction to Computer Design Lecture 3 Fall 2006 Eli Bozorgzadeh Computer Science Department-UCI System Model According to Abstraction level Architectural, logic and geometrical View Behavioral,

More information

fakultät für informatik informatik 12 technische universität dortmund Specifications Peter Marwedel TU Dortmund, Informatik /11/15

fakultät für informatik informatik 12 technische universität dortmund Specifications Peter Marwedel TU Dortmund, Informatik /11/15 12 Specifications Peter Marwedel TU Dortmund, Informatik 12 2008/11/15 Graphics: Alexandra Nolte, Gesine Marwedel, 2003 Structure of this course Application Knowledge 3: Embedded System HW 2: Specifications

More information

Tokens vs. Signals: On Conformance between Formal Models of Dataflow and Hardware

Tokens vs. Signals: On Conformance between Formal Models of Dataflow and Hardware DOI 10.1007/s11265-015-0971-y Tokens vs. Signals: On Conformance between Formal Models of Dataflow and Hardware Stavros Tripakis Rhishikesh Limaye Kaushik Ravindran Guoqiang Wang Hugo Andrade Arkadeb Ghosal

More information

Concurrent Models of Computation

Concurrent Models of Computation Chapter 5 Concurrent Models of Computation Contents 5.1 Structure of Models....................... 117 5.2 Synchronous-Reactive Models................. 118 Sidebar: Actor Networks as a System of Equations.......

More information

Software Synthesis from Dataflow Models for G and LabVIEW

Software Synthesis from Dataflow Models for G and LabVIEW Software Synthesis from Dataflow Models for G and LabVIEW Hugo A. Andrade Scott Kovner Department of Electrical and Computer Engineering University of Texas at Austin Austin, TX 78712 andrade@mail.utexas.edu

More information

Dynamic Dataflow Modeling in Ptolemy II. by Gang Zhou. Research Project

Dynamic Dataflow Modeling in Ptolemy II. by Gang Zhou. Research Project Dynamic Dataflow Modeling in Ptolemy II by Gang Zhou Research Project Submitted to the Department of Electrical Engineering and Computer Sciences, University of California at Berkeley, in partial satisfaction

More information

Worst-case Performance Analysis of Synchronous Dataflow Scenarios

Worst-case Performance Analysis of Synchronous Dataflow Scenarios Worst-case Performance Analysis of Synchronous Dataflow Scenarios ABSTRACT Marc Geilen Eindhoven University of Technology P.O. Box 5 Den Dolech Eindhoven, The Netherlands m.c.w.geilen@tue.nl Synchronous

More information

MODELING OF BLOCK-BASED DSP SYSTEMS

MODELING OF BLOCK-BASED DSP SYSTEMS MODELING OF BLOCK-BASED DSP SYSTEMS Dong-Ik Ko and Shuvra S. Bhattacharyya Department of Electrical and Computer Engineering, and Institute for Advanced Computer Studies University of Maryland, College

More information

2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into

2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into 2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into the viewport of the current application window. A pixel

More information

kickoff 15 oct 2004 Project Overview Henk Corporaal

kickoff 15 oct 2004 Project Overview Henk Corporaal PreMaDoNA kickoff 15 oct 2004 Project Overview Henk Corporaal Agenda 15.00 Opening and Overview 15.30 Implementation and Demonstrator 15.40 Project Management 15.55 Application track 16.05 Simulation track

More information

SysteMoC. Verification and Refinement of Actor-Based Models of Computation

SysteMoC. Verification and Refinement of Actor-Based Models of Computation SysteMoC Verification and Refinement of Actor-Based Models of Computation Joachim Falk, Jens Gladigau, Christian Haubelt, Joachim Keinert, Martin Streubühr, and Jürgen Teich {falk, haubelt}@cs.fau.de Hardware-Software-Co-Design

More information

Modal Models in Ptolemy

Modal Models in Ptolemy Modal Models in Ptolemy Edward A. Lee Stavros Tripakis UC Berkeley Workshop on Equation-Based Object-Oriented Modeling Languages and Tools 3rd International Workshop on Equation-Based Object-Oriented Modeling

More information

Dynamic Dataflow. Seminar on embedded systems

Dynamic Dataflow. Seminar on embedded systems Dynamic Dataflow Seminar on embedded systems Dataflow Dataflow programming, Dataflow architecture Dataflow Models of Computation Computation is divided into nodes that can be executed concurrently Dataflow

More information

Tasks. Task Implementation and management

Tasks. Task Implementation and management Tasks Task Implementation and management Tasks Vocab Absolute time - real world time Relative time - time referenced to some event Interval - any slice of time characterized by start & end times Duration

More information

Hardware Software Codesign

Hardware Software Codesign Hardware Software Codesign 2. Specification and Models of Computation Lothar Thiele 2-1 System Design Specification System Synthesis Estimation SW-Compilation Intellectual Prop. Code Instruction Set HW-Synthesis

More information

Modular Petri Net Processor for Embedded Systems

Modular Petri Net Processor for Embedded Systems Modular Petri Net Processor for Embedded Systems Orlando Micolini 1, Emiliano N. Daniele, Luis O. Ventre Laboratorio de Arquitectura de Computadoras (LAC) FCEFyN Universidad Nacional de Córdoba orlando.micolini@unc.edu.ar,

More information

Action Language Verifier, Extended

Action Language Verifier, Extended Action Language Verifier, Extended Tuba Yavuz-Kahveci 1, Constantinos Bartzis 2, and Tevfik Bultan 3 1 University of Florida 2 Carnegie Mellon University 3 UC, Santa Barbara 1 Introduction Action Language

More information

Actors and their composition. Jörn W. Janneck

Actors and their composition. Jörn W. Janneck Actors and their composition Jörn W. Janneck Memorandum No. UCB/ERL M02/37 Electronics Research Laboratory University of California at Berkeley 18 December 2002 Actors and their composition Jörn W. Janneck

More information

ESE532: System-on-a-Chip Architecture. Today. Process. Message FIFO. Thread. Dataflow Process Model Motivation Issues Abstraction Recommended Approach

ESE532: System-on-a-Chip Architecture. Today. Process. Message FIFO. Thread. Dataflow Process Model Motivation Issues Abstraction Recommended Approach ESE53: System-on-a-Chip Architecture Day 5: January 30, 07 Dataflow Process Model Today Dataflow Process Model Motivation Issues Abstraction Recommended Approach Message Parallelism can be natural Discipline

More information

Decision Properties for Context-free Languages

Decision Properties for Context-free Languages Previously: Decision Properties for Context-free Languages CMPU 240 Language Theory and Computation Fall 2018 Context-free languages Pumping Lemma for CFLs Closure properties for CFLs Today: Assignment

More information

Model-based Analysis of Event-driven Distributed Real-time Embedded Systems

Model-based Analysis of Event-driven Distributed Real-time Embedded Systems Model-based Analysis of Event-driven Distributed Real-time Embedded Systems Gabor Madl Committee Chancellor s Professor Nikil Dutt (Chair) Professor Tony Givargis Professor Ian Harris University of California,

More information

EE382V: Embedded System Design and Modeling

EE382V: Embedded System Design and Modeling EE382V: Embedded System Design and Models of Computation Andreas Gerstlauer Electrical and Computer Engineering University of Texas at Austin gerstl@ece.utexas.edu : Outline Models of Computation (MoCs)

More information

A NETWORK OF COMMUNICATING LOGIC PROGRAMS AND ITS SEMANTICS. Susumu Yamasaki. Department of Information Science, Kyoto University Sakyo, Kyoto, Japan

A NETWORK OF COMMUNICATING LOGIC PROGRAMS AND ITS SEMANTICS. Susumu Yamasaki. Department of Information Science, Kyoto University Sakyo, Kyoto, Japan A NETWORK OF COMMUNICATING LOGIC PROGRAMS AND ITS SEMANTICS Susumu Yamasaki Department of Information Science, Kyoto University Sakyo, Kyoto, Japan ABSTRACT In this paper, a network of communicating loqic

More information

COMP-421 Compiler Design. Presented by Dr Ioanna Dionysiou

COMP-421 Compiler Design. Presented by Dr Ioanna Dionysiou COMP-421 Compiler Design Presented by Dr Ioanna Dionysiou Administrative! Next time reading assignment [ALSU07] Chapters 1,2 [ALSU07] Sections 1.1-1.5 (cover in class) [ALSU07] Section 1.6 (read on your

More information

Extensions of Daedalus Todor Stefanov

Extensions of Daedalus Todor Stefanov Extensions of Daedalus Todor Stefanov Leiden Embedded Research Center, Leiden Institute of Advanced Computer Science Leiden University, The Netherlands Overview of Extensions in Daedalus DSE limited to

More information

DIGITAL VS. ANALOG SIGNAL PROCESSING Digital signal processing (DSP) characterized by: OUTLINE APPLICATIONS OF DIGITAL SIGNAL PROCESSING

DIGITAL VS. ANALOG SIGNAL PROCESSING Digital signal processing (DSP) characterized by: OUTLINE APPLICATIONS OF DIGITAL SIGNAL PROCESSING 1 DSP applications DSP platforms The synthesis problem Models of computation OUTLINE 2 DIGITAL VS. ANALOG SIGNAL PROCESSING Digital signal processing (DSP) characterized by: Time-discrete representation

More information

Compositionality in Synchronous Data Flow: Modular Code Generation from Hierarchical SDF Graphs

Compositionality in Synchronous Data Flow: Modular Code Generation from Hierarchical SDF Graphs Compositionality in Synchronous Data Flow: Modular Code Generation from Hierarchical SDF Graphs STAVROS TRIPAKIS and DAI BUI, University of California, Berkeley MARC GEILEN, Eindhoven University of Technology

More information

Functional modeling style for efficient SW code generation of video codec applications

Functional modeling style for efficient SW code generation of video codec applications Functional modeling style for efficient SW code generation of video codec applications Sang-Il Han 1)2) Soo-Ik Chae 1) Ahmed. A. Jerraya 2) SD Group 1) SLS Group 2) Seoul National Univ., Korea TIMA laboratory,

More information

WEEK 5 - APPLICATION OF PETRI NETS. 4.4 Producers-consumers problem with priority

WEEK 5 - APPLICATION OF PETRI NETS. 4.4 Producers-consumers problem with priority 4.4 Producers-consumers problem with priority The net shown in Fig. 27 represents a producers-consumers system with priority, i.e., consumer A has priority over consumer B in the sense that A can consume

More information