Introduction and Basic Notions Distributed Systems 1 / 38 Synchronous Interaction and Distribution Structural Conflict Nets Synchronous and Asynchronous Interaction in Distributed Systems Ursula Goltz, Uwe Nestmann, Kirstin Peters, and Jens-Wolfhard Schicke in cooperation with Rob v. Glabbeek March 2010 Goltz, Nestmann, Peters, Schicke Bamberg, March 2010
Introduction and Basic Notions Distributed Systems 2 / 38 Synchronous Interaction and Distribution Structural Conflict Nets Distributed reactive systems Hardware/Software ◮ localities ◮ spatially distributed ◮ communication may take time, no global clock Goltz, Nestmann, Peters, Schicke Bamberg, March 2010
Introduction and Basic Notions Distributed Systems 3 / 38 Synchronous Interaction and Distribution Structural Conflict Nets Contents ◮ Introduction and Basic Notions ◮ Distributed Systems How can we characterise distributed computing? ◮ Synchronous Interaction and Distribution Is synchronous interaction possible in a distributed system? Goltz, Nestmann, Peters, Schicke Bamberg, March 2010
Introduction and Basic Notions Distributed Systems 4 / 38 Synchronous Interaction and Distribution Structural Conflict Nets Synchronous vs. Asynchronous Interaction Synchronous Interaction Asynchronous Interaction Goltz, Nestmann, Peters, Schicke Bamberg, March 2010
Introduction and Basic Notions Distributed Systems 5 / 38 Synchronous Interaction and Distribution Structural Conflict Nets Implementation: Asynchrony via Synchrony Buffer Goltz, Nestmann, Peters, Schicke Bamberg, March 2010
Introduction and Basic Notions Distributed Systems 6 / 38 Synchronous Interaction and Distribution Structural Conflict Nets Implementation: Synchrony via Asynchrony? Goltz, Nestmann, Peters, Schicke Bamberg, March 2010
Introduction and Basic Notions Distributed Systems 7 / 38 Synchronous Interaction and Distribution Structural Conflict Nets Some related work ◮ distributed algorithms – dining philosophers, leader election, snapshots [Boug´ e, Lehmann/Rabin, Palamidessi] ◮ distributed algorithms with failure [Lynch] ◮ CSP – dropping input and/or output guards, output only in parallel [de Boer, Palamidessi, Boug´ e] ◮ π -calculus – dropping input and/or output guards, asynchronous sending [Palamidessi, Nestmann, Gorla] ◮ Petri nets [Reisig, Hopkins] Goltz, Nestmann, Peters, Schicke Bamberg, March 2010
Introduction and Basic Notions Distributed Systems 8 / 38 Synchronous Interaction and Distribution Structural Conflict Nets Petri nets ◮ places ◮ transitions a c b ◮ flow relation ◮ initial marking We consider structural conflict place transition systems. ◮ Transitions with a common preplace must not fire in the same step ◮ No auto concurrency ◮ Feels just like one-safe, but isn’t Goltz, Nestmann, Peters, Schicke Bamberg, March 2010
Introduction and Basic Notions Distributed Systems 9 / 38 Synchronous Interaction and Distribution Structural Conflict Nets Synchronous interaction in distributed systems ◮ Distributed systems as Petri nets ◮ Which Petri nets containing synchronous interactions may be transformed into a “distributed” Petri net with only asynchronous interactions between components? ◮ Suitable equivalence notion required Goltz, Nestmann, Peters, Schicke Bamberg, March 2010
Introduction and Basic Notions Distributed Systems 10 / 38 Synchronous Interaction and Distribution Structural Conflict Nets Equivalence notions for reactive systems branching between alternative behaviour hereditary history preserving bisimulation bisimulation equivalence readiness equivalence failures equivalence completed trace equivalence concurrency/ trace equivalence causality step trace pomset trace equivalence equivalence [ R. v. Glabbeek: The linear time - branching spectrum I ] [ R. v. Glabbeek, U. Goltz: Refinement of actions and equivalence notions for concurrent systems ] Goltz, Nestmann, Peters, Schicke Bamberg, March 2010
Introduction and Basic Notions Distributed Systems 10 / 38 Synchronous Interaction and Distribution Structural Conflict Nets Equivalence notions for reactive systems branching between abstraction from alternative behaviour unobservable actions bisimulation weak bisimulation equivalence equivalence readiness equivalence failures equivalence completed trace equivalence concurrency/ trace equivalence causality step trace pomset trace equivalence equivalence [ R. v. Glabbeek: The linear time - branching spectrum I + II ] [ R. v. Glabbeek, U. Goltz: Refinement of actions and equivalence notions for concurrent systems ] Goltz, Nestmann, Peters, Schicke Bamberg, March 2010
Introduction and Basic Notions Distributed Systems 10 / 38 Synchronous Interaction and Distribution Structural Conflict Nets Equivalence notions for reactive systems branching between abstraction from alternative behaviour unobservable actions bisimulation step readiness equivalence equivalence readiness equivalence failures equivalence completed trace equivalence concurrency/ trace equivalence causality step trace pomset trace equivalence equivalence [ R. v. Glabbeek: The linear time - branching spectrum I + II ] [ R. v. Glabbeek, U. Goltz: Refinement of actions and equivalence notions for concurrent systems ] Goltz, Nestmann, Peters, Schicke Bamberg, March 2010
Introduction and Basic Notions Distributed Systems 11 / 38 Synchronous Interaction and Distribution Structural Conflict Nets Step readiness equivalence ◮ respects branching structure sufficiently ◮ gives necessary information about concurrency ◮ can detect serialisation of actions due to co-location ◮ abstracts from τ -transitions ◮ can implement synchronisation protocols ◮ no causality ◮ more freedom in protocol implementation ◮ too much? Goltz, Nestmann, Peters, Schicke Bamberg, March 2010
Introduction and Basic Notions Distributed Systems 12 / 38 Synchronous Interaction and Distribution Structural Conflict Nets Step readiness equivalence formally <σ, X > is a step ready pair of a Petri net N iff ◮ σ is a fireable sequence of visible transitions (abstracting from τ -transitions and executing all possible τ -transitions before stopping) ◮ X is the set of all possible steps after σ Two Petri nets are step readiness equivalent iff they have the same set of ready pairs. Goltz, Nestmann, Peters, Schicke Bamberg, March 2010
Introduction and Basic Notions Distributed Systems 13 / 38 Synchronous Interaction and Distribution Structural Conflict Nets LSGA Nets A distributed system... ◮ consists of sequential components ◮ sequential components interact asynchronously ... as a Petri net (LSGA net) ◮ sequential Petri net components with interfaces (input and output) places ◮ parallelism via asynchronous parallel composition (fusion of input and output places) LSGA = locally sequential globally asynchronous similar to [Reisig] Gee, I noticed some parts of the slides... Bamberg, March 2010
Introduction and Basic Notions Distributed Systems 14 / 38 Synchronous Interaction and Distribution Structural Conflict Nets LSGA Example output S-invariant input a a ′ c ′ b ′ b ... never really contain any useful information Bamberg, March 2010
Introduction and Basic Notions Distributed Systems 15 / 38 Synchronous Interaction and Distribution Structural Conflict Nets Petri nets as distributed systems More abstract characterisation of distributed systems possible: ◮ Transitions and their preplaces are always on the same location (synchronous interaction is to be preserved). ◮ Transitions which may occur in one step are not placed on the same location (otherwise concurrency would be restricted). We call a Petri net distributed iff it is possible to put its elements on locations such that these requirements are respected. Goltz, Nestmann, Peters, Schicke Bamberg, March 2010
Introduction and Basic Notions Distributed Systems 16 / 38 Synchronous Interaction and Distribution Structural Conflict Nets LSGA nets vs. distributed nets ◮ Every LSGA net is distributed. ◮ For each distributed net, an equivalent LSGA net exists. Goltz, Nestmann, Peters, Schicke Bamberg, March 2010
Introduction and Basic Notions Distributed Systems 17 / 38 Synchronous Interaction and Distribution Structural Conflict Nets Semi-structural characterisation of distributed nets A Petri net N is distributed iff it has no border concurrent long M. a c e b d enabled in the same marking I bet, you are not reading this concurrently Bamberg, March 2010
Introduction and Basic Notions Distributed Systems 18 / 38 Synchronous Interaction and Distribution Structural Conflict Nets Implementation of Petri nets as distributed nets ... und hence as LSGA nets allowed ◮ multiple transitions with the same label ◮ additional τ -transitions ◮ new causal relations disallowed ◮ less parallelism ◮ branching-time violations formally: step readyness equivalence Goltz, Nestmann, Peters, Schicke Bamberg, March 2010
Introduction and Basic Notions Distributed Systems 19 / 38 Synchronous Interaction and Distribution Structural Conflict Nets Distributable systems ◮ A Petri net N is called distributable iff there exists a labelled distributed Petri net N ’ which may contain τ -transitions, such that N is step readiness equivalent to N ’. ◮ A Petri net is called truly synchronous iff it is not distributable. Goltz, Nestmann, Peters, Schicke Bamberg, March 2010
Recommend
More recommend