A Fault Tolerance Bisimulation Proof for Consensus

6 downloads 0 Views 830KB Size Report
Imperial College. 2Department of Informatics. University of Sussex. European Symposium on Programming, 2007. Adrian Francalanza, Matthew Hennessy.
Motivation

Methodology

Conclusions

A Fault Tolerance Bisimulation Proof for Consensus Adrian Francalanza1

Matthew Hennessy2

1 Department

of Computing Imperial College

2 Department

of Informatics University of Sussex

European Symposium on Programming, 2007

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

Universities of Somewhere and Elsewhere

Motivation

Methodology

Conclusions

Outline

1 Motivation

2 Methodology

3 Conclusions

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

Universities of Somewhere and Elsewhere

Motivation

Methodology

Conclusions

Outline

1 Motivation

2 Methodology

3 Conclusions

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

Universities of Somewhere and Elsewhere

Motivation

Methodology

Conclusions

Distributed Systems: Consensus Consensus Setting n autonomous participants who may independently fail hold a value v ∈ V . must decide on a value v 0 ∈ V . Defining Correctness of Consensus Termination: All non-failing participants must eventually decide. Agreement: No two participants decide on different values. Validity: If all participants are given the same value v ∈ V as input, then v is the only possible decision value. Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

Universities of Somewhere and Elsewhere

Motivation

Methodology

Conclusions

Rotating Coordinator Algorithm 2 ...

1

i

... n

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

n−1

Universities of Somewhere and Elsewhere

Motivation

Methodology

Conclusions

Rotating Coordinator Algorithm 2 ...

1

i

... n

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

n−1

Universities of Somewhere and Elsewhere

Motivation

Methodology

Conclusions

Rotating Coordinator Algorithm 2 ...

1

i

... n

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

n−1

Universities of Somewhere and Elsewhere

Motivation

Methodology

Conclusions

Rotating Coordinator Algorithm 2 ...

1

i

?

? ?

?

n

n−1

...

Problems caused by Failure Decision Blocking: a participant waiting forever for a value to be broadcast from a crashed co-ordinator

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

Universities of Somewhere and Elsewhere

Motivation

Methodology

Conclusions

Rotating Coordinator Algorithm 2 ...

1

i

... n

n−1

Problems caused by Failure Decision Blocking: a participant waiting forever for a value to be broadcast from a crashed co-ordinator Corrupted Broadcast: a co-ordinator broadcasts its values to a subset of the participants before crashing. Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

Universities of Somewhere and Elsewhere

Motivation

Methodology

Conclusions

Distributed Systems: Consensus with Perfect Failure Detection Rotating Coordinator Algorithm for Participant i part[1..n]; \\ array of n participants x_i := input; \\ initialise for r := 1 to n do { if (r = i) then broadcast(x_i); if alive(part[r]) then x_i:= input(part[r]); } output x_i; \\ decide

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

Universities of Somewhere and Elsewhere

Motivation

Methodology

Conclusions

Distributed Systems: Consensus with Perfect Failure Detection Rotating Coordinator Algorithm for Participant i part[1..n]; \\ array of n participants x_i := input; \\ initialise for r := 1 to n do { if (r = i) then broadcast(x_i); if alive(part[r]) then x_i:= input(part[r]); } output x_i; \\ decide

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

Universities of Somewhere and Elsewhere

Motivation

Methodology

Conclusions

Distributed Systems: Consensus with Perfect Failure Detection Rotating Coordinator Algorithm for Participant i part[1..n]; \\ array of n participants x_i := input; \\ initialise for r := 1 to n do { if (r = i) then broadcast(x_i); if alive(part[r]) then x_i:= input(part[r]); } output x_i; \\ decide

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

Universities of Somewhere and Elsewhere

Motivation

Methodology

Conclusions

Distributed Systems: Consensus with Perfect Failure Detection Rotating Coordinator Algorithm for Participant i part[1..n]; \\ array of n participants x_i := input; \\ initialise for r := 1 to n do { if (r = i) then broadcast(x_i); if alive(part[r]) then x_i:= input(part[r]); } output x_i; \\ decide

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

Universities of Somewhere and Elsewhere

Motivation

Methodology

Conclusions

The Process Calculi Way

