(4) Message M arrival at Pi from a higher priority process Pj: At the time a message M is processed by Pi, process Pi executes RECEIVE(M) (which is assumed to be always enabled) and then send(ack(M)) to Pj . (5) Processing when Pi is unblocked: When Pi is unblocked, it dequeues the next (if any) message from the queue and processes it as a message arrival (as per rules 3 or 4). 2.5 Group communication • Processes across a distributed system cooperate to solve a task. Hence there is need for
• A message broadcast is sending a message to all members.
• In Multicasting the message is sent to a certain subset, identified as a group. • In unicasting is the point-to-point message communication.
• Broadcast and multicast is supported by the network protocol stack using variants of
the spanning tree. This is an efficient mechanism for distributing information.
CS8603:Distributed Systems Department of CSE 2020 – 2021 2. 10
Jeppiaar Institute of Technology • However, the hardware or network layer protocol assisted multicast cannot efficiently
provide the following features:
• Application-specific ordering semantics on the order of delivery of messages.
• Adapting groups to dynamically changing membership.
• Sending multicasts to an arbitrary set of processes at each send event.
• Providing various fault-tolerance semantics.
• If a multicast algorithm requires the sender to be a part of the destination group, the
multicast algorithm is said to be a closed group algorithm.
If the sender of the multicast can be outside the destination group, then the multicast
algorithm is said to be an open group algorithm.
• Open group algorithms are more general, and therefore more difficult to design and
more expensive to implement, than closed group algorithms.
• Closed group algorithms cannot be used in in a large system like on-line reservation or
Internet banking systems where client processes are short-lived and in large numbers.
• For multicast algorithms, the number of groups may be potentially exponential, i.e.,