1 / 18

Inter-process Communication and Coordination

Inter-process Communication and Coordination. Chaitanya Sambhara CSC 8320 Advanced Operating Systems. Message Passing Communication. Message Passing Interface (MPI) is a specification for an API that allows many computers to communicate with one another.

halliee
Télécharger la présentation

Inter-process Communication and Coordination

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

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.

  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. 

  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)  • 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) • Local Leader Election in Wireless Sensor Networks ww.cs.rpi.edu/~szymansk/papers/wman.05.pdf (2005) • www.wikipedia.com

More Related