Message-oriented Communication
Message Oriented Communication (Socket)
A socket is a communication end point to which an application can write data that are to be sent out over the underlying network, and from which incoming data can be read.
A socket forms an abstraction over the actual port that is used by the local operating system for a specific transport protocol.
Common operations include:
socket
: create a new communication end pointbind
: attach a local address to a socketlisten
: tell operating system what the maximum number of pending connection requests should beaccept
: block caller until a connection request arrivesconnect
: actively attempt to establish a connectionsend
: send some data over the connectionreceive
: receive some data over the connectionclose
: release the connection
Message-Passing Interface (MPI)
MPI is designed for parallel applications and as such is tailored to transient communication.
Support different network protocol stacks.
Common operations include:
MPI_bsend
: append outgoing message to a local send buffer (transient asynchronous communication)MPI_send
: send a message and wait until copied to local or remote bufferMPI_ssend
: send a message and wait until transmission starts (synchronous communication)MPI_sendrecv
: send a message and wait for reply (strongest form of synchronous communication)MPI_isend
: pass reference to outgoing message, and continueMPI_issend
: pass reference to outgoing message, and wait until receipt startsMPI_recv
: receive a message; block if there is noneMPI_irecv
: check if there is an incoming message, but do not block
Last updated