an observational theory of imperative concurrent data
play

An Observational Theory of Imperative Concurrent Data Structures in - PowerPoint PPT Presentation

An Observational Theory of Imperative Concurrent Data Structures in the -Calculus Luca Fossati Kohei Honda Electronics, Engineering and Computer Science Queen Mary University of London Lisboa, 19/04/2011 An Observational Theory of Imperative


  1. An Observational Theory of Imperative Concurrent Data Structures in the π -Calculus Luca Fossati Kohei Honda Electronics, Engineering and Computer Science Queen Mary University of London Lisboa, 19/04/2011

  2. An Observational Theory of Imperative Concurrent Data Structures in the π -Calculus 1/40 Intro Traditional global progress properties of concurrent programs : • Deadlock-Freedom • Starvation-Freedom Fossati, Honda - 2011

  3. An Observational Theory of Imperative Concurrent Data Structures in the π -Calculus 2/40 Intro Traditional global progress properties of concurrent programs : • Deadlock-Freedom • Starvation-Freedom ⇓ Critical section → Lock-based only Fossati, Honda - 2011

  4. An Observational Theory of Imperative Concurrent Data Structures in the π -Calculus 3/40 Intro A more general approach : • Non-Blockingness • Wait-Freedom Fossati, Honda - 2011

  5. An Observational Theory of Imperative Concurrent Data Structures in the π -Calculus 4/40 Intro A more general approach : • Non-Blockingness • Wait-Freedom ⇑ Abstraction ⇑ Extensionality Fossati, Honda - 2011

  6. An Observational Theory of Imperative Concurrent Data Structures in the π -Calculus 5/40 Intro A more general approach : • Non-Blockingness • Wait-Freedom ⇑ Abstraction ⇑ Extensionality ⇓ Lack of rigorous semantic basis Fossati, Honda - 2011

  7. An Observational Theory of Imperative Concurrent Data Structures in the π -Calculus 6/40 Intro Non-Blockingness “A data structure is non-blocking if it guarantees that some process will always be able to complete its pending operation in a finite number of its own steps, regardless of the execution speed of other processes.” [Taubenfeld, ’06] Fossati, Honda - 2011

  8. An Observational Theory of Imperative Concurrent Data Structures in the π -Calculus 7/40 Intro How to formalise: • “a finite number of its own steps” • “regardless of the execution speed of other processes” ? Fossati, Honda - 2011

  9. An Observational Theory of Imperative Concurrent Data Structures in the π -Calculus 8/40 Intro How to formalise: • “a finite number of its own steps” • “regardless of the execution speed of other processes” ⇒ Fairness ⇒ Partial Failures Fossati, Honda - 2011

  10. An Observational Theory of Imperative Concurrent Data Structures in the π -Calculus 9/40 Intro How to formalise: • “a finite number of its own steps” • “regardless of the execution speed of other processes” ⇒ Fairness ⇒ Partial Failures ⇒ π -calculus Fossati, Honda - 2011

  11. An Observational Theory of Imperative Concurrent Data Structures in the π -Calculus 10/40 Intro AIM : To provide an extensional theory which is general enough to cover all the concurrent data structures whose behaviours are representable in the π -calculus. Fossati, Honda - 2011

  12. An Observational Theory of Imperative Concurrent Data Structures in the π -Calculus 11/40 Index • π -calculus • Linear/Affine Types • Asynchronous fair LTS + partial failures • Global Progress : – Non-blockingness – Wait-Freedom • Case study : Queues – Correctness (state space) – Behavioural Classification Fossati, Honda - 2011

  13. An Observational Theory of Imperative Concurrent Data Structures in the π -Calculus 12/40 The Calculus u & i ∈ I { l i ( � x i ) .P i } P ::= | u ⊕ l � � e � | if e then P else Q | P | Q | ( ν u ) P | ( µX ( � x ) .P ) � � e � | X � � x � | 0 Fossati, Honda - 2011

  14. An Observational Theory of Imperative Concurrent Data Structures in the π -Calculus 13/40 Reductions One rule: u & i ∈ I { l i ( � x i ) .P i } | u ⊕ l j � � e � − → P j { � x j } ( j ∈ I ) e/� Closed under the standard structural congruence, ≡ . Note in particular: x ) .P ) � � e � ≡ P { ( µX ( � x ) .P ) /X }{ � x } ( µX ( � e/� Fossati, Honda - 2011

  15. An Observational Theory of Imperative Concurrent Data Structures in the π -Calculus 14/40 Example Some simple concurrent data structures :   read ( z ) : z � v � | Ref � u, v � ,   def Ref � u, v � = u & write ( y, z ) : z | Ref � u, y �     read ( z ) : z � v � | Ref cas � u, v � ,         write ( y, z ) : z | Ref cas � u, y � ,     def Ref cas � u, v � = u & cas ( x, y, z ) : if x = v then z � tt � | Ref cas � u, y �         else z � ff � | Ref cas � u, v �     Fossati, Honda - 2011

  16. An Observational Theory of Imperative Concurrent Data Structures in the π -Calculus 15/40 Example Reduction : Ref cas � a, 0 �| ( ν c )( a ⊕ cas � 0 , 1 , c �| c ( x ) .P ) ( ν c )(( if 0 = 0 then c � tt � | Ref cas � a, 1 � else c � ff � | Ref cas � a, 0 � ) | c ( x ) .P ) − → ( ν c )(( if tt then c � tt � | Ref cas � a, 1 � else c � ff � | Ref cas � a, 0 � ) | c ( x ) .P ) − → Ref cas � a, 1 � | P { tt /x } → ∗ − Fossati, Honda - 2011

  17. An Observational Theory of Imperative Concurrent Data Structures in the π -Calculus 16/40 Example Two different mutex agents: def Mtx � u � = u ( x ) .x ( h ) h. Mtx � u � def Mtx spin � u � = ( ν c )(! u ( x ) .µX. ( if cas ( c, 0 , 1) then x ( h ) h. CAS ( c, 1 , 0) else ) | Ref cas � c, 0 � ) where def = ( ν c )( u ⊕ cas � v, w, c �| c ( x ) . if x then P else Q ) if cas ( u, v, w ) then P else Q and def CAS ( u, v, w ) = if cas ( u, v, w ) then 0 else 0 Fossati, Honda - 2011

  18. An Observational Theory of Imperative Concurrent Data Structures in the π -Calculus 17/40 Types & M τ i ) | ⊕ M τ i ) | int | bool | ⊥ τ ::= i ∈ I l i ( � i ∈ I l i ( � Modalities (as in Linear Logic , Games , . . . ): L channel can be used “exactly once” ( linear ) A channel can be used “at most once” ( affine ) L* input end always available and shared by unboundedly many outputs ( unbounded l. ) A* input end as above but may be unavailable ( unbounded a. ) Fossati, Honda - 2011

  19. An Observational Theory of Imperative Concurrent Data Structures in the π -Calculus 18/40 Example Typings for the previously introduced examples : 1. u : & L ∗ { read ( ↑ L ( nat )) , write ( nat ↑ L ()) } ⊢ Ref � u, 3 � 2. u : & L ∗ { read ( ↑ L ( nat )) , write ( nat ↑ L ()) , cas ( natnat ↑ L ( bool )) , } ⊢ Ref cas � u, 0 � 3. u : ↓ A ∗ ( ↑ A ( ↓ A ())) ⊢ P ( P ∈ { Mtx � u � , Mtx spin � u �} ) Fossati, Honda - 2011

  20. An Observational Theory of Imperative Concurrent Data Structures in the π -Calculus 19/40 Labelled Transition System Labels : τ | ( ν � v ) | ( ν � c ) a ⊕ l � � v � ℓ ::= c ) a & l ( � Untyped transitions : (Bra) ( ν � c ) a & l � � v � − → P | a ⊕ l � � v � P (Sel) ( ν � c ) a ⊕ l � � v � c )( P | a ⊕ l � � v � ) − → ( ν � P Fossati, Honda - 2011

  21. An Observational Theory of Imperative Concurrent Data Structures in the π -Calculus 20/40 Labelled Transition System Environment transitions : ( ν � c ) a & l j � � v j � Γ , a : & L ∗ ,A ∗ { l i ( � τ j , a : & L ∗ ,A ∗ { l i ( � τ i ) } i ∈ I − → Γ ⊙ � τ i ) } i ∈ I v : � ( ν � c ) a ⊕ l j � � v j � c, a : ⊕ L ∗ ,A ∗ { l i ( � Γ , a : ⊕ L ∗ ,A ∗ { l i ( � (Γ ⊙ � v : � τ j ) /� τ i ) } i ∈ I − → τ i ) } i ∈ I ( ν � c ) a & l j � � v j � Γ , a : & L,A { l i ( � τ i ) } i ∈ I − → Γ ⊙ � v : � τ j , a : ⊥ ( ν � c ) a ⊕ l j � � v j � c, a : ⊕ L,A { l i ( � (Γ ⊙ � τ i ) } i ∈ I − → v : � τ j ) /� Γ Typed transitions : → Γ ′ ⊢ P ′ → P ′ ∧ Γ ℓ def ℓ ℓ → Γ ′ Γ ⊢ P − ⇔ P − − Fossati, Honda - 2011

  22. An Observational Theory of Imperative Concurrent Data Structures in the π -Calculus 21/40 Bisimilarity Definition 3.3 (bisimilarity) A typed relation R is a weak bisimulation or often bisimulation when, for each Γ ⊢ P R Q , we ˆ → P ′ implies Q ⇒ Q ′ s.t. P ′ R Q ′ , and the symmetric ℓ ℓ have: P − = case. The maximum bisimulation is written ≈ . Proposition 3.4 ≈ is a typed congruence. Fossati, Honda - 2011

  23. An Observational Theory of Imperative Concurrent Data Structures in the π -Calculus 22/40 Fairness Definition 3.5 (Fairness) A maximal transition sequence Φ from closed Γ ⊢ P is fair if no subject is infinitely often enabled in Φ . Fossati, Honda - 2011

  24. An Observational Theory of Imperative Concurrent Data Structures in the π -Calculus 23/40 Fairness Definition 3.5 (Fairness) A maximal transition sequence Φ from closed Γ ⊢ P is fair if no subject is infinitely often enabled in Φ . Let P =! a. ( b | a ) | a and Q = Ref � r, 3 �| r ⊕ read � c � . Then P | Q admits an infinite unfair transition sequence. Fossati, Honda - 2011

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