5 - causal and total order Flashcards

1
Q

When is message ordering important?

A

Whenever there are dependent reactions in a system: Events that have been incited by other events, and must therefor also be processed after the original event.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Explain the Causal order Broadcast (cob) Properties.

A
  • Validity. If a process cob-delivers a message m then there is a process that cob-broadcast m.
  • Integrity. No message is cob-delivered twice.
  • Termination. If a process cob-broadcast a message m, then eventually all processes cob-deliver it.
  • Agreement. If a process delivers a message m then all processes eventually cob-deliver it.
  • Causal order. If m1-> m2, no process cob-delivers m2 before m1.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What are the main ideas behind no-waiting causal order broadcast?

A
  1. Remember all previously delivered messages
  2. When broadcasting, join all previously delivered messages
  3. The causal past of a message.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is another name for the Birman-schiper-stephenson algorithm?

A

Waiting Causaul order broadcast

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What are the main ideas of the waiting causal order broadcast?

A
  1. Local causality: Every process numbers its broadcast messages, then other processes can check its order.
  2. global causality: Processes send their own knowledge about their states with each broadcast. A receiving processor can check if it has not missed messages.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What concept is used to implement waiting causal order broadcast, and for what purpose?

A

Vector clocks, only for checking message order

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is the condition for delivering a message with waiting causal order broadcast?

A

VCi + [1] ≥ VCm

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

When is the clock updated in causal order broadcasting?

A

Increment own vector clock when starting a broadcast, and vector clock at sender’s index when co-delivering.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is different in causal order point-to-point compared to broadcast?

A

No longer will all nodes in the system be aware of every event. This means that local states have little value, as (missing) messages were not meant for you in the first place.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is another term for the [Schiper-Eggli-Sandoz] algorithm?

A

Point-to-point causal ordering

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

How is the point to point causal order implemented?

A

Each nodes keeps track (map of clocks) of what it assumes other nodes know. (Send messages that might not have been received yet). It appends this map to each outgoing message, as well as its own vector state, such that nodes can inspect what other believe they should be aware off, indicating a missing message.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

When is the local clock updated in p2p causal order?

A

Before sending the message, such that the new state is already appended to the message. When delivering, take max values.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Explain the difference in causal and total order.

A

In causal order, you want to assure that before delivery, you have delivered all the dependencies of that message. However, in total order, you want all the processes to deliver in the exact same order, even if there is no (causal) dependency.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What are the properties of strong total order broadcast?

A

It is the properties of waiting causal order, plus:
Total order: If a process to-delivers m1 before m2, then all processes to-deliver m1 before m2

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What are the properties of weak total order broadcast?

A

It is the properties of waiting causal order, plus:
Total order: If a process to-delivers m1 before m2, then all processes to-deliver m1 before m2
But without:
** Causal order**. If m1 -> m2, no process to-delivers m2 before m1

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Explain the usage of a sequencer to solve total messag ordering.

A

All nodes can send the message they want to broadcast to a sequencer (special process). This sequencer will then broadcast that message on behalve of them, ensuring no broadcast overlaps. Sequencer also keeps track of past, for resending.

However, it creates a huge bottleneck and is unfair to far nodes (they dont get to broadcast due to their lagging state.