Presentation is loading. Please wait.

Presentation is loading. Please wait.

Inter-process Communication and Coordination Chaitanya Sambhara CSC 8320 Advanced Operating Systems.

Similar presentations


Presentation on theme: "Inter-process Communication and Coordination Chaitanya Sambhara CSC 8320 Advanced Operating Systems."— Presentation transcript:

1 Inter-process Communication and Coordination Chaitanya Sambhara CSC 8320 Advanced Operating Systems

2 Message Passing Communication  Message Passing Interface (MPI) is a specification for an API that allows many computers to communicate with one another.  MPI's goals are high performance, scalability, and portability. MPI remains the dominant model used in high-performance computing today.

3  Pipe: Used for inter-process communication within a single machine.  Socket : Used for inter-process communication between two different machines.

4  Multicast is used for one-to-many communication on a network. It can be either reliable, unreliable, or best-effort. Best-effort multicast ensures that at least one machine receives the message broadcasted. Messages have three different orderings:  FIFO ordering: Multicast messages from a single source are delivered in the order that they were sent.  Causal ordering: Causally-related messages from multiple sources are delivered in there causal order.  Total ordering :All messages from multiple sources are delivered in the same order they are sent.

5 Characteristics of Inter-process Communication  A queue is associated with each message destination.  Sending process cause messages to be added to remote queues and receiving processes remove messages from local queues.  Communication may be synchronous or asynchronous

6 Synchronous Communication  In the synchronous form of communication, both send and receive are blocking operations  Blocking means the process has to wait until the sending/receiving operation is finished.  Therefore, in this mode, whenever a message is transmitted, we know both processes were executing a send/receive operation at the same time (thus “synchronizing” them).

7 Asynchronous Communication  In the asynchronous form of communication the use of the send operation is non-blocking in that the sending process is allowed to proceed as soon as the message has been copied to a local buffer.  The actual transmission of the message then proceeds in parallel with the sending process.  The receive operation thought can have blocking and non-blocking variants.

8 Remote Procedure Call Client/server infrastructure that increases interoperability, portability and flexibility of an application by allowing the application to be distributed over multiple heterogeneous platforms. Client/server infrastructure that increases interoperability, portability and flexibility of an application by allowing the application to be distributed over multiple heterogeneous platforms.

9 Advantages  Reduces Complexity.  Keeps the semantics of a remote call the same whether or not the client and server are collocated on the same system.

10 Advantages  RPC increases the flexibility of an architecture by allowing a client component of an application to employ a function call to access a server on a remote system.  RPC allows the remote component to be accessed without knowledge of the network address or any other lower-level information.  RPC allows the remote component to be accessed without knowledge of the network address or any other lower-level information.

11 Transactions and Processing  ACID Properties.  Atomicity  Consistency  Isolation  Durability

12 2 Phase Commit Protocol  Phase 1:Request a lock.  Phase 2: Release the lock.

13 Name and Directory Services The two steps of resolution are:  Name resolution - turns a name into an address  Address resolution - turns an address into a network route

14 Address Resolution Protocol ARP is used in four cases of two hosts communicating:  When two hosts are on the same network and one desires to send a packet to the other.  When two hosts are on different networks and must use a gateway/router to reach the other host.  When a router needs to forward a packet for one host through another router.  When a router needs to forward a packet from one host to the destination host on the same network.

15 Mutual Exclusion  Used for concurrent programming.  Limitation of resources.

16 Types of Mutual Exclusions  Centralized Mutual Exclusion.  Distributed Mutual Exclusion.

17 Leader Election  Used in Distributed Systems.  Used while assigning responsibility among nodes.  Need for such applications?  Applications?

18 References  Implementing message passing communication with a shared memory communication mechanism (1999)  Implementing message passing communication with a shared memory communication mechanism (1999)  On the abstraction of message-passing communications using algorithmic skeletons : A case study (2005)  The State of the Art in Agent Communication Languages (2000)  A survey of anycast in IPv6 networks Weber, S. Liang Cheng Lehigh Univ., Bethlehem, PA, USA; (2004)  Transaction-Based Communication-Centric Debug The Netherlands; Technical University Delft (2007)   NDR: Name Directory Service in Mobile Ad-Hoc Network Jae-Hoon Jeong, Jung-Soo Park, Hyoung- Jun Kim (2005)   A Distributed Mutual Exclusion Algorithm for Mobile Ad-Hoc Networks Università di Roma "La Sapienza (2004)  ww.cs.rpi.edu/~szymansk/papers/wman.05.pdf (2005)  Local Leader Election in Wireless Sensor Networks ww.cs.rpi.edu/~szymansk/papers/wman.05.pdf (2005) Local Leader Election in Wireless Sensor Networks  www.wikipedia.com


Download ppt "Inter-process Communication and Coordination Chaitanya Sambhara CSC 8320 Advanced Operating Systems."

Similar presentations


Ads by Google