Mapping and architecture exploration

Size: px
Start display at page:

Download "Mapping and architecture exploration"

Transcription

1 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 by the mapped resources: SP PU HW HW ffective scheduling of process operations mapped to a PU is a key issue: reduce the context-switching between tasks for efficient execution increase data coherency among processes for efficient memory usage

2 Scheduling lassification ynamic scheduling Make all scheduling decisions at run-time ontext switch overhead Static scheduling Make all scheduling decisions at compile-time Reduce context switch overhead Restricted to specification without data-dependent controls (e.g. if-then-else) Quasi-static scheduling llow specification to have data-dependent controls Perform static scheduling as much as possible Leave data-dependent choices resolved at run-time

3 Quasi-static scheduling QSS Sequentialize concurrent operations as much as possible. better starting point for code generation technologies: Straight-line code across function blocks ounded memory usage during the code execution

4 Scheduling concurrent programs T STRT T while(1){ read(t, d, 1); = d * d; write(port,, 1); PORT IN STRT while(1){ read(strt, N, 1); for(i=0,y=0;i<n;i++){ read(in, x, 2); y = y+x[0]+2*x[1]; write(out, y, 1); OUT while(1){ read(strt, N, 1); for(i=0,y=0;i<n;i++){ read(t, d, 1); = d * d; x[0] = ; read(t, d, 1); = d * d; x[1] = ; y = y+x[0]+2*x[1]; write(out, y, 1); OUT

5 Outline The problem and an approach Petri Net: a model for capturing the behavior of a program efinition of a schedule n algorithm n application to MP2 decoder The effectiveness The outstanding problem: alse Path Problem pproaches for the alse Path Problem ong s observation uture directions

6 Scheduling concurrent programs STRT T while(1){ read(t, d, 1); = d * d; write(port,, 1); PORT IN while(1){ read(strt, N, 1); for(i=0,y=0;i<n;i++){ read(in, x, 2); y = y+x[0]+2*x[1]; write(out, y, 1); OUT STRT T PORT and are in conflict. We call {, an qual hoice Set (S). IN 2 OUT

7 Scheduling concurrent programs STRT T while(1){ read(t, d, 1); = d * d; write(port,, 1); PORT IN while(1){ read(strt, N, 1); for(i=0,y=0;i<n;i++){ read(in, x, 2); y = y+x[0]+2*x[1]; write(out, y, 1); OUT STRT T 2 OUT and are in conflict. We call {, an qual hoice Set (S).

8 Scheduling concurrent programs STRT 1 T OUT T 3,8 1,2,8 STRT 2,6 2,5,6 2,7 2,8 2,6,9 OUT 2,4,8 T 1,2, 4,8 3,4,8 2,4 4,8 One node r associated with the initial marking. ll and only transitions of an enabled S from each node. path to the node r from each node.

9 inding a schedule on the Petri net STRT p1 T p3 p4 2 p2 p5 p7 p8 p6 p9 OUT : r : r : r : v2 r (p2 p6) STRT v1 (p2 p5 p6) Two checks when a node is created: v2 (p2 p7) 1. Termination conditions 2. v5 ncestor (p2 p8) with v3 (p2 the p6 same p9) marking T OUT v4 (p2 p6) : r : r T : v2 : v2 v6 (p2 p4 p4 p8) v7 (p2 p7) : the node at which a cycle was found.

10 inding a schedule on the Petri net STRT p5 p6 r (p2 p6) STRT v1 (p2 p5 p6) OUT p7 v2 (p2 p7) p1 T p3 p2 p4 2 p8 p9 OUT v5 (p2 p8) T v3 (p2 p6 p9) T v6 (p2 p4 p4 p8)

11 enerating code from a schedule r (p2 p6) STRT v1 (p2 p5 p6) OUT T STRT T v2 (p2 p7) v5 (p2 p8) v3 (p2 p6 p9) T Start: read(strt, N, 1); i=0; y=0; : if(i < N){ read(t, d, 1); = d*d; x[0] = ; read(t, d, 1); = d*d; x[1] = ; y=y+x[0]+2*x[1]; i++; goto ; else{ write(out, y, 1); goto Start; v6 (p2 p4 p4 p8) OUT

12 Properties of the algorithm laim1: If the algorithm terminates successfully, a schedule is obtained. - The schedule provides an upper bound on memories required for communicating data. laim2: If the algorithm does NOT terminate successfully, no schedule exists under given termination conditions.

13 Improving efficiency Which transition to choose at each node? ind sequences of transitions to create cycles. T-invariants: a basis of the linear system x = 0 r (p2 p6) STRT v1 (p2 p5 p6) v2 (p2 p7) [i, j]: # of tokens produced to the i-th place by the j-th transition. v3 (p2 p6 p9) OUT T-invariants: T STRT OUT [ ] [ ] STRT hoose a T-invariant using a heuristic, and use it as much as possible. p1 T p3 p4 2 p2 p5 p7 p8 p6 p9 OUT

14 inding a schedule on the Petri net STRT p5 p6 r (p2 p6) STRT v1 (p2 p5 p6) OUT p7 v2 (p2 p7) p1 T p3 p2 p4 2 p8 p9 OUT v5 (p2 p8) T v3 (p2 p6 p9) T v6 (p2 p4 p4 p8)

15 The MP2 decoder Part of a complete commercial video decoder escribed in YPI (developed at Philips) based on Kahn Process Network partially translated into low to apply QSS 11 processes 5000 lines of code of ++ code 45 IOs Hdr Vld ecmv Predict Mem Out ISIQ IT dd WriteM Manager

16 The MP2 decoder mbout Predict smbc = prop.skipped_cnt; while (smbc > 0) { opredictionskipped(<params>); Write(mbOut, mb_p); smbc--; /* Other Predict stuff here */ mbin dd mb_dout smbc = mb_prop.skipped_cnt; while (smbc > 0) { Read(mbIn, mb_p); Write(mb_dOut, mb_p); smbc--; /* Other dd stuff here */

17 The MP2 decoder smbc = prop.skipped_cnt; while (smbc > 0) { opredictionskipped(<params>); Write(mbOut, mb_p); smbc--; /* Other Predict stuff here */ smbc = mb_prop.skipped_cnt; while (smbc > 0) { Read(mbIn, mb_p); Write(mb_dOut, mb_p); smbc--; /* Other dd stuff here */ Various optimizations still possible: remove unused variables remove unused communications Predict_smbc = Predict_prop.skipped_cnt; dd_smbc = dd_ mb_prop.skipped_cnt looplabel: (void) (dd_smbc > 0); if (Predict_smbc > 0) { opredictionskipped(<params>); Write(mbOut, Predict_mb_p, 1); Read(mbIn, dd_mb_p, 1); Write(mb_dOut, dd_mb_p, 1); Predict_smbc--; dd_smbc--; goto looplabel; else if (!(Predict_smbc > 0) {

18 The MP2 decoder Total MP Testench OS Total vld+hdr 5 blocks Philips QSS blocks Total omputation ommunication Philips QSS Performance improved by 45% reduction of communication (no internal IOs between statically scheduled processes) reduction of run-time scheduling (OS) no reduction in computation

19 Outline The problem and an approach Petri Net: a model for capturing the behavior of a program efinition of a schedule n algorithm n application to MP2 decoder The effectiveness The outstanding problem: alse Path Problem pproaches for the alse Path Problem onventional approaches ong s observation uture directions

20 alse paths in scheduling concurrent programs IN while(1){ N=read(IN); write(x, N); for(i=0;i<n;i++){ write(y, [i]); X Y X Y while(1){ M=read(X); for(j=0;j<m;j++){ [j]=read(y); X Y H

21 alse paths in scheduling concurrent programs X Y H j<m? alse state 1,6 1,4 N=read(IN); write(x,n); i=0; 2,X,4 M=read(X); j=0; 2,5 i<n? 1,5 3,Y,5 3,Y,6 j<m? 3,Y,4 i=i+1; 2,Y,6 H j=j+1; alse state The false path problem arises very often in practice. With this problem, the scheduling algorithm blows up, or produces huge schedules...

22 Our previous approach for the false path problem 1. Manually change the input program to eliminate the false paths: [rrigoni et. al, 2002] 1 2 X Y one Loop 4 5 1,4 2,X,4 2,5 3 H 6 1,,5 3,Y,L,5 3,Y,6 2,Y,6 H ffective if specified correctly. The additional burden to the user may not be practical.

23 Our previous approach for the false path problem 2. ompute sets of values of variables at each state: [ousot, 1976] j<m? 1,6 1,4 N=read(IN); write(x,n); i=0; 2,X,4 M=read(X); j=0; 0 i, 0 j 2,5 i<n? i = j, M = N 1,5 3,Y,5 3,Y,6 j<m? 3,Y,4 i=i+1; 2,Y,6 H j=j+1; 0 i < N 0 i < N, i N The convex hull computation at {2,5 j 1 1 i Restrictions on arithmetic operations to be handled. Restrictions on the problem sizes.

24 Outline The problem and an approach Petri Net: a model for capturing the behavior of a program efinition of a schedule n algorithm n application to MP2 decoder The effectiveness The outstanding problem: alse Path Problem pproaches for the alse Path Problem onventional approaches ong s observation uture directions

25 ong s observation certain pattern exists beyond the false states in the reachability tree: The pattern is observed in typical dataflow applications we have in practice. The pattern makes a scheduler fail to find a (finite) schedule. The pattern is caused by a structural property of the input Petri net X Y H ,6. 1,4 2,X,4 2,5 1,5 3,Y,5 3,Y,6 2,Y,6 H 3,Y,4.

26 ong s observation 1, Y Z H ,Z,4 2,Y,4 2,5 3,5 2,Y,5 3,6 2,Z,6 2,Y,Z,4 H.

27 ong s observation Transition dependency transition s requires a transition t, s t, if for any T-invariant of the Petri net, if it contains s, then it also contains t. T-invariant: a solution of the marking equations. I.e., a set of instances of transitions such that if all and only the instances of the set are fired, the resulting marking is same as before Y Z H T-invariants (minimal): {,,,, {,, H S1={, and S2={, are recurrent: and and Recurrent S es Two distinct S es, S1 and S2, are recurrent if there exist distinct elements {si, sj S1 and {tk, tl S2, such that si tk and tl sj.

28 ong s observation Proposition No schedule of a given Petri net contains recurrent S es. Proof: What to show: any attempt to include one of recurrent S es in a schedule leads to either a deadlock or infinite paths. Say S1 and S2 are recurrent, with {si, sj S1 and {tk, tl S2 and si tk and tl sj. schedule needs to include all resolutions of an S contained in it. ny instance of S1 in the reachability tree has a path such that the path starts with si, and tk and sj do not appear in the path, and the path ends with a deadlock, or else is infinite (no repeated marking in the path). Had a schedule contained S1, there is its instance for which the path above does not have any marking repeated in the pre-history of the path in the schedule.

29 ong s observation 1, Y Z H ,Z,4 2,Y,4 2,5 3,5 2,Y,5 3,6 2,Z,6 2,Y,Z,4 H S1={, and S2={, are recurrent: 1. and 2. and.

30 ong s observation: summary Recurrent S es lead the schedule search to either deadlock or endless. The recurrence between S es is a structural property of a Petri net. The proposition holds regardless of markings. The property can be found with a structural analysis. irections of research with ong s observation: 1. pplication to the false path problem 2. pplication to the schedulability analysis 3. xtension of the notion of recurrent S es

31 irections of research with ong s observation 1. pplication to the false path problem X Y H j<m? alse state 1,6 1,4 N=read(IN); write(x,n); i=0; 2,X,4 M=read(X); j=0; 2,5 i<n? 1,5 3,Y,5 3,Y,6 j<m? 3,Y,4 i=i+1; 2,Y,6 H j=j+1; alse state..

32 oncluding remarks Static scheduling of concurrent programs finds attractive applications in practice. Petri nets with abstracted control flow seem to be a reasonable model, but the false path problem stands as a showstopper. Previous attempts directly looked at data-value analysis. ong s observation deals with structural properties of the Petri nets: strong proposition, independent of markings mechanism of a failure of a schedule search revealed While not directly applicable to the false path problem, it may lead to an effective way to address the problem.

33

34 irections of research with ong s observation 2. pplication to the schedulability problem Question: when does the other direction of ong s proposition hold? I.e. iven two distinct S es, suppose that no schedule contains either of them. re these S es recurrent then?

35 irections of research with ong s observation 3. xtension of the notion of recurrent S es H

36 irections of research with ong s observation 3. xtension of the notion of recurrent S es H S1={,, S2={I,J, S3={,, S4={L,M I L I J I L I K L J L M M J N M None of them is recurrent to each other.

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

EE 249 Discussion: Synthesis of Embedded Software using Free- Choice Petri Nets

EE 249 Discussion: Synthesis of Embedded Software using Free- Choice Petri Nets EE 249 Discussion: Synthesis of Embedded Software using Free- Choice Petri Nets By :Marco Sgroi, Luciano Lavagno, Alberto Sangiovanni-Vincentelli Shanna-Shaye Forbes Software synthesis from a concurrent

More information

Computational Models for Concurrent Streaming Applications

Computational Models for Concurrent Streaming Applications 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

More information

The Esterel Language. The Esterel Version. Basic Ideas of Esterel

The Esterel Language. The Esterel Version. Basic Ideas of Esterel The Synchronous Language Esterel OMS W4995-02 Prof. Stephen. Edwards Fall 2002 olumbia University epartment of omputer Science The Esterel Language eveloped by Gérard erry starting 1983 Originally for

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

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

Coverability Graph and Fairness

Coverability Graph and Fairness Coverability Graph and Fairness prof.dr.ir. Wil van der Aalst www.vdaalst.com Recall reachability analysis or1 x r1 rg1 g1 go1 o1 r2 rg2 g2 go2 o2 or2 Petri net standard properties Boundedness Terminating

More information

A counter-example to the minimal coverability tree algorithm

A counter-example to the minimal coverability tree algorithm A counter-example to the minimal coverability tree algorithm A. Finkel, G. Geeraerts, J.-F. Raskin and L. Van Begin Abstract In [1], an algorithm to compute a minimal coverability tree for Petri nets has

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

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

A Simple Example. The Synchronous Language Esterel. A First Try: An FSM. The Esterel Version. The Esterel Version. The Esterel Version

A Simple Example. The Synchronous Language Esterel. A First Try: An FSM. The Esterel Version. The Esterel Version. The Esterel Version The Synchronous Language Prof. Stephen. Edwards Simple Example The specification: The output O should occur when inputs and have both arrived. The R input should restart this behavior. First Try: n FSM

More information

6.033: Fault Tolerance: Isolation Lecture 17 Katrina LaCurts,

6.033: Fault Tolerance: Isolation Lecture 17 Katrina LaCurts, 6.033: Fault Tolerance: Isolation Lecture 17 Katrina LaCurts, lacurts@mit.edu 0. Introduction - Last time: Atomicity via logging. We're good with atomicity now. - Today: Isolation - The problem: We have

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

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

Interaction Testing! Chapter 15!!

Interaction Testing! Chapter 15!! Interaction Testing Chapter 15 Interaction faults and failures Subtle Difficult to detect with testing Usually seen after systems have been delivered In low probability threads Occur after a long time

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

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

Dr. D. M. Akbar Hussain DE5 Department of Electronic Systems

Dr. D. M. Akbar Hussain DE5 Department of Electronic Systems Concurrency 1 Concurrency Execution of multiple processes. Multi-programming: Management of multiple processes within a uni- processor system, every system has this support, whether big, small or complex.

More information

Memory Management. Before We Begin. Process s Memory Address Space. Process Memory. CSE 120: Principles of Operating Systems.

Memory Management. Before We Begin. Process s Memory Address Space. Process Memory. CSE 120: Principles of Operating Systems. SE 12: Principles of Operating Systems Lecture 7 Memory Management February 1, 26 Prof. Joe Pasquale Department of omputer Science and Engineering University of alifornia, San Diego Before We Begin Read

More information

Embedded Systems 7. Petri net plan coordination for robocup teams G. Kontes and M.G. Lagoudakis BF - ES BF - ES - 2 -

Embedded Systems 7. Petri net plan coordination for robocup teams G. Kontes and M.G. Lagoudakis BF - ES BF - ES - 2 - Embedded Systems 7-1 - Petri net plan coordination for robocup teams G. Kontes and M.G. Lagoudakis - 2-1 Passing Maneuver Teamwork Design Based on Petri Net Plan P. F. Palamara, V. A. Ziparo, L. Iocchi,

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

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

Interaction Testing. Chapter 15

Interaction Testing. Chapter 15 Interaction Testing Chapter 15 Interaction faults and failures Subtle Difficult to detect with testing Usually seen after systems have been delivered In low probability threads Occur after a long time

More information

Synthesis of Complicated Asynchronous Control Circuits Using Template Based Technique

Synthesis of Complicated Asynchronous Control Circuits Using Template Based Technique Synthesis of Complicated Asynchronous Control Circuits Using Template Based Technique Sufian Sudeng and Arthit Thongtak Abstract this paper proposes an approach for complicated asynchronous controller

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

A Geometric Approach to the Bisection Method

A Geometric Approach to the Bisection Method Geometric pproach to the isection Method laudio Gutierrez 1, Flavio Gutierrez 2, and Maria-ecilia Rivara 1 1 epartment of omputer Science, Universidad de hile lanco Encalada 2120, Santiago, hile {cgutierr,mcrivara}@dcc.uchile.cl

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

Outline. G Honors Operating Systems. Deadlock Avoidance. Review: Deadlock Prevention. Lecture 11: Deadlocks Avoidance, Detection, and Recovery

Outline. G Honors Operating Systems. Deadlock Avoidance. Review: Deadlock Prevention. Lecture 11: Deadlocks Avoidance, Detection, and Recovery Outline G22.3250 Honors Operating Systems Lecture 11: Deadlocks Avoidance, Detection, and Recovery Process deadlocks (contd.) deadlock avoidance deadlock detection deadlock recovery combined approach to

More information

Petri Nets. Robert A. McGuigan, Department of Mathematics, Westfield State

Petri Nets. Robert A. McGuigan, Department of Mathematics, Westfield State 24 Petri Nets Author: College. Robert A. McGuigan, Department of Mathematics, Westfield State Prerequisites: The prerequisites for this chapter are graphs and digraphs. See Sections 9.1, 9.2, and 10.1

More information

Compiler Construction 2010/2011 Loop Optimizations

Compiler Construction 2010/2011 Loop Optimizations Compiler Construction 2010/2011 Loop Optimizations Peter Thiemann January 25, 2011 Outline 1 Loop Optimizations 2 Dominators 3 Loop-Invariant Computations 4 Induction Variables 5 Array-Bounds Checks 6

More information

Evinrude. How to build a Petri Net-Based IDS from Program Sources. MeFoSyLoMa Meeting

Evinrude. How to build a Petri Net-Based IDS from Program Sources. MeFoSyLoMa Meeting MeFoSyLoMa Meeting Jean-Baptiste Voron - LIP6 (UPMC) Fabrice Kordon - LIP6 (UPMC) Liviu Iftode - DiscoLab (Rutgers University) Evinrude How to build a Petri Net-Based IDS from Program Sources December

More information

Diagnostic Information for Control-Flow Analysis of Workflow Graphs (aka Free-Choice Workflow Nets)

Diagnostic Information for Control-Flow Analysis of Workflow Graphs (aka Free-Choice Workflow Nets) Diagnostic Information for Control-Flow Analysis of Workflow Graphs (aka Free-Choice Workflow Nets) Cédric Favre(1,2), Hagen Völzer(1), Peter Müller(2) (1) IBM Research - Zurich (2) ETH Zurich 1 Outline

More information

Algorithms. Definition: An algorithm is a set of rules followed to solve a problem. In general, an algorithm has the steps:

Algorithms. Definition: An algorithm is a set of rules followed to solve a problem. In general, an algorithm has the steps: Matchings 7.2 99 lgorithms efinition: n algorithm is a set of rules followed to solve a problem. In general, an algorithm has the steps: 1 Organize the input. 2 Repeatedly apply some steps until a termination

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

New Optimal Layer Assignment for Bus-Oriented Escape Routing

New Optimal Layer Assignment for Bus-Oriented Escape Routing New Optimal Layer ssignment for us-oriented scape Routing in-tai Yan epartment of omputer Science and nformation ngineering, hung-ua University, sinchu, Taiwan, R. O.. STRT n this paper, based on the optimal

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

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

Compiler Construction 2016/2017 Loop Optimizations

Compiler Construction 2016/2017 Loop Optimizations Compiler Construction 2016/2017 Loop Optimizations Peter Thiemann January 16, 2017 Outline 1 Loops 2 Dominators 3 Loop-Invariant Computations 4 Induction Variables 5 Array-Bounds Checks 6 Loop Unrolling

More information

System Correctness. EEC 421/521: Software Engineering. System Correctness. The Problem at Hand. A system is correct when it meets its requirements

System Correctness. EEC 421/521: Software Engineering. System Correctness. The Problem at Hand. A system is correct when it meets its requirements System Correctness EEC 421/521: Software Engineering A Whirlwind Intro to Software Model Checking A system is correct when it meets its requirements a design without requirements cannot be right or wrong,

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

CA441 BPM - Modelling Workflow with Petri Nets. Modelling Workflow with Petri Nets. Workflow Management Issues. Workflow. Process.

CA441 BPM - Modelling Workflow with Petri Nets. Modelling Workflow with Petri Nets. Workflow Management Issues. Workflow. Process. Modelling Workflow with Petri Nets 1 Workflow Management Issues Georgakopoulos,Hornick, Sheth Process Workflow specification Workflow Implementation =workflow application Business Process Modelling/ Workflow

More information

CS606- compiler instruction Solved MCQS From Midterm Papers

CS606- compiler instruction Solved MCQS From Midterm Papers CS606- compiler instruction Solved MCQS From Midterm Papers March 06,2014 MC100401285 Moaaz.pk@gmail.com Mc100401285@gmail.com PSMD01 Final Term MCQ s and Quizzes CS606- compiler instruction If X is a

More information

Lesson 5: Deadlocks Memory management (Part 1)

Lesson 5: Deadlocks Memory management (Part 1) Lesson 5: Deadlocks Memory management (Part 1) ontents he oncept of Deadlock esource-llocation Graph pproaches to Handling Deadlocks Deadlock voidance Deadlock Detection ecovery from Deadlock =====================

More information

Introduction to Machine-Independent Optimizations - 1

Introduction to Machine-Independent Optimizations - 1 Introduction to Machine-Independent Optimizations - 1 Department of Computer Science and Automation Indian Institute of Science Bangalore 560 012 NPTEL Course on Principles of Compiler Design Outline 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

Throughput-optimizing Compilation of Dataflow Applications for Multi-Cores using Quasi-Static Scheduling

Throughput-optimizing Compilation of Dataflow Applications for Multi-Cores using Quasi-Static Scheduling Throughput-optimizing Compilation of Dataflow Applications for Multi-Cores using Quasi-Static Scheduling Tobias Schwarzer 1, Joachim Falk 1, Michael Glaß 1, Jürgen Teich 1, Christian Zebelein 2, Christian

More information

Picture of memory. Word FFFFFFFD FFFFFFFE FFFFFFFF

Picture of memory. Word FFFFFFFD FFFFFFFE FFFFFFFF Memory Sequential circuits all depend upon the presence of memory A flip-flop can store one bit of information A register can store a single word, typically 32-64 bits Memory allows us to store even larger

More information

The Spin Model Checker : Part I/II

The Spin Model Checker : Part I/II The Spin Model Checker : Part I/II Moonzoo Kim CS Dept. KAIST Korea Advanced Institute of Science and Technology Motivation: Tragic Accidents Caused by SW Bugs 2 Cost of Software Errors June 2002 Software

More information

Thirty one Problems in the Semantics of UML 1.3 Dynamics

Thirty one Problems in the Semantics of UML 1.3 Dynamics Thirty one Problems in the Semantics of UML 1.3 Dynamics G. Reggio R.J. Wieringa September 14, 1999 1 Introduction In this discussion paper we list a number of problems we found with the current dynamic

More information

The Language for Specifying Lexical Analyzer

The Language for Specifying Lexical Analyzer The Language for Specifying Lexical Analyzer We shall now study how to build a lexical analyzer from a specification of tokens in the form of a list of regular expressions The discussion centers around

More information

CoVaC: Compiler Verification by Program Analysis of the Cross-Product. Anna Zaks, Amir Pnueli. May 28, FM 08, Turku, Finland

CoVaC: Compiler Verification by Program Analysis of the Cross-Product. Anna Zaks, Amir Pnueli. May 28, FM 08, Turku, Finland CoVaC: Compiler Verification by Program Analysis of the Cross-Product Anna Zaks, Amir Pnueli May 28, 28 FM 8, Turku, Finland Translation Validation source Optimization Pass target Validation Pass proof

More information

Well-behaved Dataflow Graphs

Well-behaved Dataflow Graphs Well-behaved Dataflow Graphs Arvind Computer Science & Artificial Intelligence Lab Massachusetts Institute of echnology L21-1 Outline Kahnian networks and dataflow Streams with holes & agged interpretation

More information

Algorithms and Data Structures

Algorithms and Data Structures Lesson 4: Sets, Dictionaries and Hash Tables Luciano Bononi http://www.cs.unibo.it/~bononi/ (slide credits: these slides are a revised version of slides created by Dr. Gabriele D Angelo)

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

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

Systemic Solutions to Deadlock in FMS

Systemic Solutions to Deadlock in FMS Systemic Solutions to Deadlock in FMS Xu gang, Wu zhi Ming Abstract In order to solve deadlock in FMS, an integrated design method for FMS is presented. This method is based on deadlock free scheduling,

More information

Discrete Optimization. Lecture Notes 2

Discrete Optimization. Lecture Notes 2 Discrete Optimization. Lecture Notes 2 Disjunctive Constraints Defining variables and formulating linear constraints can be straightforward or more sophisticated, depending on the problem structure. The

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

Strand Algebras for DNA Computing

Strand Algebras for DNA Computing Strand Algebras for DNA omputing Microsoft Research DNA 15 onference Fayetteville, 2009-06-10 http://lucacardelli.name How Process Algebra fits in DNA omputing Electronics has electrons o All electrons

More information

CSE 332: Data Structures & Parallelism Lecture 22: Minimum Spanning Trees. Ruth Anderson Winter 2018

CSE 332: Data Structures & Parallelism Lecture 22: Minimum Spanning Trees. Ruth Anderson Winter 2018 SE 33: Data Structures & Parallelism Lecture : Minimum Spanning Trees Ruth nderson Winter 08 Minimum Spanning Trees iven an undirected graph =(V,E), find a graph =(V, E ) such that: E is a subset of E

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

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/22891 holds various files of this Leiden University dissertation Author: Gouw, Stijn de Title: Combining monitoring with run-time assertion checking Issue

More information

Understanding Parallelism and the Limitations of Parallel Computing

Understanding Parallelism and the Limitations of Parallel Computing Understanding Parallelism and the Limitations of Parallel omputing Understanding Parallelism: Sequential work After 16 time steps: 4 cars Scalability Laws 2 Understanding Parallelism: Parallel work After

More information

Treewidth and graph minors

Treewidth and graph minors Treewidth and graph minors Lectures 9 and 10, December 29, 2011, January 5, 2012 We shall touch upon the theory of Graph Minors by Robertson and Seymour. This theory gives a very general condition under

More information

Algorithms and Data Structures, or

Algorithms and Data Structures, or Algorithms and Data Structures, or... Classical Algorithms of the 50s, 60s and 70s Mary Cryan A&DS Lecture 1 1 Mary Cryan Our focus Emphasis is Algorithms ( Data Structures less important). Most of the

More information

Discrete-event simulation of railway systems with hybrid models

Discrete-event simulation of railway systems with hybrid models Discrete-event simulation of railway systems with hybrid models G. Decknatel & E. Schnieder Imtitutfur Regelungs- undautomatisierungstechnik, Technische Universitat Braunschweig, Braunschweig, Germany.

More information

Pipelining, Branch Prediction, Trends

Pipelining, Branch Prediction, Trends Pipelining, Branch Prediction, Trends 10.1-10.4 Topics 10.1 Quantitative Analyses of Program Execution 10.2 From CISC to RISC 10.3 Pipelining the Datapath Branch Prediction, Delay Slots 10.4 Overlapping

More information

Cardinality of Sets MAT231. Fall Transition to Higher Mathematics. MAT231 (Transition to Higher Math) Cardinality of Sets Fall / 15

Cardinality of Sets MAT231. Fall Transition to Higher Mathematics. MAT231 (Transition to Higher Math) Cardinality of Sets Fall / 15 Cardinality of Sets MAT Transition to Higher Mathematics Fall 0 MAT (Transition to Higher Math) Cardinality of Sets Fall 0 / Outline Sets with Equal Cardinality Countable and Uncountable Sets MAT (Transition

More information

A Deterministic Concurrent Language for Embedded Systems

A Deterministic Concurrent Language for Embedded Systems A Deterministic Concurrent Language for Embedded Systems Stephen A. Edwards Columbia University Joint work with Olivier Tardieu SHIM:A Deterministic Concurrent Language for Embedded Systems p. 1/38 Definition

More information

The SPIN Model Checker

The SPIN Model Checker The SPIN Model Checker Metodi di Verifica del Software Andrea Corradini Lezione 1 2013 Slides liberamente adattate da Logic Model Checking, per gentile concessione di Gerard J. Holzmann http://spinroot.com/spin/doc/course/

More information

Lecture 5 - Axiomatic semantics

Lecture 5 - Axiomatic semantics Program Verification March 2014 Lecture 5 - Axiomatic semantics Lecturer: Noam Rinetzky Scribes by: Nir Hemed 1.1 Axiomatic semantics The development of the theory is contributed to Robert Floyd, C.A.R

More information

EE213A - EE298-2 Lecture 8

EE213A - EE298-2 Lecture 8 EE3A - EE98- Lecture 8 Synchronous ata Flow Ingrid Verbauwhede epartment of Electrical Engineering University of California Los Angeles ingrid@ee.ucla.edu EE3A, Spring 000, Ingrid Verbauwhede, UCLA - Lecture

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

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

Lecture 13: Memory Consistency. + a Course-So-Far Review. Parallel Computer Architecture and Programming CMU , Spring 2013

Lecture 13: Memory Consistency. + a Course-So-Far Review. Parallel Computer Architecture and Programming CMU , Spring 2013 Lecture 13: Memory Consistency + a Course-So-Far Review Parallel Computer Architecture and Programming Today: what you should know Understand the motivation for relaxed consistency models Understand the

More information

Algorithms and Data Structures. Algorithms and Data Structures. Algorithms and Data Structures. Algorithms and Data Structures

Algorithms and Data Structures. Algorithms and Data Structures. Algorithms and Data Structures. Algorithms and Data Structures Richard Mayr Slides adapted from Mary Cryan (2015/16) with some changes. School of Informatics University of Edinburgh ADS (2018/19) Lecture 1 slide 1 ADS (2018/19) Lecture 1 slide 3 ADS (2018/19) Lecture

More information

Retiming. Adapted from: Synthesis and Optimization of Digital Circuits, G. De Micheli Stanford. Outline. Structural optimization methods. Retiming.

Retiming. Adapted from: Synthesis and Optimization of Digital Circuits, G. De Micheli Stanford. Outline. Structural optimization methods. Retiming. Retiming Adapted from: Synthesis and Optimization of Digital Circuits, G. De Micheli Stanford Outline Structural optimization methods. Retiming. Modeling. Retiming for minimum delay. Retiming for minimum

More information

A Deterministic Concurrent Language for Embedded Systems

A Deterministic Concurrent Language for Embedded Systems A Deterministic Concurrent Language for Embedded Systems Stephen A. Edwards Columbia University Joint work with Olivier Tardieu SHIM:A Deterministic Concurrent Language for Embedded Systems p. 1/30 Definition

More information

Hoare Logic. COMP2600 Formal Methods for Software Engineering. Rajeev Goré

Hoare Logic. COMP2600 Formal Methods for Software Engineering. Rajeev Goré Hoare Logic COMP2600 Formal Methods for Software Engineering Rajeev Goré Australian National University Semester 2, 2016 (Slides courtesy of Ranald Clouston) COMP 2600 Hoare Logic 1 Australian Capital

More information

Decision Making -Branching. Class Incharge: S. Sasirekha

Decision Making -Branching. Class Incharge: S. Sasirekha Decision Making -Branching Class Incharge: S. Sasirekha Branching The C language programs presented until now follows a sequential form of execution of statements. Many times it is required to alter the

More information

Basic Graph Theory with Applications to Economics

Basic Graph Theory with Applications to Economics Basic Graph Theory with Applications to Economics Debasis Mishra February, 0 What is a Graph? Let N = {,..., n} be a finite set. Let E be a collection of ordered or unordered pairs of distinct elements

More information

3 INSTRUCTION FLOW. Overview. Figure 3-0. Table 3-0. Listing 3-0.

3 INSTRUCTION FLOW. Overview. Figure 3-0. Table 3-0. Listing 3-0. 3 INSTRUCTION FLOW Figure 3-0. Table 3-0. Listing 3-0. Overview The TigerSHARC is a pipelined RISC-like machine, where ructions are read from memory o the ruction alignment buffer in quad words. Instruction

More information

Deterministic Concurrency

Deterministic Concurrency Candidacy Exam p. 1/35 Deterministic Concurrency Candidacy Exam Nalini Vasudevan Columbia University Motivation Candidacy Exam p. 2/35 Candidacy Exam p. 3/35 Why Parallelism? Past Vs. Future Power wall:

More information

CHAPTER 8. Copyright Cengage Learning. All rights reserved.

CHAPTER 8. Copyright Cengage Learning. All rights reserved. CHAPTER 8 RELATIONS Copyright Cengage Learning. All rights reserved. SECTION 8.3 Equivalence Relations Copyright Cengage Learning. All rights reserved. The Relation Induced by a Partition 3 The Relation

More information

MODERN automated manufacturing systems require. An Extended Event Graph With Negative Places and Tokens for Time Window Constraints

MODERN automated manufacturing systems require. An Extended Event Graph With Negative Places and Tokens for Time Window Constraints IEEE TRANSACTIONS ON AUTOMATION SCIENCE AND ENGINEERING, VOL. 2, NO. 4, OCTOBER 2005 319 An Extended Event Graph With Negative Places and Tokens for Time Window Constraints Tae-Eog Lee and Seong-Ho Park

More information

1 The comparison of QC, SC and LIN

1 The comparison of QC, SC and LIN Com S 611 Spring Semester 2009 Algorithms for Multiprocessor Synchronization Lecture 5: Tuesday, 3rd February 2009 Instructor: Soma Chaudhuri Scribe: Jianrong Dong 1 The comparison of QC, SC and LIN Pi

More information

Dataflow Architectures. Karin Strauss

Dataflow Architectures. Karin Strauss Dataflow Architectures Karin Strauss Introduction Dataflow machines: programmable computers with hardware optimized for fine grain data-driven parallel computation fine grain: at the instruction granularity

More information

Formal Verification for UML/SysML models

Formal Verification for UML/SysML models Formal Verification for UML/SysML models IBM Research Lab - Haifa Content Formal verification v.s. testing Correctness properties Formal verification for Rhapsody models 2 Formal Verification Desired Properties

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

1. Memory technology & Hierarchy

1. Memory technology & Hierarchy 1. Memory technology & Hierarchy Back to caching... Advances in Computer Architecture Andy D. Pimentel Caches in a multi-processor context Dealing with concurrent updates Multiprocessor architecture In

More information

Algorithmic Verification. Algorithmic Verification. Model checking. Algorithmic verification. The software crisis (and hardware as well)

Algorithmic Verification. Algorithmic Verification. Model checking. Algorithmic verification. The software crisis (and hardware as well) Algorithmic Verification The software crisis (and hardware as well) Algorithmic Verification Comp4151 Lecture 1-B Ansgar Fehnker Computer become more powerful (Moore s law) The quality of programs cannot

More information

Downloaded from Page 1. LR Parsing

Downloaded from  Page 1. LR Parsing Downloaded from http://himadri.cmsdu.org Page 1 LR Parsing We first understand Context Free Grammars. Consider the input string: x+2*y When scanned by a scanner, it produces the following stream of tokens:

More information

Potential violations of Serializability: Example 1

Potential violations of Serializability: Example 1 CSCE 6610:Advanced Computer Architecture Review New Amdahl s law A possible idea for a term project Explore my idea about changing frequency based on serial fraction to maintain fixed energy or keep same

More information

Inst: Chris Davison

Inst: Chris Davison ICS 153 Introduction to Computer Networks Inst: Chris Davison cbdaviso@uci.edu ICS 153 Data Link Layer Contents Simplex and Duplex Communication Frame Creation Flow Control Error Control Performance of

More information

Relaxed Memory-Consistency Models

Relaxed Memory-Consistency Models Relaxed Memory-Consistency Models Review. Why are relaxed memory-consistency models needed? How do relaxed MC models require programs to be changed? The safety net between operations whose order needs

More information

Cache Coherence in Scalable Machines

Cache Coherence in Scalable Machines ache oherence in Scalable Machines SE 661 arallel and Vector Architectures rof. Muhamed Mudawar omputer Engineering Department King Fahd University of etroleum and Minerals Generic Scalable Multiprocessor

More information

Dynamic Maintenance of Majority Information in Constant Time per Update

Dynamic Maintenance of Majority Information in Constant Time per Update RIS RS-95-45 Frandsen & Skyum: ynamic Maintenance of Majority Information RIS asic Research in omputer Science ynamic Maintenance of Majority Information in onstant Time per pdate Gudmund Skovbjerg Frandsen

More information

the complexity of predicting atomicity violations

the complexity of predicting atomicity violations the complexity of predicting atomicity violations Azadeh Farzan Univ of Toronto P. Madhusudan Univ of Illinois at Urbana Champaign. Motivation: Interleaving explosion problem Testing is the main technique

More information

Distributed Real-Time and Embedded Systems

Distributed Real-Time and Embedded Systems Context Deadlock voidance for Goal: Formalization of Middleware Services Distributed Real-Time and Embedded Systems pplication H e n n y S i p m a S t a n f o r d U n i v e r s i t y C e s a r V e n k

More information

Analysis of Algorithms Prof. Karen Daniels

Analysis of Algorithms Prof. Karen Daniels UMass Lowell omputer Science 91.404 nalysis of lgorithms Prof. Karen aniels Spring, 2013 hapter 22: raph lgorithms & rief Introduction to Shortest Paths [Source: ormen et al. textbook except where noted]

More information