Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Middleware Protocols RPC, Message oriented Communication, etc. 2-5 An adapted reference model for networked communication. Message oriented communication RPCs, i.e., enhance access transparency but they are not always appropriate to distributed system. Persistence and Synchronicity Different types of communications Persistent communication 2-20 General organization of a communication system in which hosts are connected through a network Example : E-mail system. If the target server is unreachable, the local one continue to store messages ( in contrast with a transient communication method). Persistence and Synchronicity in Communication 2-22.1 a) b) Persistent asynchronous communication Persistent synchronous communication Persistence and Synchronicity in Communication 2-22.2 c) d) Transient asynchronous communication (one way RPC) Receipt-based transient synchronous communication Persistence and Synchronicity in Communication e) f) Delivery-based transient synchronous communication at message delivery(asynchronous RPCs) Response-based transient synchronous communication (RPCs) The need for persistent communication services is clear in developing middleware for large-scale distributed applications. Only transient or persistent communications like only synchronous or asynchronous communications is not sufficient! Message passing communication Berkeley Sockets Primitive Meaning Socket Create a new communication endpoint Bind Attach a local address to a socket Listen Announce willingness to accept connections Accept Block caller until a connection request arrives Connect Actively attempt to establish a connection Send Send some data over the connection Receive Receive some data over the connection Close Release the connection Socket primitives for TCP/IP. With new high performance multicomputer systems standard socket primitives are insufficient. Primitives have to be at a good level of abstraction and suitable for new high speed interconnection protocols The Message-Passing Interface (MPI) Primitive Meaning MPI_bsend Append outgoing message to a local send buffer MPI_send Send a message and wait until copied to local or remote buffer MPI_ssend Send a message and wait until receipt starts MPI_sendrecv Send a message and wait for reply MPI_isend Pass reference to outgoing message, and continue MPI_issend Pass reference to outgoing message, and wait until receipt starts MPI_recv Receive a message; block if there are none MPI_irecv Check if there is an incoming message, but do not block Some of the most intuitive message-passing primitives of MPI. MPI uses the underlying network and it assumes communication take place within a known group of processes MPI supports all the previous communication diagrams except for (d) Message-Queuing Model basic idea: applications communicate by inserting messages in specific queues 2-26 Four combinations for loosely-coupled communications using queues. Message-Queuing Model Primitive Meaning Put Append a message to a specified queue Get Block until the specified queue is nonempty, and remove the first message Poll Check a specified queue for messages, and remove the first. Never block. Notify Install a handler to be called when a message is put into the specified queue. Basic interface to a queue in a message-queuing system. General Architecture of a Message-Queuing System (1) The collection of queues is distributed across multiple machines The relationship between queue-level addressing and network-level addressing. queue names db General Architecture of a Message-Queuing System (2) 2-29 A message-queuing system with routers can solve the problem of a large scale system queue-to-location mapping Message Brokers it converts incoming messages to a format compatible with the destination application 2-30 The general organization of a message broker in a message-queuing system. It is generally not considered an integral part of the queuing system.