CS8603:Distributed Systems Department of CSE
2020 – 2021 2.
7
Jeppiaar Institute of Technology
2.4 Synchronous program order on an asynchronous system
There do not exist real systems with instantaneous communication that allows for synchronous
communication to be naturally realized.
Non-determinism
• This suggests that the distributed programs are deterministic, i.e., repeated runs of the
same program will produce the same partial order.
• In many cases, programs are non-deterministic in the following senses
1. A receive call can receive a message from any sender who has sent a message, if the
expected sender is not specified.
2. Multiple send and receive calls which are enabled at a process can be executed in an
interchangeable order.
• If i sends to j, and j sends to i concurrently using blocking synchronous calls, it results
in a deadlock.
• However, there is no semantic dependency between the send and immediately
following receive. If the receive call at one of the processes is scheduled before the send
call, then there is no deadlock.
• Rendezvous
Rendezvous (“meet with each other”)
• One form of group communication is called multiway rendezvous, which is a
synchronous communication among an arbitrary number of asynchronous processes.
• Rendezvous between a pair of processes at a time is called binary rendezvous as
opposed to the multiway rendezvous.
• Observations about synchronous communication under binary rendezvous:
o For the receive command, the sender must be specified eventhough the multiple
recieve commands exist.
o Send and received commands may be individually disabled or enabled.
o Synchronous communication is implemented by scheduling messages using
asynchronous communication.
• Scheduling involves pairing of matching send and receive commands that are both
enabled.
• The communication events for the control messages do not alter the partial order of
execution.
Chia sẻ với bạn bè của bạn: |