Language: Parallel composition, atomic actions, action hiding, reduction semantics Bisimulation: lts and ≈ characterises behavioural equivalence

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

Universities of Somewhere and Elsewhere

Motivation

Methodology

Conclusions

The Process Calculi Way

Language: Parallel composition, atomic actions, action hiding, reduction semantics Bisimulation: lts and ≈ characterises behavioural equivalence Theorem P | P | . . . | P ≈ SPEC

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

Universities of Somewhere and Elsewhere

Motivation

Methodology

Conclusions

The Process Calculi Way (2)

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

Universities of Somewhere and Elsewhere

Motivation

Methodology

Conclusions

The Process Calculi Way (2)

complex to understand hard to digest not intuitive

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

Universities of Somewhere and Elsewhere

Motivation

Methodology

Conclusions

The Process Calculi Way ... with Failures!

Language: Parallel composition, atomic actions, action hiding, reduction semantics with failures. Bisimulation: lts and ≈ characterises behavioural equivalence Theorem l1 [[P]] | . . . | ln [[P]] ≈

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

SPEC FAIL

Universities of Somewhere and Elsewhere

Motivation

Methodology

Conclusions

The Process Calculi Way ... with Failures!

Language: Parallel composition, atomic actions, action hiding, reduction semantics with failures. Bisimulation: lts and ≈ characterises behavioural equivalence Theorem l1 [[P]] | . . . | ln [[P]] ≈

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

SPEC FAIL

Universities of Somewhere and Elsewhere

Motivation

Methodology

Conclusions

The Process Calculi Way ... with Failures! Language: Parallel composition, atomic actions, action hiding, reduction semantics with failures. τ

(Γ, n + 1) . M −→ (Γ − l, n) . M

