EE382N.23: Embedded System Design and Modeling

Size: px
Start display at page:

Download "EE382N.23: Embedded System Design and Modeling"

Transcription

1 EE382N.23: Embedded System Design and Modeling Lecture 3 Language Semantics Andreas Gerstlauer Electrical and Computer Engineering University of Texas at Austin gerstl@ece.utexas.edu Lecture 3: Outline Language semantics Models of concurrency & time Discrete event model Synchronous reactive model SpecC semantics Formal semantics Simulation semantics EE382N.23: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer A. Gerstlauer 1

2 System-Level Language Semantics Language concepts (syntax) Behavioral and structural hierarchy Concurrency and time Synchronization and communication Exception handling State transitions Language semantics needed to define the meaning Semantics of execution for modeling, simulation, synthesis Model of concurrency, time, synchronization, communication Determinism vs. non-determinism Atomicity EE382N.23: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer 3 Reactive System Model Concurrent processes Simultaenous processing of multiple inputs and outputs Block diagram as graphical representation f() f() f() Execute (simulate) and synthesize Semantics of a block diagram? Meaning of concurrency and time? EE382N.23: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer A. Gerstlauer 2

3 Models of Time (Order) Physical Continuous time, total order Physical components naturally interleaved in (very fine) time Differential equations, Hybrid models Logical Discrete time, partial order Discrete instants of time (time tags t 0 < t 1 <... t k <... ), nothing in between Unspecified interleaving of events with same time tag Freedom of implementation Simulation & execution, Design languages Untimed Partial order based on causality only No ordering in time, explicit dependencies only Free of implementation (purely behavioral) Specification & programming, Models of computation (Lecture 3 & 4) EE382N.23: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer 5 (Logical) Concurrency Events/actions happening at the same time Undefined, unspecified or unknown order Implementation/simulation determines actual interleaving Communication/synchronization establishes causal order Partial order t i f() t o? t i f() t o? t i f() t o? Fundamental issues Non-determinism Causality loops EE382N.23: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer A. Gerstlauer 3

4 Language Semantics Motivating example 1 Given: 1(int x) ; 2(int x) x = 6; ; B1 B2 int x; B1 b1(x); B2 b2(x); b1; b2; ; What is the value of x after the execution of B? Answer: x = 6 EE382N.23: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer 7 Language Semantics Motivating example 2 Given: 1(int x) ; B1 2(int x) x = 6; ; t B2 t int x; B1 b1(x); B2 b2(x); parb1; b2; ; What is the value of x after the execution of B? Answer: The program is non-deterministic! (x may be 5, or 6, or any other value!) EE382N.23: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer A. Gerstlauer 4

5 Language Semantics Motivating example 3 Given: 1(int x) waitfor 10; ; B1 2(int x) x = 6; ; t+10 t B2 int x; B1 b1(x); B2 b2(x); parb1; b2; ; What is the value of x after the execution of B? Answer: x = 5 EE382N.23: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer 9 Language Semantics Motivating example 4 Given: 1(int x) waitfor 10; ; B1 2(int x) waitfor 10; x = 6; ; t+10 t+10 B2 int x; B1 b1(x); B2 b2(x); parb1; b2; ; What is the value of x after the execution of B? Answer: The program is non-deterministic! (x may be 5, or 6, or any other value!) EE382N.23: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer A. Gerstlauer 5

