Unit - 2
Unit - 2
02/20/2025 1
SYNCHRONOUS PROGRAM ORDER ON AN ASYNCHRONOUS
SYSTEM
02/20/2025 2
Contd…..
• Rendezvous
Rendezvous systems are a form of synchronous
communication among an arbitrary number of
asynchronous processes.
The entire processes involved meet with each other,
i.e., communicate synchronously with each other at one
time.
Two types of rendezvous systems are possible:
Binary rendezvous: When two processes agree to
synchronize.
Multi-way rendezvous: When more than two processes
agree to synchronize.
02/20/2025 3
Contd…..
02/20/2025 5
Contd…..
02/20/2025 6
Contd…..
02/20/2025 7
Bagrodia Algorithm
M, ack(M), request(M), permission(M)
02/20/2025 8
Contd…..
If a message M’ arrives from a higher priority process P , P accepts
k i
completes.
(3) request(M) arrival at P from a lower priority process P :
i j
02/20/2025 10
GROUP COMMUNICATION
02/20/2025 11
Contd…
Differences between closed and open group algorithms:
Closed group algorithms
If sender is also one of the receiver in the multicast algorithm,
then it is closed group algorithm.
They are specific and easy to implement.
It does not support large systems where client processes have
short life.
Open group algorithms
If sender is not a part of the communication group, then it is open group
algorithm.
They are more general, difficult to design and expensive.
It can support large systems.
02/20/2025 12
CAUSAL ORDER (CO)
In the context of group communication, there are two
modes of communication:
causal order
total order.
The following two criteria must be met by a causal
ordering protocol:
Safety: In order to prevent causal order from being violated, a
message M that arrives at a process may need to be buffered
until all system wide messages sent in the causal past of the send
(M) event to that same destination have already arrived. The
arrival of a message is transparent to the application process.
Liveness: A message that arrives at a process must eventually be
delivered to the process.
02/20/2025 13
Contd…
The Raynal–Schiper–Toueg algorithm
– Each message M should carry a log of all other messages sent causally
before M’s send event, and sent to the same destination dest(M).
– The Raynal–Schiper–Toueg algorithm canonical algorithm is a
representative of several algorithms that reduces the size of the local
space and message space overhead by various techniques.
– This log can then be examined to ensure whether it is safe to deliver a
message.
– All algorithms aim to reduce this log overhead, and the space and time
overhead of maintaining the log information at the processes.
– To distribute this log information, broadcast and multicast communication
is used.
02/20/2025 14