Γ ` l : alive

Bisimulation: lts and ≈ characterises behavioural equivalence Theorem Γ, n − 1 . l1 [[P]] | . . . | ln [[P]] ≈ Γ, n − 1 . SPEC FAIL

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

Universities of Somewhere and Elsewhere

Motivation

Methodology

Conclusions

The Process Calculi Way ... with Failures! Expressing Participant i in our process calculus (Participant) Pxi,r

def

=

Rxi,r | Bxi,r

x ∈ {true, false}, r ≤ n

Pxi,n+1

def

=

decxi

x ∈ {true, false}

def

false x truei,r .Ptrue i,r +1 + falsei,r .Pi,r +1 + susp lr .Pi,r +1

(Recieve) Rxi,r

=

(Broadcast) x Bi,i

def

Bxi,r

def

=

=

Qn

x ∈ {true, false}

0

x ∈ {true, false}, r 6= i

j=1 xj,r

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

Universities of Somewhere and Elsewhere

Motivation

Methodology

Conclusions

The Process Calculi Way ... with Failures! Expressing Participant i in our process calculus (Participant) Pxi,r

def

=

Rxi,r | Bxi,r

x ∈ {true, false}, r ≤ n

Pxi,n+1

def

=

decxi

x ∈ {true, false}

def

false x truei,r .Ptrue i,r +1 + falsei,r .Pi,r +1 + susp lr .Pi,r +1

(Recieve) Rxi,r

=

(Broadcast) x Bi,i

def

Bxi,r

def

=

=

Qn

x ∈ {true, false}

0

x ∈ {true, false}, r 6= i

j=1 xj,r

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

Universities of Somewhere and Elsewhere

Motivation

Methodology

Conclusions

The Process Calculi Way ... with Failures! Expressing Participant i in our process calculus (Participant) Pxi,r

def

=

Rxi,r | Bxi,r

x ∈ {true, false}, r ≤ n

Pxi,n+1

def

=

decxi

x ∈ {true, false}

def

false x truei,r .Ptrue i,r +1 + falsei,r .Pi,r +1 + susp lr .Pi,r +1

(Recieve) Rxi,r

=

(Broadcast) x Bi,i

def

Bxi,r

def

=

=

Qn

x ∈ {true, false}

0

x ∈ {true, false}, r 6= i

j=1 xj,r

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

Universities of Somewhere and Elsewhere

Motivation

Methodology

Conclusions

The Process Calculi Way ... with Failures! Expressing Participant i in our process calculus (Participant) Pxi,r

def

=

Rxi,r | Bxi,r

x ∈ {true, false}, r ≤ n

Pxi,n+1

def

=

decxi

x ∈ {true, false}

def

false x truei,r .Ptrue i,r +1 + falsei,r .Pi,r +1 + susp lr .Pi,r +1

(Recieve) Rxi,r

=

(Broadcast) x Bi,i

def

Bxi,r

def

=

=

Qn

x ∈ {true, false}

0

x ∈ {true, false}, r 6= i

j=1 xj,r

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

Universities of Somewhere and Elsewhere

Motivation

Methodology

Conclusions

The Process Calculi Way ... with Failures! Expressing Participant i in our process calculus (Participant) Pxi,r

def

=

Rxi,r | Bxi,r

x ∈ {true, false}, r ≤ n

Pxi,n+1

def

=

decxi

x ∈ {true, false}

def

false x truei,r .Ptrue i,r +1 + falsei,r .Pi,r +1 + susp lr .Pi,r +1

(Recieve) Rxi,r

=

(Broadcast) x Bi,i

def

Bxi,r

def

=

=

Qn

x ∈ {true, false}

0

x ∈ {true, false}, r 6= i

j=1 xj,r

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

Universities of Somewhere and Elsewhere

Motivation

Methodology

Conclusions

The Process Calculi Way ... with Failures! Expressing Participant i in our process calculus (Participant) Pxi,r

def

=

Rxi,r | Bxi,r

x ∈ {true, false}, r ≤ n

Pxi,n+1

def

=

decxi

x ∈ {true, false}

def

false x truei,r .Ptrue i,r +1 + falsei,r .Pi,r +1 + susp lr .Pi,r +1

(Recieve) Rxi,r

=

(Broadcast) x Bi,i

def

Bxi,r

def

=

=

Qn

x ∈ {true, false}

0

x ∈ {true, false}, r 6= i

j=1 xj,r

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

Universities of Somewhere and Elsewhere

Motivation

Methodology

Conclusions

The Process Calculi Way ... with Failures! Expressing Participant i in our process calculus (Participant) Pxi,r

def

=

Rxi,r | Bxi,r

x ∈ {true, false}, r ≤ n

Pxi,n+1

def

=

decxi

x ∈ {true, false}

def

false x truei,r .Ptrue i,r +1 + falsei,r .Pi,r +1 + susp lr .Pi,r +1

(Recieve) Rxi,r

=

(Broadcast) x Bi,i

def

Bxi,r

def

=

=

Qn

x ∈ {true, false}

0

x ∈ {true, false}, r 6= i

j=1 xj,r

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

Universities of Somewhere and Elsewhere

Motivation

Methodology

Conclusions

The Process Calculi Way ... with Failures! Composing n Participants to solve Consensus     Qn proptrue .Ptrue truei,r , def i,1 i n C = ν i,r =1 false i=1 li .Pfalse +propfalse i,r i,1 i

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

Universities of Somewhere and Elsewhere

Motivation

Methodology

Conclusions

The Process Calculi Way ... with Failures! Composing n Participants to solve Consensus     Qn proptrue .Ptrue truei,r , def i,1 i n C = ν i,r =1 false i=1 li .Pfalse +propfalse i,r i,1 i

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

Universities of Somewhere and Elsewhere

Motivation

Methodology

Conclusions

The Process Calculi Way ... with Failures! Composing n Participants to solve Consensus     Qn proptrue .Ptrue truei,r , def i,1 i n C = ν i,r =1 false i=1 li .Pfalse +propfalse i,r i,1 i

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

Universities of Somewhere and Elsewhere

Motivation

Methodology

Conclusions

The Process Calculi Way ... with Failures! Composing n Participants to solve Consensus     Qn proptrue .Ptrue truei,r , def i,1 i n C = ν i,r =1 false i=1 li .Pfalse +propfalse i,r i,1 i

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

Universities of Somewhere and Elsewhere

Motivation

Methodology

Conclusions

The Process Calculi Way ... with Failures! Composing n Participants to solve Consensus     Qn proptrue .Ptrue truei,r , def i,1 i n C = ν i,r =1 false i=1 li .Pfalse +propfalse i,r i,1 i

Specification in the presence of Failure VERY COMPLEX!

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

Universities of Somewhere and Elsewhere

Motivation

Methodology

Conclusions

Bisimulation with Failure

An even bigger, more complex bisimulation!

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

Universities of Somewhere and Elsewhere

Motivation

Methodology

Conclusions

Outline

1 Motivation

2 Methodology

3 Conclusions

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

Universities of Somewhere and Elsewhere

Motivation

Methodology

Conclusions

Methodology (1): Testing Harnesses

Language: Parallel composition, atomic actions, action hiding, reduction semantics w. failures, immortal location ?. Bisimulation: lts and ≈ characterises behavioural equivalence w.r.t immortal observers Theorem

Γ, n − 1 . (ν m)(?[[Q]] ˜ | l1 [[P]] | . . . | ln [[P]]) ≈ Γ, 0 . ?[[SPEC ]]

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

Universities of Somewhere and Elsewhere

Motivation

Methodology

Conclusions

Methodology (1): Testing Harnesses Language: ... Bisimulation: ... Theorem

Γ, n − 1 . (ν m)(?[[Q]] ˜ | l1 [[P]] | . . . | ln [[P]]) ≈ Γ, 0 . ?[[SPEC ]]

Advantages 1

Simplifies specification formulation

2

Permits separate tests for correctness criteria

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

Universities of Somewhere and Elsewhere

Motivation

Methodology

Conclusions

Methodology (1): Testing Harnesses Harnesses For Consensus (Initialisation) Q def Ix = start. ni=1 propxi Q def Igen = start. ni=1 (proptrue + propfalse ) i i

x ∈ {true, false}

(Agreement) Axi

def

Axn+1

def

=

ok

Agen i

def

dectrue .Atrue i i+1

=

=

decxi .Axi+1 + susp li .Axi+1

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

x ∈ {true, false} ,i ≤ n x ∈ {true, false}

+

decfalse .Afalse i i+1

+ susp li .Agen i+1

Universities of Somewhere and Elsewhere

Motivation

Methodology

Conclusions

Methodology (1): Testing Harnesses Language: . . . Bisimulation: . . . Theorem

Agreement and Termination gen Γ, n − 1 . (ν m)(?[[I ˜ | Agen 1 ]] | C) ≈ Γ, 0 . ? [[start.ok]] Validity true Γ, n − 1 . (ν m)(?[[I ˜ | Atrue 1 ]] | C) ≈ Γ, 0 . ? [[start.ok]] false Γ, n − 1 . (ν m)(?[[I ˜ | Afalse 1 ]] | C) ≈ Γ, 0 . ? [[start.ok]]

m ˜ =

Qn

true , i=1 propi

propfalse , dectrue , decfalse i i i

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

Universities of Somewhere and Elsewhere

Motivation

Methodology

Conclusions

Methodology (1): ... on the bisimulation front

Where we left off... (big, complex bisimulation!)

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

Universities of Somewhere and Elsewhere

Motivation

Methodology

Conclusions

Methodology (1): ... on the bisimulation front

Agreement

Validity

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

Universities of Somewhere and Elsewhere

Motivation

Methodology

Conclusions

Methodology (2): Fault Tolerance

Language: . . . Bisimulation: . . . Theorem Γ, n − 1 . (ν m)(?[[I|A]] ˜ | C) ≈ Γ, 0 . ?[[start.ok]]

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

Universities of Somewhere and Elsewhere

Motivation

Methodology

Conclusions

Methodology (2): Fault Tolerance

Language: . . . Bisimulation: . . . Theorem

Γ, n − 1 . (ν m)(?[[I|A]] ˜ |

C |{z}

) ≈ Γ, 0 . ?[[start.ok]]

Induce failure

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

Universities of Somewhere and Elsewhere

Motivation

Methodology

Conclusions

Methodology (2): Fault Tolerance Language: . . . Bisimulation: . . . Theorem

Preserve observable behaviour z }| { Γ, n − 1 . (ν m) ˜ ?[[I|A]] |

C |{z}

Preserve observable behaviour z }| { ) ≈ Γ, 0 . ?[[start.ok]]

Induce failure

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

Universities of Somewhere and Elsewhere

Motivation

Methodology

Conclusions

Methodology (2): Fault Tolerance

Language: . . . Bisimulation: . . . Theorem Γ, n − 1 . (ν m)(?[[I|A]] ˜ | C) ≈ Γ, 0 . ?[[start.ok]]

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

Universities of Somewhere and Elsewhere

Motivation

Methodology

Conclusions

Methodology (2): Fault Tolerance Language: . . . Bisimulation: . . . Theorem

Basic Correctness Γ, 0 . (ν m)(?[[I|A]] ˜ | C) ≈ Γ, 0 . ?[[start.ok]]

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

Universities of Somewhere and Elsewhere

Motivation

Methodology

Conclusions

Methodology (2): Fault Tolerance Language: . . . Bisimulation: . . . Theorem

Basic Correctness Γ, 0 . (ν m)(?[[I|A]] ˜ | C) ≈ Γ, 0 . ?[[start.ok]] Correctness Preservation Γ, n − 1 . (ν m)(?[[I|A]] ˜ | C) ≈ Γ, 0 . (ν m)(?[[I|A]] ˜ | C)

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

Universities of Somewhere and Elsewhere

Motivation

Methodology

Conclusions

Methodology (2): ... on the bisimulation front

Agreement

Validity

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

Universities of Somewhere and Elsewhere

Motivation

Methodology

Conclusions

Methodology (2): ... on the bisimulation front

Basic Correctness Correctnes Preservation

Agreement

Validity

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

Universities of Somewhere and Elsewhere

Motivation

Methodology

Conclusions

Methodology (2): Advantages

1

2

Natural way how to analyse algorithms in the presence of failure. Stages are Independent: Test them in parallel Simpler (failure-free) stage can be used as a vetting stage

3

Refined Up-to Techniques: we have different confluences and structural equivalences under different failure settings.

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

Universities of Somewhere and Elsewhere

Motivation

Methodology

Conclusions

Methodology (3): Up-to Techniques

Confluence Properties hΓ, ni . N 

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

τ

/ hΓ, ni . M

β

Universities of Somewhere and Elsewhere

Motivation

Methodology

Conclusions

Methodology (3): Up-to Techniques

Confluence Properties hΓ, ni . N  µ

τ

/ hΓ, ni . M

β



hΓ0 , n0 i . N 0

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

Universities of Somewhere and Elsewhere

Motivation

Methodology

Conclusions

Methodology (3): Up-to Techniques

Confluence Properties hΓ, ni . N  µ



hΓ0 , n0 i . N 0 

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

/ hΓ, ni . M

τ

β

µ

τ β

 / hΓ0 , n0 i . M 0

Universities of Somewhere and Elsewhere

Motivation

Methodology

Conclusions

Methodology (3): Up-to Techniques

Structural Equivalence Properties hΓ, ni . N

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus



hΓ, ni . M

Universities of Somewhere and Elsewhere

Motivation

Methodology

Conclusions

Methodology (3): Up-to Techniques

Structural Equivalence Properties hΓ, ni . N µ



hΓ, ni . M



hΓ0 , n0 i . N 0

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

Universities of Somewhere and Elsewhere

Motivation

Methodology

Conclusions

Methodology (3): Up-to Techniques

Structural Equivalence Properties hΓ, ni . N µ



hΓ0 , n0 i . N 0

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus



hΓ, ni . M µ



≡ hΓ0 , n0 i . M 0

Universities of Somewhere and Elsewhere

Motivation

Methodology

Conclusions

Methodology (3): Up-to Techniques Confluence in a Failure-free Setting Γ, 0 . (νa) (l[[a]] | k[[a.P]])

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

Universities of Somewhere and Elsewhere

Motivation

Methodology

Conclusions

Methodology (3): Up-to Techniques Confluence in a Failure-free Setting τ

Γ, 0 . (νa) (l[[a]] | k[[a.P]]) 7−→β Γ, 0 . (νa) (k[[P]])

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

Universities of Somewhere and Elsewhere

Motivation

Methodology

Conclusions

Methodology (3): Up-to Techniques Confluence in a Failure-free Setting τ

Γ, 0 . (νa) (l[[a]] | k[[a.P]]) 7−→β Γ, 0 . (νa) (k[[P]])

Confluence in a Failure Setting

Γ, n . (νa) (l[[a]] | k[[a.P + susp l.P]])

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

Universities of Somewhere and Elsewhere

Motivation

Methodology

Conclusions

Methodology (3): Up-to Techniques Confluence in a Failure-free Setting τ

Γ, 0 . (νa) (l[[a]] | k[[a.P]]) 7−→β Γ, 0 . (νa) (k[[P]])

Confluence in a Failure Setting

τ

Γ, n . (νa) (l[[a]] | k[[a.P + susp l.P]]) 7−→β Γ, n . (νa) (k[[P]])

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

Universities of Somewhere and Elsewhere

Motivation

Methodology

Conclusions

Methodology (3): Up-to Techniques

Structural Equivalence in a Failure-free Setting

Γ, 0 . l[[P + susp k.Q]] ≡ Γ, 0 . l[[P]]

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

Γ ` k : alive

