Kahn’s Principle and the Semantics of Discrete Event Systems Xiaojun Liu EE290N Class Project December 10, 2004.

Slides:



Advertisements
Similar presentations
Distributed Snapshots: Determining Global States of Distributed Systems - K. Mani Chandy and Leslie Lamport.
Advertisements

Lecture 8: Asynchronous Network Algorithms
SES Algorithm SES: Schiper-Eggli-Sandoz Algorithm. No need for broadcast messages. Each process maintains a vector V_P of size N - 1, N the number of processes.
Snap-stabilizing Committee Coordination Borzoo Bonakdarpour Stephane Devismes Franck Petit IEEE International Parallel and Distributed Processing Symposium.
Hybrid Systems Presented by: Arnab De Anand S. An Intuitive Introduction to Hybrid Systems Discrete program with an analog environment. What does it mean?
Chapter 15 Basic Asynchronous Network Algorithms
Parallel and Distributed Simulation Time Warp: Basic Algorithm.
Parallel and Distributed Simulation Lookahead Deadlock Detection & Recovery.
Resource Allocation: Deterministic Analysis. Traffic Model Stochastic Different sample paths with different properties Expected case analysis Deterministic.
Distributed Computing 5. Snapshot Shmuel Zaks ©
Requirements on the Execution of Kahn Process Networks Marc Geilen and Twan Basten 11 April 2003 /e.
An Introduction to Markov Decision Processes Sarah Hickmott
DATAFLOW PROCESS NETWORKS Edward A. Lee Thomas M. Parks.
EECS 20 Lecture 38 (April 27, 2001) Tom Henzinger Review.
Discrete Event Models: Getting the Semantics Right Edward A. Lee Robert S. Pepper Distinguished Professor Chair of EECS UC Berkeley With thanks to Xioajun.
Distributed Systems Dinesh Bhat - Advanced Systems (Some slides from 2009 class) CS 6410 – Fall 2010 Time Clocks and Ordering of events Distributed Snapshots.
I MPLEMENTING S YNCHRONOUS M ODELS ON L OOSELY T IME T RIGGERED A RCHITECTURES Discussed by Alberto Puggelli.
Foundations of Data-Flow Analysis. Basic Questions Under what circumstances is the iterative algorithm used in the data-flow analysis correct? How precise.
PTIDES: Programming Temporally Integrated Distributed Embedded Systems Yang Zhao, EECS, UC Berkeley Edward A. Lee, EECS, UC Berkeley Jie Liu, Microsoft.
CS 582 / CMPE 481 Distributed Systems
7th Biennial Ptolemy Miniconference Berkeley, CA February 13, 2007 Causality Interfaces for Actor Networks Ye Zhou and Edward A. Lee University of California,
Ordering and Consistent Cuts Presented By Biswanath Panda.
Programming Language Semantics Denotational Semantics Chapter 5 Based on a lecture by Martin Abadi.
Distributed Systems Fall 2009 Logical time, global states, and debugging.
7th Biennial Ptolemy Miniconference Berkeley, CA February 13, 2007 Leveraging Synchronous Language Principles for Hybrid System Models Haiyang Zheng and.
6th Biennial Ptolemy Miniconference Berkeley, CA May 12, 2005 Some Developments in the Tagged Signal Model Xiaojun Liu With J. Adam Cataldo, Edward A.
A denotational framework for comparing models of computation Daniele Gasperini.
Using Interfaces to Analyze Compositionality Haiyang Zheng and Rachel Zhou EE290N Class Project Presentation Dec. 10, 2004.
Causality Interface  Declares the dependency that output events have on input events.  D is an ordered set associated with the min ( ) and plus ( ) operators.
CPSC 668Set 12: Causality1 CPSC 668 Distributed Algorithms and Systems Fall 2009 Prof. Jennifer Welch.
Programming Language Semantics Denotational Semantics Chapter 5 Part II.
AR vs. CFSM Abdallah Tabbara. CFSM Overview 4 CFSM has: –a finite state machine part –a data computation part –a locally synchronous behavior transitions.
Models of Computation for Embedded System Design Alvise Bonivento.
Technische Universität München Institut für Informatik D München, Germany Realizability of System Interface Specifications Manfred Broy.
CS294, YelickConsensus, p1 CS Consensus
Discrete Event Models: Getting the Semantics Right Edward A. Lee Robert S. Pepper Distinguished Professor Chair of EECS UC Berkeley With special thanks.
A Denotational Semantics For Dataflow with Firing Edward A. Lee Jike Chong Wei Zheng Paper Discussion for.
Semantic Foundation of the Tagged Signal Model Xiaojun Liu Sun Microsystems, Inc. Chess Seminar February 21, 2006.
Chess Review May 11, 2005 Berkeley, CA Discrete-Event Systems: Generalizing Metric Spaces and Fixed-Point Semantics Adam Cataldo Edward Lee Xiaojun Liu.
7th Biennial Ptolemy Miniconference Berkeley, CA February 13, 2007 PTIDES: A Programming Model for Time- Synchronized Distributed Real-time Systems Yang.
Ordering and Consistent Cuts Presented by Chi H. Ho.
Programming Language Semantics Denotational Semantics Chapter 5 Part III Based on a lecture by Martin Abadi.
Lecture 12 Synchronization. EECE 411: Design of Distributed Software Applications Summary so far … A distributed system is: a collection of independent.
Models of Computation Reading Assignment: L. Lavagno, A.S. Vincentelli and E. Sentovich, “Models of computation for Embedded System Design”
Consistent Global States of Distributed Systems: Fundamental Concepts and Mechanisms CS 249 Project Fall 2005 Wing Wong.
Solving fixpoint equations
Time Parallel Simulations II ATM Multiplexers and G/G/1 Queues.
1 Consistent Global States of Distributed Systems: Fundamental Concepts and Mechanisms Author: Ozalp Babaoglu and Keith Marzullo Distributed Systems: 526.
Program Analysis and Verification
DISTRIBUTED ALGORITHMS By Nancy.A.Lynch Chapter 18 LOGICAL TIME By Sudha Elavarti.
Mahapatra-A&M-Fall'001 Co-design Finite State Machines Many slides of this lecture are borrowed from Margarida Jacome.
1 M. Tudruj, J. Borkowski, D. Kopanski Inter-Application Control Through Global States Monitoring On a Grid Polish-Japanese Institute of Information Technology,
Parallel and Distributed Simulation Time Parallel Simulation.
High Performance Embedded Computing © 2007 Elsevier Chapter 1, part 3: Embedded Computing High Performance Embedded Computing Wayne Wolf.
Fault tolerance and related issues in distributed computing Shmuel Zaks GSSI - Feb
Ordering of Events in Distributed Systems UNIVERSITY of WISCONSIN-MADISON Computer Sciences Department CS 739 Distributed Systems Andrea C. Arpaci-Dusseau.
High Performance Embedded Computing © 2007 Elsevier Lecture 4: Models of Computation Embedded Computing Systems Mikko Lipasti, adapted from M. Schulte.
Efficient Algorithms for Distributed Snapshots and Global Virtual Time Approximation Author: Friedermann Mattern Presented By: Shruthi Koundinya.
Parallel and Distributed Simulation Deadlock Detection & Recovery.
1 Iterative Program Analysis Part II Mathematical Background Mooly Sagiv Tel Aviv University
Chaotic Iterations Mooly Sagiv Tel Aviv University Textbook: Principles of Program Analysis.
Chaotic Iterations Mooly Sagiv Tel Aviv University Textbook: Principles of Program Analysis.
Distributed Systems Lecture 6 Global states and snapshots 1.
Ordering of Events in Distributed Systems UNIVERSITY of WISCONSIN-MADISON Computer Sciences Department CS 739 Distributed Systems Andrea C. Arpaci-Dusseau.
Concurrent Models of Computation
Embedded Systems: A Focus on Time
Parallel and Distributed Simulation
Concurrent Models of Computation for Embedded Software
Concurrent Models of Computation
Well-behaved Dataflow Graphs
Presentation transcript:

