Professional Documents
Culture Documents
Examples of use:
Send to group:
SendToGroup (in gid: group-id, msg: message)
Group Send and Receive have similar issues as IPC with respect
to:
Blocking and non-blocking
Implementations (of communication functions):
Group Atomicity
Group atomicity is concerned with whether the group is always
a whole or can be partitioned (with respect to group operations).
Atomic multicast:
When a message is sent to the group, all members of the group
receive the message. Otherwise, no member receives the
message. i.e., there is never the case that some members receive
the message while others do not. It is all (member) or none.
Message Ordering
- FIFO order
If a source process sends two messages to a group in the
order of M1->M2 (i.e., M1 precedes M2), then the
messages are received in that order.
at S1: M1->N1->M2->N2
at S2: N1->M1->M2->N2
- Consistent order
The relative order of messages received at each member
process is the same. That is, the order is consistent across
the group.
- Causal order
Assume S1 first multicasts m, upon reception of m, S3
multicasts m, then m->m. m and m are said to be
causally ordered.
Causal order could be violated. e.g., due to network delay.
A group communication mechanism is said t observe
casual order if it preserves the order.
Total order
Implementation:
Use a token passing (logical) ring. Only the token holder can
multicast message.
One may have total ordering but not atomicity and vise versa.
server
5. Client-to-Server Protocol