6 Language Semantics Motivating example 5 Given: 1( notify e; ; What is the value of x after the execution of B? Answer: x = 6 B1 2( wait e; x = 6; ; t B2 int x; event e; B1 b1(x,e); B2 b2(x,e); parb1; b2; ; EE382N.23: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer 11 Simultaneous Events t A B C t (event a, event b) while (true) wait(a); notify(b); ; behavior C(event a, event b) while(true) // a or b wait(a, b); ; Suppose B is invoked first t A B C t Depending on simulator Process C might be invoked once, observing both inputs in one invocation Process C might be invoked twice, processing events one at a time Non-deterministic order of event processing Source: M. Jacome, UT Austin. EE382N.23: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer A. Gerstlauer 6

7 Delta (Superdense) Time Two-level model of time Break each time instant into multiple delta steps Each zero delay event results in a delta step Delta time has zero delay but imposes semantic order delta time offset delta steps time steps time value t+ t+ t+2 A B C Answer: C is invoked twice Source: M. Jacome, UT Austin. EE382N.23: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer 13 Delta Semantics Motivating example 5 Given: 1( notify e; ; What is the value of x after the execution of B? Answer: x = 6 B1 2( wait e; x = 6; ; t + B2 int x; event e; B1 b1(x,e); B2 b2(x,e); parb1; b2; ; EE382N.23: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer A. Gerstlauer 7

8 Delta Semantics Motivating example 6 Given: 1( notify e; ; What is the value of x after the execution of B? Answer: x = 6 B1 2( wait e; x = 6; ; t + B2 int x; event e; B1 b1(x,e); B2 b2(x,e); parb1; b2; ; EE382N.23: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer 15 Delta Semantics Motivating example 7 Given: 1( notify e; x = 4; notify e; ; What is the value of x after the execution of B? Answer: B2 never terminates (x = 6) B1 2( wait e; x = 6; wait e; x = 7; ; t + B2 int x; event e; B1 b1(x,e); B2 b2(x,e); parb1; b2; ; EE382N.23: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer A. Gerstlauer 8

9 Delta Semantics Motivating example 8 Given: 1( waitfor 10; notify e; ; What is the value of x after the execution of B? Answer: x = 6 B1 2( wait e; x = 6; ; t +10+ B2 int x; event e; B1 b1(x,e); B2 b2(x,e); parb1; b2; ; EE382N.23: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer 17 Delta Semantics Motivating example 9 Given: 1( notify e; ; What is the value of x after the execution of B? Answer: B2 never terminates! (the event is lost) B1 2( waitfor 10; wait e; x = 6; ; t + B2 int x; event e; B1 b1(x,e); B2 b2(x,e); parb1; b2; ; EE382N.23: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer A. Gerstlauer 9

10 Delta Semantics Resolve some non-determinism As long as each output has unique delta delay Often not the case, e.g. in SpecC Example 2, Example 4 t+ t+2 A B C Ambiguity still exists Shared resource/variable accesses in same delta cycle With B->C sharing: B or C first? Undefined order, non-deterministic Example on slide 12 with variables: value of bout on first invocation of C? Alternative semantics based on precedence analysis Graph is executed in topologically sorted order [Ptolemy] C only invoked once, with B->C dependency: B invoked first Potentially still ambiguous If there is no B->C dependency: B or C first? Only matters if there are other side effects (printf()) EE382N.23: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer 19 t+ bout = 42; bout? Source: M. Jacome, UT Austin. Deterministic Communication Given 1( out notify e; ; 2( in int y, z; y = x; wait e; z = x; ; int x = 0; event e; B1 b1(x,e); B2 b2(x,e); parb1; b2; ; What is the value of (y,z) at the end of execution? Answer: z = 5, y is non-deterministic (0 or 5) EE382N.23: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer A. Gerstlauer 10

11 Deterministic Communication Delta-semantics for variables [VDHL, Verilog, SpecC] Signals combine event with current/new value updates 1( out int signal x, int event x e) notify x; e; // implicit ; 2( in int signal x, int event x e) int y, z; ; y = x; wait x; e; z = x; int signal x = int 0; x = 0; event e; B1 b1(x); b1(x,e); B2 b2(x); b2(x,e); parb1; b2; ; What is the value of (y,z) at the end of execution? Answer: z = 5, y = 0 Resolves concurrent read-write Concurrent writes still a problem Non-deterministic [SpecC], resolution functions [VHDL, Verilog] EE382N.23: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer 21 Deterministic Communication Avoid event loss by combining event with flag 1(int x, bool flag, event e) waitfor(d1); flag = true; notify e; ; 2(int x, bool flag, event e) waitfor(d2); if (!flag) wait e; flag = false; x = 6; ; int x; bool f = false; event e; B1 b1(x,f,e); B2 b2(x,f,e); parb1; b2; ; What is the value of x at the end of execution? Answer: actually, can end up being x = 5, why? Race conditions, interleaving of B1 and B2 if D1 == D2 Encapsulate in channel (see c_handshake) Code in SpecC channel methods is atomic! EE382N.23: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer A. Gerstlauer 11

12 Zero-Delay Feedback Loops Causality loop Where to start & stop? Progress? A B C Reject zero-delay cycles Forbid all zero delay (every t must be strictly > 0) [DEVS] Detect (compile error on zero cycle) Delta cycle semantics Oscillate with no time progress [Zeno machine/model] Approaches based on topological sorting Annotate feedback arcs to break for ordering purposes Insert explicit delay block [Ptolemy] Potentially same oscillation without progress Source: M. Jacome, UT Austin. EE382N.23: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer 23 Discrete Event (DE) Model General, universal model for system simulation Hardware [VHDL, Verilog], system [SpecC, SystemC], network [OMNet] Formal, generic discrete time model Signals = globally ordered streams of events Event e i = (value, tag), discrete time tags Asynchronous event processing Execute block on input event i 1, i 2, i 3, Process input and generate output events with tag+ t Flexible Multi-scale, arbitrary dynamic delays Efficient Event-driven, only evaluate when necessary t = t a x 1, x 2, x 3, y 1, y 2, y 3, v 1, v 2, v 3, o 1, o 2, o 3, t = t b z 1, z 2, z 3, t = t c Synthesis challenges Semantics: simultaneous events (non-determinism), zero-delay cycles Implementation: global order (maintain global notion of time) [PTIDES] EE382N.23: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer A. Gerstlauer 12

13 Synchronous Reactive (SR) Model Synchronous hypothesis Sequence of discrete lock steps (ticks of logical clock) Reactions are instantaneous (zero time) Events are simultaneous (broadcast) Deterministic, static verifiable (independent of actual delays) t = 0 Precedence analysis, topological sort No arbitrary shared variables Synthesis challenges: Semantics: causality loops, conflicts? Implementation: broadcast events, global clock t = 0 t = 0 t = 0 t = 0 t = 0 t = 0 Synchronous languages Imperative (control) [Esterel] or declarative (data) [Lustre] style Reject cycles [Lustre] or require unique fixed-point [Esterel] Hardware (FSMs) or software (safety critical) compilers EE382N.23: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer 25 The Esterel Language Synchronous, imperative language [Berry 83] Structural hierarchy module <name> <b> end module input <ports>, output <ports> Behavior loop await A Sequential: <p> ; <q> emit O Concurrent: <p> <q> each R Multiform time Sequence of logical instants (cycles) module ABRO: input A, B, R; output O; [ await A await B ]; Shortcut for: end module trap T in loop Statements take zero time (same instant) or delay for a number of cycles Delay for one cycle: pause pause; present A then exit T end end loop Broadcast signals (valued or unvalued) end Present or absent in each instant (default to absent in each new cycle) emit <s>(<v>): Make signal <s> present in current instant (optional value) Control (branch, loop, exceptions) present <s> then <p> else <q> end (in current instant) loop <b> end / loop <b> each <s> (restart when <s> is present) trap <s> in <b> end (use exit <s> inside <b>), suspend <b> when <s> EE382N.23: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer A. Gerstlauer 13

14 Esterel Semantics Instantaneous communication Signal emitted in a cycle is visible immediately [ pause; emit A; pause; emit A pause; present A then emit B end ] A B A Bi-directional communication Can communicate back and forth in same cycle [ pause; emit A; present B then emit C end; pause; emit A pause; present A then emit B end ] A B C A Source: S. Edwards, Columbia EE382N.23: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer 27 Esterel Semantics Signal coherence Signals can not be both absent and present Writers run before readers do present A else emit A; Causality No contradictory or non-deterministic programs (cycles) present S1 else emit S2 end; present S2 else emit S1 end; Instantaneous loops Loops must have at least one statement with delay loop emit A end Erroneous programs, rejected by compiler Statically verified, guaranteed deterministic Source: S. Edwards, Columbia EE382N.23: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer A. Gerstlauer 14

15 DE vs. SR (1) N(AND) A(ND) I(NV) t 0 1 t t 1 1? t > 0 t = 0 (eval. order) Pure DE [DEVFS] illegal DE w/ delta & variables [?] ? 1 (A, I / N, N) w/ delta & signals [HDLs] (A, I / N, N) w/ topol. sort [Ptolemy] (A, I, N) SR [Esterel] unsupported 1 1 (A, I, N) A(ND) t I(NV) t N(AND) EE382N.23: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer 29 t 1? 0 1 t > 0 t = 0 Pure DE [DEVFS] 1 1 illegal DE w/ delta & signals [HDLs] w/ topol. sort [Ptolemy] (w/ delta block) SR [Esterel] unsupported 1 1 DE vs. SR (2) Discrete-event (DE) w/ delta cycles Can accurately model sub-cycle timing & glitching effects Non-determinism with shared variables/resources Issues with oscillation in case of cycles Discrete-event (DE) w/ topological sort Deterministic if there are no other side effects Requires explicit modifications to break cycles Synchronous-reactive (SR) Consistent & fully deterministic Combines toplogical sorting with fixed-point But restricted model of time (global ticks only) EE382N.23: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer A. Gerstlauer 15

16 Lecture 3: Outline Language semantics Models of concurrency & time Discrete event model Synchronous reactive model SpecC semantics Formal semantics Simulation semantics EE382N.23: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer 31 Specifying Language Semantics Language semantics are needed for System designer (understanding) Tools Validation (compilation, simulation) Formal verification (equivalence, property checking) Synthesis Documentation and standardization Objective: Clearly define the execution semantics of the language Requirements and goals: completeness precision (no ambiguities) abstraction (no implementation details) formality (enable formal reasoning) simplicity (easy understanding) EE382N.23: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer A. Gerstlauer 16

17 SpecC Language Semantics Documentation Language Reference Manual (LRM) set of rules written in English (not formal) Abstract simulation algorithm set of valid implementations (not general) Reference implementation SpecC Reference Compiler and Simulator one instance of a valid implementation (not general) Compliance test bench set of specific test cases (incomplete) Formal execution semantics Time-interval formalism rule-based formalism (incomplete) Abstract State Machines fully formal approach (not easy to understand) EE382N.23: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer 33 Formal Semantics Two examples of semantics definition: 1) Time-interval formalism Definition of execution semantics of SpecC V2.0 [SpecC LRM 02] Formal definition of timed execution semantics Sequentiality, concurrency, synchronization Allows reasoning over execution order, dependencies 2) Abstract State Machines Formalism of Evolving Algebras [Gurevich 87] Complete execution semantics of SpecC V1.0 [Mueller 02] wait, notify, notifyone, par, pipe, traps, interrupts operational semantics (no data types!) Influence on the definition of SpecC V2.0 Straightforward extension for SpecC V2.0 Comparable to ASM specifications of SystemC and VHDL 93 EE382N.23: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer A. Gerstlauer 17

18 Simulation Semantics Abstract simulation algorithm for SpecC available in LRM (appendix), good for understanding set of valid implementations not general (possibly incomplete) Definitions: At any time, each thread t is in one of the following sets: READY: set of threads ready to execute (initially root thread) WAIT: set of threads suspended by wait (initially Ø) WAITFOR: set of threads suspended by waitfor (initially Ø) Notified events are stored in a set N notify e1 adds event e1 to N wait e1 will wakeup when e1 is in N Consumption of event e means event e is taken out of N Expiration of notified events means N is set to Ø EE382N.23: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer 35 Simulation Semantics Abstract simulation algorithm for SpecC Start Select thread t READY, execute t notify wait waitfor NO YES YES YES Add notified events to N Move t READY to WAIT Move t READY to WAITFOR READY=Ø Set N=Ø READY=Ø Update simulation time, move earliest t WAITFOR to READY READY=Ø Stop NO YES EE382N.23: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer 36 YES YES NO Move all t WAIT waiting for events e N to READY NO 2017 A. Gerstlauer 18

19 Simulation Semantics Abstract simulation algorithm for SpecC Discrete-event model utilizes delta-cycle mechanism matches execution semantics of other languages» SystemC» VHDL» Verilog Features clearly specifies the simulation semantics easily understandable can easily be implemented Generality is one valid implementation of the semantics other valid implementations may exist as well EE382N.23: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer 37 Discrete Event Simulation (DES) Traditional DES Concurrent threads of execution Managed by a central scheduler Driven by events and time advances Delta-cycle Time-cycle Partial temporal order with barriers th 1 th 2 th 3 th 4 T: 0:0 Reference simulators Both SystemC and SpecC use cooperative multi-threading A single thread is active at any time! Cannot exploit multiple parallel cores Example: SystemC 10:0 10:1 EE382N.23: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer A. Gerstlauer 19

20 Discrete Event Simulation (DES) SLDL semantics SystemC prescribes Cooperative Multi-Threading SystemC LRM defines: process instances execute without interruption Preemptive interleaving forbidden Parallelizing not possible SpecC specifies Preemptive Multi-Threading SpecC LRM defines: preemptive execution, No atomicity is guaranteed Preemptive interleaving assumed Can be parallelized Need critical regions with mutually exclusive access: Channels! Locks inserted by compiler in parallel mode th 1 th 2 th 3 th 4 T: 0:0 10:0 10:1 10:2 20:0 20:1 20:2 30:0 EE382N.23: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer 39 Discrete Event Simulation (DES) Traditional DE simulation algorithm Threads managed in READY queue Scheduler picks a single thread and executes it Time advances In delta-cycle In timed-cycle EE382N.23: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer A. Gerstlauer 20

21 Parallel Discrete Event Simulation (PDES) Parallel DE simulation algorithm Threads managed in READY queue Parallel delta cycle Scheduler picks N threads and executes them in parallel N = number of available CPU cores Time advances In delta-cycle In timed-cycle EE382N.23: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer 41 Parallel Discrete Event Simulation (PDES) Parallel DES Threads execute in parallel iff in the same delta cycle, and in the same time cycle Significant speed up! But: Amdahl s Law still applies! Cycle bounds are absolute barriers th 1 th 2 th 3 th 4 T: 0:0 10:0 10:1 10:2 Aggressive PDES Optimistic Let threads run ahead in time Rollback if conflict detected (event in the past) Conservative Only run ahead if guaranteed no conflicts E.g. static code/dependency analysis 20:0 20:1 20:2 30:0 EE382N.23: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer A. Gerstlauer 21

22 Out-of-Order Parallel DES (OoO PDES) Out-of-Order PDES Threads execute in parallel iff in the same delta cycle, and in the same time cycle, OR if there are no conflicts! Can utilize advanced compiler for static data conflict analysis Allows as many threads in parallel as possible Significantly higher speedup! Results at [Chen 12], [Chen 14] Fully preserves DES execution semantics Accuracy in results and timing th 1 th 2 th 3 th 4 T: 0:0 10:0 10:1 10:2 20:0 20:1 20:2 30:0 EE382N.23: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer 43 Lecture 3: Summary Discrete event (DE) model of computation Universal model for simulation of concurrent systems Challenging to synthesize or implement concurrently Delta cycles, global order SpecC language semantics Formal semantics Simulation semantics Simulation algorithm Parallel discrete event simulation Hierarchy of models Models of computation (MoCs) for specification Discrete event (DE) model for simulation Capture & simulate other MoCs in a DE language [SpecC] EE382N.23: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer A. Gerstlauer 22

Advances in Parallel Discrete Event Simulation EECS Colloquium, May 9, Advances in Parallel Discrete Event Simulation For Embedded System Design

Advances in Parallel Discrete Event Simulation EECS Colloquium, May 9, Advances in Parallel Discrete Event Simulation For Embedded System Design Advances in Parallel Discrete Event Simulation For Embedded System Design Rainer Dömer doemer@uci.edu With contributions by Weiwei Chen and Xu Han Center for Embedded Computer Systems University of California,

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

Reinhard v. Hanxleden 1, Michael Mendler 2, J. Aguado 2, Björn Duderstadt 1, Insa Fuhrmann 1, Christian Motika 1, Stephen Mercer 3 and Owen Brian 3

Reinhard v. Hanxleden 1, Michael Mendler 2, J. Aguado 2, Björn Duderstadt 1, Insa Fuhrmann 1, Christian Motika 1, Stephen Mercer 3 and Owen Brian 3 Sequentially Constructive Concurrency * A conservative extension of the Synchronous Model of Computation Reinhard v. Hanxleden, Michael Mendler 2, J. Aguado 2, Björn Duderstadt, Insa Fuhrmann, Christian

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 System Design and Modeling EE382V, Fall 2008

Embedded System Design and Modeling EE382V, Fall 2008 Embedded System Design and Modeling EE382V, Fall 2008 Lecture Notes 3 The SpecC System-Level Design Language Dates: Sep 9&11, 2008 Scribe: Mahesh Prabhu Languages: Any language would have characters, words

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

Out-of-Order Parallel Simulation of SystemC Models. G. Liu, T. Schmidt, R. Dömer (CECS) A. Dingankar, D. Kirkpatrick (Intel Corp.)

Out-of-Order Parallel Simulation of SystemC Models. G. Liu, T. Schmidt, R. Dömer (CECS) A. Dingankar, D. Kirkpatrick (Intel Corp.) Out-of-Order Simulation of s using Intel MIC Architecture G. Liu, T. Schmidt, R. Dömer (CECS) A. Dingankar, D. Kirkpatrick (Intel Corp.) Speaker: Rainer Dömer doemer@uci.edu Center for Embedded Computer

More information

Real-Time Programming Languages (ADA and Esterel as Examples)

Real-Time Programming Languages (ADA and Esterel as Examples) Real-Time Programming Languages (ADA and Esterel as Examples) Real-Time Systems, 2008 RT Languages, 1 RT Language Classes HLL suitable for RT-Analysis (e.g., rms or time-driven) Synchronous HLL (clock

More information

Synchronous Statecharts. Christian Motika

Synchronous Statecharts. Christian Motika Execution (KlePto) Esterel to transformation (KIES) Synchronous Statecharts for executing Esterel with Ptolemy Christian Motika Real-Time Systems and Embedded Systems Group Department of Computer Science

More information

Using and Compiling Esterel

Using and Compiling Esterel Using and Compiling Esterel Stephen A. Edwards Columbia University Department of Computer Science sedwards@cs.columbia.edu http://www.cs.columbia.edu/ sedwards/ Memocode Tutorial, July 11, 2005 The Esterel

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

ECL: A SPECIFICATION ENVIRONMENT FOR SYSTEM-LEVEL DESIGN

ECL: A SPECIFICATION ENVIRONMENT FOR SYSTEM-LEVEL DESIGN / ECL: A SPECIFICATION ENVIRONMENT FOR SYSTEM-LEVEL DESIGN Gerard Berry Ed Harcourt Luciano Lavagno Ellen Sentovich Abstract We propose a new specification environment for system-level design called ECL.

More information

System-On-Chip Architecture Modeling Style Guide

System-On-Chip Architecture Modeling Style Guide Center for Embedded Computer Systems University of California, Irvine System-On-Chip Architecture Modeling Style Guide Junyu Peng Andreas Gerstlauer Rainer Dömer Daniel D. Gajski Technical Report CECS-TR-04-22

More information

Introduction 2 The first synchronous language (early 80 s) Gérard Berry and his team (École des Mines de Paris / INRIA Sophia-Antipolis) Imperative, s

Introduction 2 The first synchronous language (early 80 s) Gérard Berry and his team (École des Mines de Paris / INRIA Sophia-Antipolis) Imperative, s Pascal Raymond, Verimag-CNRS Introduction 2 The first synchronous language (early 80 s) Gérard Berry and his team (École des Mines de Paris / INRIA Sophia-Antipolis) Imperative, sequential style (i.e.

More information

The Esterel language

The Esterel language Pascal Raymond, Verimag-CNRS Introduction 2 The first synchronous language (early 80 s) Gérard Berry and his team (École des Mines de Paris / INRIA Sophia-Antipolis) Imperative, sequential style (i.e.

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

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

Programming Languages for Real-Time Systems. LS 12, TU Dortmund

Programming Languages for Real-Time Systems. LS 12, TU Dortmund Programming Languages for Real-Time Systems Prof. Dr. Jian-Jia Chen LS 12, TU Dortmund 20 June 2016 Prof. Dr. Jian-Jia Chen (LS 12, TU Dortmund) 1 / 41 References Slides are based on Prof. Wang Yi, Prof.

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

Embedded Software Engineering

Embedded Software Engineering Embedded Software Engineering 3 Unit Course, Spring 2002 EECS Department, UC Berkeley Christoph Kirsch www.eecs.berkeley.edu/~fresco/giotto/course-2002 It s significant $4 billion development effort >

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

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

A Deterministic Concurrent Language for Embedded Systems

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

More information

SpecC Methodology for High-Level Modeling

SpecC Methodology for High-Level Modeling EDP 2002 9 th IEEE/DATC Electronic Design Processes Workshop SpecC Methodology for High-Level Modeling Rainer Dömer Daniel D. Gajski Andreas Gerstlauer Center for Embedded Computer Systems Universitiy

More information

Important Lessons. A Distributed Algorithm (2) Today's Lecture - Replication

Important Lessons. A Distributed Algorithm (2) Today's Lecture - Replication Important Lessons Lamport & vector clocks both give a logical timestamps Total ordering vs. causal ordering Other issues in coordinating node activities Exclusive access to resources/data Choosing a single

More information

Section 8. The Basic Step Algorithm

Section 8. The Basic Step Algorithm Section 8. The Basic Step Algorithm Inputs The status of the system The current time A list of external changes presented by the environment since the last step Comments Scheduled action appears in the

More information

Hybrid System Modeling: Operational Semantics Issues

Hybrid System Modeling: Operational Semantics Issues Hybrid System Modeling: Operational Semantics Issues Edward A. Lee Professor UC Berkeley OMG Technical Meeting Feb. 4, 2004 Anaheim, CA, USA Special thanks to Jie Liu, Xiaojun Liu, Steve Neuendorffer,

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 2009-2011, Edward A. Lee, All rights

More information

Module 6: Process Synchronization. Operating System Concepts with Java 8 th Edition

Module 6: Process Synchronization. Operating System Concepts with Java 8 th Edition Module 6: Process Synchronization 6.1 Silberschatz, Galvin and Gagne 2009 Module 6: Process Synchronization Background The Critical-Section Problem Peterson s Solution Synchronization Hardware Semaphores

More information

EE382V: System-on-a-Chip (SoC) Design

EE382V: System-on-a-Chip (SoC) Design EE382V: System-on-a-Chip (SoC) Design Lecture 8 HW/SW Co-Design Sources: Prof. Margarida Jacome, UT Austin Andreas Gerstlauer Electrical and Computer Engineering University of Texas at Austin gerstl@ece.utexas.edu

More information

Review of last lecture. Peer Quiz. DPHPC Overview. Goals of this lecture. Lock-based queue

Review of last lecture. Peer Quiz. DPHPC Overview. Goals of this lecture. Lock-based queue Review of last lecture Design of Parallel and High-Performance Computing Fall 2016 Lecture: Linearizability Motivational video: https://www.youtube.com/watch?v=qx2driqxnbs Instructor: Torsten Hoefler &

More information

CSE 451: Operating Systems Winter Lecture 7 Synchronization. Steve Gribble. Synchronization. Threads cooperate in multithreaded programs

CSE 451: Operating Systems Winter Lecture 7 Synchronization. Steve Gribble. Synchronization. Threads cooperate in multithreaded programs CSE 451: Operating Systems Winter 2005 Lecture 7 Synchronization Steve Gribble Synchronization Threads cooperate in multithreaded programs to share resources, access shared data structures e.g., threads

More information

Synthesizable Verilog

Synthesizable Verilog Synthesizable Verilog Courtesy of Dr. Edwards@Columbia, and Dr. Franzon@NCSU http://csce.uark.edu +1 (479) 575-6043 yrpeng@uark.edu Design Methodology Structure and Function (Behavior) of a Design HDL

More information

Embedded System Design and Modeling EE382N.23, Fall 2017

Embedded System Design and Modeling EE382N.23, Fall 2017 Embedded System Design and Modeling EE382N.23, Fall 2017 Homework #1 Design Languages Assigned: September 6, 2017 Due: September 18, 2017 September 20, 2017 Instructions: Please submit your solutions via

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

Predictable Execution with IEC 61499

Predictable Execution with IEC 61499 Predictable Execution with IEC 61499 Li Hsien Yoong The University of Auckland Sequence of presentation What has been achieved: Deterministic behaviour of centralized IEC 61499 systems Current goal: Deterministic

More information

MODELING LANGUAGES AND ABSTRACT MODELS. Giovanni De Micheli Stanford University. Chapter 3 in book, please read it.

MODELING LANGUAGES AND ABSTRACT MODELS. Giovanni De Micheli Stanford University. Chapter 3 in book, please read it. MODELING LANGUAGES AND ABSTRACT MODELS Giovanni De Micheli Stanford University Chapter 3 in book, please read it. Outline Hardware modeling issues: Representations and models. Issues in hardware languages.

More information

Specifications Part 1

Specifications Part 1 pm3 12 Specifications Part 1 Embedded System Design Kluwer Academic Publisher by Peter Marwedel TU Dortmund 2008/11/15 ine Marwedel, 2003 Graphics: Alexandra Nolte, Ges Introduction 12, 2008-2 - 1 Specification

More information

G52CON: Concepts of Concurrency

G52CON: Concepts of Concurrency G52CON: Concepts of Concurrency Lecture 4: Atomic Actions Natasha Alechina School of Computer Science nza@cs.nott.ac.uk Outline of the lecture process execution fine-grained atomic actions using fine-grained

More information

Dept. of CSE, York Univ. 1

Dept. of CSE, York Univ. 1 EECS 3221.3 Operating System Fundamentals No.5 Process Synchronization(1) Prof. Hui Jiang Dept of Electrical Engineering and Computer Science, York University Background: cooperating processes with shared

More information

Review of last lecture. Goals of this lecture. DPHPC Overview. Lock-based queue. Lock-based queue

Review of last lecture. Goals of this lecture. DPHPC Overview. Lock-based queue. Lock-based queue Review of last lecture Design of Parallel and High-Performance Computing Fall 2013 Lecture: Linearizability Instructor: Torsten Hoefler & Markus Püschel TA: Timo Schneider Cache-coherence is not enough!

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

SPIN, PETERSON AND BAKERY LOCKS

SPIN, PETERSON AND BAKERY LOCKS Concurrent Programs reasoning about their execution proving correctness start by considering execution sequences CS4021/4521 2018 jones@scss.tcd.ie School of Computer Science and Statistics, Trinity College

More information

Overview. Synchronous Languages Lecture 12. Code Generation for Sequential Constructiveness. Compilation Overview. The 5-Minute Review Session

Overview. Synchronous Languages Lecture 12. Code Generation for Sequential Constructiveness. Compilation Overview. The 5-Minute Review Session Synchronous Languages Lecture 12 Overview Prof. Dr. Reinhard von Hanxleden Steven Smyth Christian-Albrechts Universität Kiel Department of Computer Science Real-Time Systems and Embedded Systems Group

More information

CSE 153 Design of Operating Systems

CSE 153 Design of Operating Systems CSE 153 Design of Operating Systems Winter 19 Lecture 7/8: Synchronization (1) Administrivia How is Lab going? Be prepared with questions for this weeks Lab My impression from TAs is that you are on track

More information

Programming Embedded Systems

Programming Embedded Systems Programming Embedded Systems Lecture 10 An introduction to Lustre Wednesday Feb 15, 2012 Philipp Rümmer Uppsala University Philipp.Ruemmer@it.uu.se 1/34 Course topic: programming lang. Which language to

More information

Process Management And Synchronization

Process Management And Synchronization Process Management And Synchronization In a single processor multiprogramming system the processor switches between the various jobs until to finish the execution of all jobs. These jobs will share the

More information

Interactive Esterel to SyncCharts Transformation. Christian Motika

Interactive Esterel to SyncCharts Transformation. Christian Motika Interactive Esterel to SyncCharts Transformation for executing Esterel with Ptolemy Christian Motika Real-Time Systems and Embedded Systems Group Department of Computer Science Christian-Albrechts-Universität

More information

Hardware Description Languages & System Description Languages Properties

Hardware Description Languages & System Description Languages Properties Hardware Description Languages & System Description Languages Properties There is a need for executable specification language that is capable of capturing the functionality of the system in a machine-readable

More information

MultiJav: A Distributed Shared Memory System Based on Multiple Java Virtual Machines. MultiJav: Introduction

MultiJav: A Distributed Shared Memory System Based on Multiple Java Virtual Machines. MultiJav: Introduction : A Distributed Shared Memory System Based on Multiple Java Virtual Machines X. Chen and V.H. Allan Computer Science Department, Utah State University 1998 : Introduction Built on concurrency supported

More information

CS370 Operating Systems

CS370 Operating Systems CS370 Operating Systems Colorado State University Yashwant K Malaiya Fall 2017 Lecture 11 Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 FAQ Multilevel Feedback Queue: Q0, Q1,

More information

An Introduction to Lustre

An Introduction to Lustre An Introduction to Lustre Monday Oct 06, 2014 Philipp Rümmer Uppsala University Philipp.Ruemmer@it.uu.se 1/35 ES Programming languages Which language to write embedded software in? Traditional: low-level

More information

CSE 451: Operating Systems Winter Lecture 7 Synchronization. Hank Levy 412 Sieg Hall

CSE 451: Operating Systems Winter Lecture 7 Synchronization. Hank Levy 412 Sieg Hall CSE 451: Operating Systems Winter 2003 Lecture 7 Synchronization Hank Levy Levy@cs.washington.edu 412 Sieg Hall Synchronization Threads cooperate in multithreaded programs to share resources, access shared

More information

CPSC/ECE 3220 Fall 2017 Exam Give the definition (note: not the roles) for an operating system as stated in the textbook. (2 pts.

CPSC/ECE 3220 Fall 2017 Exam Give the definition (note: not the roles) for an operating system as stated in the textbook. (2 pts. CPSC/ECE 3220 Fall 2017 Exam 1 Name: 1. Give the definition (note: not the roles) for an operating system as stated in the textbook. (2 pts.) Referee / Illusionist / Glue. Circle only one of R, I, or G.

More information

EE382V: Embedded System Design and Modeling

EE382V: Embedded System Design and Modeling EE382V: Embedded System Design and Modeling Lecture 3 The SpecC Language Source: R. Doemer, UC Irvine Andreas Gerstlauer Electrical and Computer Engineering University of Texas at Austin gerstl@ece.utexas.edu

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

Specifications and Modeling

Specifications and Modeling 12 Specifications and Modeling Peter Marwedel TU Dortmund, Informatik 12 2009/10/20 Graphics: Alexandra Nolte, Gesine Marwedel, 2003 Structure of this course 2: Specification Design repository Design Application

More information

Lecture 2. The SCADE Language Data Flow Kernel. Daniel Kästner AbsInt GmbH 2012

Lecture 2. The SCADE Language Data Flow Kernel. Daniel Kästner AbsInt GmbH 2012 Lecture 2 The SCADE Language Data Flow Kernel Daniel Kästner AbsInt GmbH 2012 2 Synchronous Programming Two simple ways of implementing reactive systems: Event-driven Foreach input_event

More information

CSE 153 Design of Operating Systems Fall 2018

CSE 153 Design of Operating Systems Fall 2018 CSE 153 Design of Operating Systems Fall 2018 Lecture 5: Threads/Synchronization Implementing threads l Kernel Level Threads l u u All thread operations are implemented in the kernel The OS schedules all

More information

Cyber Physical System Verification with SAL

Cyber Physical System Verification with SAL Cyber Physical System Verification with July 22, 2013 Cyber Physical System Verification with Outline 1 2 3 4 5 Cyber Physical System Verification with Table of Contents 1 2 3 4 5 Cyber Physical System

More information

Hardware Description Languages & System Description Languages Properties

Hardware Description Languages & System Description Languages Properties Hardware Description Languages & System Description Languages Properties There is a need for executable specification language that is capable of capturing the functionality of the system in a machine-readable

More information

Synchronous Dataflow Processong

Synchronous Dataflow Processong Synchronous Dataflow Processong Claus Traulsen and Reinhard von Hanxleden Christian-Albrechts Universität zu Kiel Echtzeitsysteme / Eingebettete Systeme March 00 CAU Claus Traulsen / 8 Outline Motivation

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

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

The SpecC System-Level Design Language and Methodology, Part 1. Class 309

The SpecC System-Level Design Language and Methodology, Part 1. Class 309 Embedded Systems Conference San Francisco 2002 The SpecC System-Level Design Language and Methodology, Part 1 Class 309 Rainer Dömer Center for Embedded Computer Systems Universitiy of California, Irvine,

More information

Safety SPL/2010 SPL/20 1

Safety SPL/2010 SPL/20 1 Safety 1 system designing for concurrent execution environments system: collection of objects and their interactions system properties: Safety - nothing bad ever happens Liveness - anything ever happens

More information

Reminder from last time

Reminder from last time Concurrent systems Lecture 5: Concurrency without shared data, composite operations and transactions, and serialisability DrRobert N. M. Watson 1 Reminder from last time Liveness properties Deadlock (requirements;

More information

Simulation Verification of multiple levels of constraints for system level designs in systemc

Simulation Verification of multiple levels of constraints for system level designs in systemc Simulation Verification of multiple levels of constraints for system level designs in systemc Piyush Ranjan Satapathy, Xi Chen and Harry C. Hsieh Department of Computer Science University of California,

More information

Chapter 5: Synchronization 1

Chapter 5: Synchronization 1 1 Start of Lecture: January 25, 2014 2 Reminders Assignment 1 is due this Friday at 6:00 p.m. Couple comments about Exercise 1: Thought questions: be honest and sincere about questions you have while reading;

More information

The Java Memory Model

The Java Memory Model Jeremy Manson 1, William Pugh 1, and Sarita Adve 2 1 University of Maryland 2 University of Illinois at Urbana-Champaign Presented by John Fisher-Ogden November 22, 2005 Outline Introduction Sequential

More information

Subject: Scheduling Region Questions and Problems of new SystemVerilog commands

Subject: Scheduling Region Questions and Problems of new SystemVerilog commands Subject: Scheduling Region Questions and Problems of new SystemVerilog commands I have read and re-read sections 14-17 of the SystemVerilog 3.1 Standard multiple times and am still confused about exactly

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

Relaxed Memory-Consistency Models

Relaxed Memory-Consistency Models Relaxed Memory-Consistency Models [ 9.1] In small multiprocessors, sequential consistency can be implemented relatively easily. However, this is not true for large multiprocessors. Why? This is not the

More information

Threads Cannot Be Implemented As a Library

Threads Cannot Be Implemented As a Library Threads Cannot Be Implemented As a Library Authored by Hans J. Boehm Presented by Sarah Sharp February 18, 2008 Outline POSIX Thread Library Operation Vocab Problems with pthreads POSIX Thread Library

More information

G Programming Languages Spring 2010 Lecture 13. Robert Grimm, New York University

G Programming Languages Spring 2010 Lecture 13. Robert Grimm, New York University G22.2110-001 Programming Languages Spring 2010 Lecture 13 Robert Grimm, New York University 1 Review Last week Exceptions 2 Outline Concurrency Discussion of Final Sources for today s lecture: PLP, 12

More information

Parallel and Distributed Systems. Programming Models. Why Parallel or Distributed Computing? What is a parallel computer?

Parallel and Distributed Systems. Programming Models. Why Parallel or Distributed Computing? What is a parallel computer? Parallel and Distributed Systems Instructor: Sandhya Dwarkadas Department of Computer Science University of Rochester What is a parallel computer? A collection of processing elements that communicate and

More information

INSTITUT FÜR INFORMATIK

INSTITUT FÜR INFORMATIK INSTITUT FÜR INFORMATIK A Sequentially Constructive Circuit Semantics for Esterel Alexander Schulz-Rosengarten, Steven Smyth, Reinhard von Hanxleden, Michael Mendler Bericht Nr. 1801 February 2018 ISSN

More information

Process Synchronization. Mehdi Kargahi School of ECE University of Tehran Spring 2008

Process Synchronization. Mehdi Kargahi School of ECE University of Tehran Spring 2008 Process Synchronization Mehdi Kargahi School of ECE University of Tehran Spring 2008 Producer-Consumer (Bounded Buffer) Producer Consumer Race Condition Producer Consumer Critical Sections Structure of

More information

Compiling Esterel. Dumitru Potop-Butucaru. Stephen A. Edwards Gérard Berry

Compiling Esterel. Dumitru Potop-Butucaru. Stephen A. Edwards Gérard Berry Compiling Esterel Compiling Esterel Dumitru Potop-Butucaru Stephen A. Edwards Gérard Berry A C.I.P. Catalogue record for this book is available from the Library of Congress. ISBN 978-0-387-70626-9 (HB)

More information

Concurrency, Mutual Exclusion and Synchronization C H A P T E R 5

Concurrency, Mutual Exclusion and Synchronization C H A P T E R 5 Concurrency, Mutual Exclusion and Synchronization C H A P T E R 5 Multiple Processes OS design is concerned with the management of processes and threads: Multiprogramming Multiprocessing Distributed processing

More information

Synchronous reactive programming

Synchronous reactive programming Synchronous reactive programming Marcus Sundman Department of Computer Science Åbo Akademi University, FIN-20520 Åbo, Finland e-mail: marcus.sundman@iki.fi URL: http://www.iki.fi/marcus.sundman/ Abstract

More information

CS4411 Intro. to Operating Systems Exam 1 Fall points 10 pages

CS4411 Intro. to Operating Systems Exam 1 Fall points 10 pages CS4411 Intro. to Operating Systems Exam 1 Fall 2005 (October 6, 2005) 1 CS4411 Intro. to Operating Systems Exam 1 Fall 2005 150 points 10 pages Name: Most of the following questions only require very short

More information

Overall Sequential Design Flow. VHDL, Verilog, C?, C++?, Java? CS150 Spring 98 R. Newton & K. Pister CS150 Newton/Pister. Behavioral.

Overall Sequential Design Flow. VHDL, Verilog, C?, C++?, Java? CS150 Spring 98 R. Newton & K. Pister CS150 Newton/Pister. Behavioral. Outline Last time: Review State Tables & State Transition Diagrams Implementation Using D Flip-Flops Machine Equivalence Incompletely Specified Machines State Assignment & State Coding Schemes Design Example:

More information

Embedded software design with Polychrony

Embedded software design with Polychrony Embedded software design with Polychrony DATE 09 tutorial on Correct-by-Construction Embedded Software Synthesis: Formal Frameworks, Methodologies, and Tools Jean-Pierre Talpin, RIA List of contributors

More information

Formal Verification Techniques for GPU Kernels Lecture 1

Formal Verification Techniques for GPU Kernels Lecture 1 École de Recherche: Semantics and Tools for Low-Level Concurrent Programming ENS Lyon Formal Verification Techniques for GPU Kernels Lecture 1 Alastair Donaldson Imperial College London www.doc.ic.ac.uk/~afd

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

CS 31: Introduction to Computer Systems : Threads & Synchronization April 16-18, 2019

CS 31: Introduction to Computer Systems : Threads & Synchronization April 16-18, 2019 CS 31: Introduction to Computer Systems 22-23: Threads & Synchronization April 16-18, 2019 Making Programs Run Faster We all like how fast computers are In the old days (1980 s - 2005): Algorithm too slow?

More information

SCCharts. Sequentially Constructive Charts

SCCharts. Sequentially Constructive Charts SCCharts Sequentially Constructive Charts Reinhard von Hanxleden, Björn Duderstadt, Christian Motika, Steven Smyth, Michael Mendler, Joaquin Aguado, Stephen Mercer, and Owen O Brien Real-Time Systems and

More information

CS 5523 Operating Systems: Midterm II - reivew Instructor: Dr. Tongping Liu Department Computer Science The University of Texas at San Antonio

CS 5523 Operating Systems: Midterm II - reivew Instructor: Dr. Tongping Liu Department Computer Science The University of Texas at San Antonio CS 5523 Operating Systems: Midterm II - reivew Instructor: Dr. Tongping Liu Department Computer Science The University of Texas at San Antonio Fall 2017 1 Outline Inter-Process Communication (20) Threads

More information

Last Time. Introduction to Design Languages. Syntax, Semantics, and Model. This Time. Syntax. Computational Model. Introduction to the class

Last Time. Introduction to Design Languages. Syntax, Semantics, and Model. This Time. Syntax. Computational Model. Introduction to the class Introduction to Design Languages Prof. Stephen A. Edwards Last Time Introduction to the class Embedded systems Role of languages: shape solutions Project proposals due September 26 Do you know what you

More information

Flight Systems are Cyber-Physical Systems

Flight Systems are Cyber-Physical Systems Flight Systems are Cyber-Physical Systems Dr. Christopher Landauer Software Systems Analysis Department The Aerospace Corporation Computer Science Division / Software Engineering Subdivision 08 November

More information

10/17/ Gribble, Lazowska, Levy, Zahorjan 2. 10/17/ Gribble, Lazowska, Levy, Zahorjan 4

10/17/ Gribble, Lazowska, Levy, Zahorjan 2. 10/17/ Gribble, Lazowska, Levy, Zahorjan 4 Temporal relations CSE 451: Operating Systems Autumn 2010 Module 7 Synchronization Instructions executed by a single thread are totally ordered A < B < C < Absent synchronization, instructions executed

More information

CSE 153 Design of Operating Systems

CSE 153 Design of Operating Systems CSE 153 Design of Operating Systems Winter 2018 Lecture 10: Monitors Monitors A monitor is a programming language construct that controls access to shared data Synchronization code added by compiler, enforced

More information

Chapter 6: Process Synchronization

Chapter 6: Process Synchronization Chapter 6: Process Synchronization Objectives Introduce Concept of Critical-Section Problem Hardware and Software Solutions of Critical-Section Problem Concept of Atomic Transaction Operating Systems CS

More information

G52CON: Concepts of Concurrency

G52CON: Concepts of Concurrency G52CON: Concepts of Concurrency Lecture 6: Algorithms for Mutual Natasha Alechina School of Computer Science nza@cs.nott.ac.uk Outline of this lecture mutual exclusion with standard instructions example:

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

2. Introduction to Software for Embedded Systems

2. Introduction to Software for Embedded Systems 2. Introduction to Software for Embedded Systems Lothar Thiele ETH Zurich, Switzerland 2-1 Contents of Lectures (Lothar Thiele) 1. Introduction to Embedded System Design 2. Software for Embedded Systems

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

Software Engineering using Formal Methods

Software Engineering using Formal Methods Software Engineering using Formal Methods Introduction to Promela Wolfgang Ahrendt 03 September 2015 SEFM: Promela /GU 150903 1 / 36 Towards Model Checking System Model Promela Program byte n = 0; active

More information

SYNCHRONIZATION M O D E R N O P E R A T I N G S Y S T E M S R E A D 2. 3 E X C E P T A N D S P R I N G 2018

SYNCHRONIZATION M O D E R N O P E R A T I N G S Y S T E M S R E A D 2. 3 E X C E P T A N D S P R I N G 2018 SYNCHRONIZATION M O D E R N O P E R A T I N G S Y S T E M S R E A D 2. 3 E X C E P T 2. 3. 8 A N D 2. 3. 1 0 S P R I N G 2018 INTER-PROCESS COMMUNICATION 1. How a process pass information to another process

More information