Kahn’s Principle and the Semantics of Discrete Event Systems Xiaojun Liu EE290N Class Project December 10, 2004

Xiaojun Liu 2 of 22 Kahn Process Networks An elegant model of computation for deterministic concurrent processes. Processes communicate streams of data asynchronously through unbounded FIFO channels. A denotational semantics based on complete partial orders (CPOs) and Scott continuous functions.

Xiaojun Liu 3 of 22 Kahn’s Principle The input-output function of any network is denoted by the least fixed point solution of the network’s recursion equations. Robert Yates and Guang Gao, “A Kahn Principle for Networks of Nonmonotonic Real-Time Processes” pq x z y (y, z) = f(x) F(f)(x) = (p(x,  2 (f(x))), q(  1 (f(x)))) f = fix(F) Can we extend this to timed systems?

Xiaojun Liu 4 of 22 Previous Work: Yates & Gao Timed stream: a sequence of time-stamped tokens. The time stamps are strictly increasing and separated by a minimum time interval   0. Processes are -causal.

Xiaojun Liu 5 of 22 Previous Work, Continued The principle novelty of the new functional ( F ) … is that it cuts off all outputs as soon as the earliest new output token appears. The new functional lets the network “run” at each step only until the earliest new output token appears.

Xiaojun Liu 6 of 22 Highlights of Approach A direct extension of KPN to DE systems. More general than the previous work outlined earlier. Useful guidance to develop operational semantics and simulator.

