Communication - INFN Sezione di Ferrara

Download Report

Transcript Communication - INFN Sezione di Ferrara

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.