Universities of Somewhere and Elsewhere

Motivation

Methodology

Conclusions

Methodology (3): Up-to Techniques

Confluence Within Consensus 

truei,j , Γ, n . ν falsei,j

 (lj [[truei,j ]] | li [[truei,j .P + falsei,j .Q + susp l.R]])

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

Universities of Somewhere and Elsewhere

Motivation

Methodology

Conclusions

Methodology (3): Up-to Techniques

Confluence Within Consensus



truei,j , Γ, n . ν falsei,j

at round j  z }| { (lj [[truei,j ]] | li [[truei,j .P + falsei,j .Q + susp lj .R]]) | {z } | {z } coordinator

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

participant

Universities of Somewhere and Elsewhere

Motivation

Methodology

Conclusions

Methodology (3): Up-to Techniques Confluence Within Consensus

3 Cases 

truei,j , Γ, n . ν falsei,j

 (lj [[truei,j ]] | li [[truei,j .P + falsei,j .Q + susp lj .R]])

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

Universities of Somewhere and Elsewhere

Motivation

Methodology

Conclusions

Methodology (3): Up-to Techniques Confluence Within Consensus

Failure Free 

truei,j , Γ, 0 . ν falsei,j

 (lj [[truei,j ]] | li [[truei,j .P + falsei,j .Q + susp lj .R]])

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

Universities of Somewhere and Elsewhere

Motivation

Methodology

Conclusions

Methodology (3): Up-to Techniques Confluence Within Consensus

Failure Free  truei,j , (lj [[truei,j ]] | li [[truei,j .P + falsei,j .Q + susp lj .R]]) Γ, 0 . ν falsei,j ≡ (νtruei,j , falsei,j ) (lj [[truei,j ]] | li [[truei,j .P + falsei,j .Q]]) 

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

Universities of Somewhere and Elsewhere

Motivation

Methodology

Conclusions

Methodology (3): Up-to Techniques Confluence Within Consensus

Failure Free  truei,j , (lj [[truei,j ]] | li [[truei,j .P + falsei,j .Q + susp lj .R]]) Γ, 0 . ν falsei,j ≡ (νtruei,j , falsei,j ) (lj [[truei,j ]] | li [[truei,j .P + falsei,j .Q]]) ≡ (νtruei,j , falsei,j ) (lj [[truei,j ]] | li [[truei,j .P]]) 

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

Universities of Somewhere and Elsewhere

Motivation

Methodology

Conclusions

Methodology (3): Up-to Techniques Confluence Within Consensus

Failure Free 

 truei,j , Γ, 0 . ν (lj [[truei,j ]] | li [[truei,j .P + falsei,j .Q + susp lj .R]]) falsei,j ≡ (νtruei,j , falsei,j ) (lj [[truei,j ]] | li [[truei,j .P + falsei,j .Q]]) ≡ (νtruei,j , falsei,j ) (lj [[truei,j ]] | li [[truei,j .P]]) τ 7−→β (νtruei,j , falsei,j ) (li [[P]])

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

Universities of Somewhere and Elsewhere

Motivation

Methodology

Conclusions

Methodology (3): Up-to Techniques Confluence Within Consensus

Broadcast same as estimate 

truei,j , Γ, n . ν falsei,j

 (lj [[truei,j ]] | li [[truei,j .P + falsei,j .Q + susp lj .P]])

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

Universities of Somewhere and Elsewhere

Motivation

Methodology

Conclusions

Methodology (3): Up-to Techniques Confluence Within Consensus

Broadcast same as estimate  truei,j , (lj [[truei,j ]] | li [[truei,j .P + falsei,j .Q + susp lj .P]]) Γ, n . ν falsei,j ≡ (νtruei,j , falsei,j ) (lj [[truei,j ]] | li [[truei,j .P + susp lj .P]]) 

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

Universities of Somewhere and Elsewhere

Motivation

Methodology

Conclusions

Methodology (3): Up-to Techniques Confluence Within Consensus

Broadcast same as estimate 

 truei,j , Γ, n . ν (lj [[truei,j ]] | li [[truei,j .P + falsei,j .Q + susp lj .P]]) falsei,j ≡ (νtruei,j , falsei,j ) (lj [[truei,j ]] | li [[truei,j .P + susp lj .P]]) τ 7−→β (νtruei,j , falsei,j ) (li [[P]])

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

Universities of Somewhere and Elsewhere

Motivation

Methodology

Conclusions

Methodology (3): Up-to Techniques Confluence Within Consensus

Broadcast different from estimate 

truei,j , Γ, n . ν falsei,j

 (lj [[truei,j ]] | li [[truei,j .P + falsei,j .Q + susp lj .R]])

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

Universities of Somewhere and Elsewhere

Motivation

Methodology

Conclusions

Methodology (3): Up-to Techniques Confluence Within Consensus

Broadcast different from estimate  truei,j , (lj [[truei,j ]] | li [[truei,j .P + falsei,j .Q + susp lj .R]]) Γ, n . ν falsei,j ≡ (νtruei,j , falsei,j ) (lj [[truei,j ]] | li [[truei,j .P + susp lj .Q]]) 

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

Universities of Somewhere and Elsewhere

Motivation

Methodology

Conclusions

Methodology (3): Up-to Techniques

Why is it worthwhile...? techniques for attaining fault tolerance are bounded and reused in many algorithms. Fault tolerance is attained through replication! Space replication: P|P| . . . |P Time replication: P.P . . . P

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

Universities of Somewhere and Elsewhere

Motivation

Methodology

Conclusions

Methodology (3): ... on the bisimulation front

Basic Correctness Correctnes Preservation

Agreement

Validity

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

Universities of Somewhere and Elsewhere

Motivation

Methodology

Conclusions

Methodology (3): ... on the bisimulation front

Basic Correctness Correctnes Preservation

Agreement

Validity

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

Universities of Somewhere and Elsewhere

Motivation

Methodology

Conclusions

Outline

1 Motivation

2 Methodology

3 Conclusions

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

Universities of Somewhere and Elsewhere

Motivation

Methodology

Conclusions

Methodology in 3 acts

1

Testing Harnesses: Limiting observations to non-failing locations.

2

Fault Tolerance: Splitting analysis into basic correctness and correctness preservation phases.

3

Refined Up-to Techniques: for both failure-free and failure phases.

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

Universities of Somewhere and Elsewhere

Fault Tolerance (...in a nut shell)

Restrict observation to immortal locations

OBSERVER VIEW

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

Universities of Somewhere and Elsewhere

Fault Tolerance (...in a nut shell)

Preserves observation up to 1 failure

OBSERVER VIEW

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

Universities of Somewhere and Elsewhere

Fault Tolerance (...in a nut shell)

Preserves observation up to 1 failure

OBSERVER VIEW

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

Universities of Somewhere and Elsewhere

Fault Tolerance (...in a nut shell)

Preserves observation up to 1 failure

OBSERVER VIEW

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

Universities of Somewhere and Elsewhere

Fault Tolerance (...in a nut shell)

Preserves observation up to 2 failures

OBSERVER VIEW

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

Universities of Somewhere and Elsewhere

Fault Tolerance (...in a nut shell)

Preserves observation up to 2 failures

OBSERVER VIEW

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

Universities of Somewhere and Elsewhere

Fault Tolerance (...in a nut shell)

Preserves observation up to 3 failures

OBSERVER VIEW

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

Universities of Somewhere and Elsewhere

Fault Tolerance (...in a nut shell)

Preserves observation up to 3 failures

OBSERVER VIEW

Adrian Francalanza, Matthew Hennessy A Fault Tolerance Bisimulation Proof for Consensus

Universities of Somewhere and Elsewhere