Xiaojun Liu 7 of 22 Prefix Order − Definition Let T, a poset, be the set of all tags. Let L (T) be the set of lower sets of T. A signal is a function from a lower set L  L (T) to some value set V, signal: L  V A signal s 1 : L 1  V is a prefix of s 2 : L 2  V, denoted s 1  s 2, if and only if L 1  L 2, and s 1 (t) = s 2 (t),  t  L 1 Let S (T, V) be the set of all signals from lower sets of T to V.

Xiaojun Liu 8 of 22 Prefix Order − Examples Given any set A, treated as a poset with the discrete order, S (A, B) is the set of all partial functions from A to B. Let T = [0,  ), and V  = V  {  }, where  represents the absence of value, S (T, V  ) is the set of DE signals.

Xiaojun Liu 9 of 22 Prefix Order − Properties For any poset T of tags and set V of values, S (T, V) with the prefix order is a poset a CPO a complete lower semilattice (i.e. any subset of signals have a GLB) For any network of processes that are Scott continuous functions from input to output, Kahn’s principle applies.

Xiaojun Liu 10 of 22 Discrete Event Signals The set of DE signals, S ([0,  ), V  {  }) is a CPO. Examples: clock: 0123… zeno: 0123… … ½ r-zeno: 0123… … ½

Xiaojun Liu 11 of 22 Discrete Event Processes add s 1 : L 1  V  s 2 : L 2  V  s: L  V  L = L 1  L 2 s(t) = s 1 (t) +  s 2 (t),  t  L delay by 1 s 1 : L 1  V  s 2 : L 2  V  L 2 = L 1  {1}  [0, 1) s 2 (t) =s 1 (t  1), when t  1 and , when t  [0, 1)

Xiaojun Liu 12 of 22 Biased Merge or “Default” biased merge s 1 : L 1  V  s 2 : L 2  V  s: L  V  Let p = sup L 2. If p  L 2, L = L 1  L 2  {q | q  p and  t  [p, q], s 1 (t)  V } and if p  L 2, L = L 1  L 2  {q | q  p and  t  (p, q], s 1 (t)  V } s(t) =s 1 (t), when s 1 (t)  V s 2 (t), otherwise,  t  L

Xiaojun Liu 13 of 22 A Discrete Event System biased merge delay by 1 zeno 0123…½ … 01½ 01½ … 012½ … 012½ … … 0123…½ …… 0123…½ … ……

Xiaojun Liu 14 of 22 YADES biased merge lookahead by 1 r-zeno 0123… … ½  

Xiaojun Liu 15 of 22 Continuity and Causality A process may be continuous but not causal, e.g. “lookahead by 1”. A process may be causal but not continuous, e.g. one that produces an output event after counting an infinite number of input events.

Xiaojun Liu 16 of 22 Discrete Signals A DE signal s: L  V  is discrete if s -1 (V) is order-isomorphic with a lower set of N and s -1 (V) is a finite set, or L = [0, sup s -1 (V)). Let D ([0,  ), V  {  }) be the set of discrete signals. With the prefix order, it is a poset, CPO, and a complete lower semilattice.

Xiaojun Liu 17 of 22 ? A Caveat biased merge clock: 01 01½ … zeno: 01½ …

Xiaojun Liu 18 of 22 Operational Semantics Represent signals as timed streams Processes map input timed streams to output timed streams An alternative development of Chandy and Misra’s distributed DE simulation

Xiaojun Liu 19 of 22 Representing Discrete Signals as Timed Streams Only “present” events? (0.0, 1) many-to-one (0.0, 1), (1.0, 1) prefix not a prefix

Xiaojun Liu 20 of 22 Null Events (0.0, 1), (1.0,  ) one-to-many (0.0, 1), (1.0, 1), (2.0,  ) (0.0, 1), (2.0,  ) (0.0, 1), (1.0,  ), (2.0,  )

Xiaojun Liu 21 of 22 Simultaneous Events Extend the tag set to [0,  )  N, with the lexicographical order. All developments so far can be generalized. Any continuous/causal DE process at a time t can be treated as a Scott continuous function from input sequences to output sequences. A “snapshot” of a DE system at a time t is a KPN.

Xiaojun Liu 22 of 22 Current Status Substantial progress on theoretical development Developing a plan for implementation Introduce “end-of-stream” marker in KPN Change event queue to contain sequences of events with the same time stamp and receiver Key criterion for improvement: more efficient simulation due to less traffic into/out of the event queue