on safety in distributed computing
play

On safety in distributed computing Srivatsan Ravi On safety in - PowerPoint PPT Presentation

On safety in distributed computing Srivatsan Ravi On safety in distributed computing Safety in distributed computing 1 Something bad never happens 2 Some invariant holds at every step in the execution 3 If something bad happens in an


  1. On safety in distributed computing Srivatsan Ravi On safety in distributed computing

  2. Safety in distributed computing 1 Something ”bad” never happens 2 Some invariant holds at every step in the execution 3 If something bad happens in an execution, it happens because of some particular step in the execution On safety in distributed computing

  3. Safety properties 1 A property is a set of histories 2 What does it mean for a set of histories exported by a concurrent implementation to be safe? On safety in distributed computing

  4. Defining Safety 1 The Alpern-Schneider topology 2 The Lynch definition On safety in distributed computing

  5. Defining safety: Alpern-Schneider Topology Alpern-Schneider Topology A property O is finitely observable iff: ∀ H ∈ H inf : H ∈ O ⇒ ( ∃ H ′ ∈ H fin ; H ′ < H ∧ ( ∀ H ′′ ∈ H inf ; H ′ < H ′′ , H ′′ ∈ O )) 1 If O 1 , O 2 , . . . , O n are finitely observable, then ∩ n i =1 O i is also finitely observable 2 The potentially infinite union of finitely observable properties is also finitely observable. On safety in distributed computing

  6. Defining safety: Alpern-Schneider Topology Alpern-Schneider Topology A property O is finitely observable iff: ∀ H ∈ H inf : H ∈ O ⇒ ( ∃ H ′ ∈ H fin ; H ′ < H ∧ ( ∀ H ′′ ∈ H inf ; H ′ < H ′′ , H ′′ ∈ O )) 1 If O 1 , O 2 , . . . , O n are finitely observable, then ∩ n i =1 O i is also finitely observable 2 The potentially infinite union of finitely observable properties is also finitely observable. The set O of finitely observable properties is a topology on H inf On safety in distributed computing

  7. Defining safety: Alpern-Schneider Topology Alpern-Schneider Topology Safety properties are the closed sets in the topology A set if closed if its complement is open A closed set contains all its limit-points AS-topology defined on the set of infinite histories Notion of safety not defined for finite histories On safety in distributed computing

  8. Formal definition of safety Safety property [Lynch, Distributed Algorithms] every prefix H ′ of a history H ∈ P is also in P prefix-closure : an incorrect execution cannot turn into a correct one in the future On safety in distributed computing

  9. Formal definition of safety Safety property [Lynch, Distributed Algorithms] every prefix H ′ of a history H ∈ P is also in P prefix-closure : an incorrect execution cannot turn into a correct one in the future for any infinite sequence of finite histories H 0 , H 1 , . . . such that for all i , H i ∈ P and H i is a prefix of H i +1 , the infinite history that is the limit of the sequence is also in P . limit-closure : the infinite limit of an ever-extending safe execution must be also safe. On safety in distributed computing

  10. Formal definition of safety Safety property [Lynch, Distributed Algorithms] every prefix H ′ of a history H ∈ P is also in P prefix-closure : an incorrect execution cannot turn into a correct one in the future for any infinite sequence of finite histories H 0 , H 1 , . . . such that for all i , H i ∈ P and H i is a prefix of H i +1 , the infinite history that is the limit of the sequence is also in P . limit-closure : the infinite limit of an ever-extending safe execution must be also safe. Sufficient to prove all finite histories are safe On safety in distributed computing

  11. Proving a property to be safe Prefix-closure Constructively from the extended history Limit-closure Application of K¨ onig’s Path Lemma : If G is an infinite connected finitely branching rooted directed graph, then G contains an infinite sequence of non-repeating vertices starting from the root On safety in distributed computing

  12. Limit-closure 1 A property that is not limit-closed 2 Proving limit-closure of safety properties using K¨ onig’s Path Lemma On safety in distributed computing

  13. Multi-objects Transactions Sequence of abortable reads and writes on objects Transactions can commit by invoking tryC ( take effect ) or abort On safety in distributed computing

  14. Multi-objects Transactions Sequence of abortable reads and writes on objects Transactions can commit by invoking tryC ( take effect ) or abort Opacity 1 History is opaque if there exists an equivalent completion that is legal and respects the real-time order of transactions. Totally-order transactions such that every t-read returns the value of the latest written t-write. 2 Completion by including matching responses to incomplete t-operations and aborting incomplete transactions On safety in distributed computing

  15. Opacity and limit-closure W 1 ( X , 1) TryC 1 T 1 R 2 ( X ) → 1 T 2 → ∞ R 3 ( X ) → 0 R i ( X ) → 0 T 3 T i 1 Mutually overlapping transactions 2 Suppose a serialization S of H exists There exists n ∈ N ; seq ( S )[ n ] = T 1 Consider the transaction T i at index n + 1 For any i ≥ 3, T i must precede T 1 in any serialization On safety in distributed computing

  16. Opacity and limit-closure W 1 ( X , 1) TryC 1 T 1 R 2 ( X ) → 1 T 2 → ∞ R 3 ( X ) → 0 R i ( X ) → 0 T 3 T i 1 Consider the set of histories in which every transactional operation is complete in the infinite history? 2 Is the resulting property limit-closed? On safety in distributed computing

  17. Opacity and limit-closure: Prelude to the proof Live set of T Lset H ( T ): T and every transaction T ′ such that neither the last event of T ′ precedes the first event of T in H nor the last event of T precedes the first event of T ′ in H . H T ′ ) if for all T ′′ ∈ Lset H ( T ), T ′ succeeds the live set of T ( T ≺ LS T ′′ is complete and the last event of T ′′ precedes the first event of T ′ . On safety in distributed computing

  18. Opacity and limit-closure: Prelude to the proof Live set of T Lset H ( T ): T and every transaction T ′ such that neither the last event of T ′ precedes the first event of T in H nor the last event of T precedes the first event of T ′ in H . T ′ succeeds the live set of T ( T ≺ LS H T ′ ) if for all T ′′ ∈ Lset H ( T ), T ′′ is complete and the last event of T ′′ precedes the first event of T ′ . T 1 and T 2 overlap Live set: An example Live set of T 1 = { T 1 } R 1 ( X ) T 1 T 2 succeeds the live set of T 1 W 2 ( Y , 1) T 2 On safety in distributed computing

  19. Opacity and limit-closure: Prelude to the proof Live set: An example We can find a serialization in which T 1 precedes T 2 R 1 ( X ) T 1 Given any serialization of a du-opaque history, permute W 2 ( Y , 1) T 2 transactions without rendering any t-read illegal. Lemma Let H be a finite opaque history and assume T k ∈ txns ( H ) be a complete transaction in H such that every transaction in Lset H ( T k ) is complete in H. Then there exists a serialization S of H such that for all T k , T m ∈ txns ( H ) ; T k ≺ LS H T m , we have T k < S T m . On safety in distributed computing

  20. Opacity and limit-closure: The proof Step 1: Construction of rooted directed graph G H Vertices of G H Root vertex: ( H 0 , S 0 ) (empty histories) Non-root vertex: ( H i , S i ) S i is a serialization of H i S i respects live set relation On safety in distributed computing

  21. Opacity and limit-closure: The proof Step 1: Construction of rooted directed graph G H Vertices of G H Edges of G H Root vertex: ( H 0 , S 0 ) cseq i ( S j ); j ≥ i : subsequence of seq ( S j ) (empty histories) reduced to transactions that Non-root vertex: ( H i , S i ) are complete in H i w.r.t H S i is a serialization of H i ( H i , S i ) → ( H i +1 , S i +1 ) if S i respects live set relation cseq i ( S i ) = cseq i ( S i +1 ) On safety in distributed computing

  22. Opacity and limit-closure: K¨ onig’s Path Lemma G H is finitely branching Out-degree of ( H i , S i ) bounded by the number of possible permutations of the set txns ( S i +1 ). On safety in distributed computing

  23. Opacity and limit-closure: The proof Step 2: Application of K¨ onig’s Path Lemma If G is an infinite connected finitely branching rooted directed graph, then G contains an infinite sequence of non-repeating vertices starting from the root. G H is finitely G H is connected branching Given ( H i +1 , S i +1 ), ∃ ( H i , S i ): seq ( S i ) is subsequence of seq ( S i +1 ) Out-degree of ( H i , S i ) bounded by seq ( S i +1 ) contains every complete the number of transaction that takes its last step in H in possible H i permutations of the cseq i ( S i ) = cseq i ( S i +1 ) set txns ( S i +1 ). Iteratively construct a path from ( H 0 , S 0 ) to each ( H i , S i ) On safety in distributed computing

  24. Opacity and limit-closure: The proof Step 2: Application of K¨ onig’s Path Lemma G H is an infinite finitely branching connected rooted directed graph G H is infinite (by construction) Apply K¨ onig’s Path Lemma to G H Derive infinite sequence L of non-repeating vertices of G H starting from root On safety in distributed computing

  25. Opacity and limit-closure: The proof Step 2: Application of K¨ onig’s Path Lemma G H is an infinite finitely branching connected rooted directed graph G H is infinite (by construction) Apply K¨ onig’s Path Lemma to G H Derive infinite sequence L of non-repeating vertices of G H starting from root L = ( H 0 , S 0 ) , ( H 1 , S 1 ) , . . . , ( H i , S i ) , . . . ↓ In L , ∀ j > i : cseq i ( S i ) = cseq i ( S j ) On safety in distributed computing

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend