content Flashcards
Best-effort broadcast (beb)
Uses perfect link
- Request : bebBroadcast, m
- Indication : bebDelilver, src, m
• BEB1. Validity : If pi and pj are correct then every message broadcast by pi
is eventually delivered
by pj
• BEB2. No duplication : No message is delivered more than once
• BEB3. No creation : No messages is delivered unless it was broadcast
Reliable broadcast (rb)
Uses BeB, perfect failure detector
Properties RB1 = BEB1. RB2 = BEB2. RB3 = BEB3. RB4. Agreement: For any message m, if any correct process delivers m, then every correct process delivers m
Uniform broadcast (urb)
uses BEB, P
- Request :
- Indication :
Properties URB1 = BEB1. URB2 = BEB2. URB3 = BEB3. URB4. Uniform Agreement: For any message m, if any process delivers m, then every correct process delivers m
Causality
Let m1 and m2 be any two messages: m1 -
> m2 (m1 causally precedes m2) iff
C1 (FIFO order). Some process pi
broadcasts m1 before broadcasting m2
C2 (Local order). Some process pi delivers
m1 and then broadcasts m2
C3 (Transitivity). There is a message m3
such that m1 -> m3 and m3 - > m2
Causal broadcast
Request :
• Indication :
• Property:
• CO: If any process pi delivers a message
m2, then pi must have delivered every
message m1 such that m1 -> m2
Reliable causal broadcast (rcb)
uses rb
Request :
• Indication :
• Properties:
- RB1, RB2, RB3, RB4 +
- CO
Uniform causal broadcast (ucb)
Uses urb
Request :
• Indication :
• Properties:
- URB1, URB2, URB3, URB4 +
- CO
Total order broadcast (tob)
uses rb, consensus
Request :
• Indication :
• Properties:
• RB1, RB2, RB3, RB4
• Total order property : Let m and m’ be any two messages.
Let pi be any (correct) process that delivers m
without having delivered m’
Then no (correct) process delivers m’ before m
Consensus properties
C1. Validity: Any value decided is a value proposed C2. Agreement: No two correct processes decide differently C3. Termination: Every correct process eventually decides C4. Integrity: No process decides twice
Uniform consensus - properties
C1. Validity: Any value decided is a value proposed C2. Uniform Agreement: No two processes decide differently C3. Termination: Every correct process eventually decides C4. Integrity: No process decides twice
Consensus - inteface
- Request : Propose, v
* Indication : Decide, v’
Beb interface
- Request : bebBroadcast, m
* Indication :bebDelilver, src, m
RB - interface
- Request : rbBroadcast, m
* Indication : rbDeliver, src, m
URB interface
- Request : urbBroadcast, m
* Indication : urbDeliver, src, m
rcb - interface
- Request : rcoBroadcast, m
* Indication : rcoDeliver, src, m