Reliable Multicast Flashcards

1
Q

Why is multicast used for group communication?

A

Its more efficent and transparent to the sender.

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

Why is multicast unreliable? (3)

A

Multicast doesn’t tolerate process failure.
Omission failures
No guarentees on message order

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

What are the types of group communication?

A

Closed - Doesn’t change its size
Open - Can change size
Peer to peer - No hierarchy
Hierarchical - 1 higher node.

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

Why is the key property of Reliable Multicast?

A

All processes in g must receive copies of messages to sent to g.

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

What are the assumptions of Reliable Multicast?

A

Membership of group is known.
Reliable one-to-one communication.
Only crash failures occur.

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

What are the guarentees of Basic Multicast? (2)

A

Correct processes will eventually deliver message as long as multicaster doesn’t crash.
Only group members receive messages sent to group.

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

What is an atomic multicast? (2)

A

Messages are eithe received by all, or none.

Basic reuqirement for group-oriented activties.

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

What are the delivery guarentees of Reliable Multicast? (3)

A

Integrity: Current process delivers message at most once.
Validity: If Pi multicasts m, Pi delivers m.
Agreement: If Pi delivers m, all other processes will eventually deliver m.

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

What is the process of Basic Reliable Multicast? (3)

A

Pi multicasts m to g (including to itself).

When a process Pj receives m for the first time, not from sender, it B-multicasts to g and R-delivers m.

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

What is the problem with Basic Reliable Multicast?

A

It is inefficient.

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

What is the correctness of Reliable Multicast?

A

Integrity: Yes (duplicates detected)
Validity: Yes ( sender multicasts to itself, so will eventually deliver to itself)
Agreement: If sender R-delivers, then all must have R-delivered.

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

What are the 3 orderings of Multicast?

A

FIFO, Casual, Total

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

What does casual ordering imply?

A

FIFO ordering

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

What is the implementation of FIFO ordering? (4)

A

Each process assigns sequence number to messages sent to g.
Processes remember latest message sent to g.
Messages are queued for delivery until all messages with a lower sequence number have been delivered.

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

What is the issue with a sequencer?

A

Can cause a bottleneck

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

What are the two phases of the Distributed Agreement?

A

1 : Pi multicasts timestamped message (m,t) and receives timestamped replies (m,t’).
2 : After Pi receives all responses, Pi multicasts commit message with the largest t’ value as the timestamp.

17
Q

What is the implementation of the Casual Ordering Multicast?

A

Initialise vector timestamp TS.
For a new message, increment TS.
When receiving a message from Pj:
Place in queue.
Check if all previous messages from Pj have been delivered by Pi.
Check if all previous messages that Pj has delivered have been delivered.
B-deliver m.

18
Q

When are vectortimestamps updated? (2)

A

Increment own on multicast.

Update others on delivery of message.