CS 194: Distributed Systems Remote Object Invocation,
30 Slides584.00 KB
CS 194: Distributed Systems Remote Object Invocation, MessageOriented Communications Computer Science Division Department of Electrical Engineering and Computer Sciences University of California, Berkeley Berkeley, CA 94720-1776 EECS122 UCB (Based on- textbook slides) 1
Outline Remote Object Invocation Message Oriented Communication Stream-Oriented Communications
Distributed Objects Common organization of a remote object with client-side proxy. 2-16 like client stub like server stub
Parameter Passing The situation when passing an object by reference or by value – Copy local object – Send only reference to remote object 2-18
Outline Remote Object Invocation Message Oriented Communication Stream-Oriented Communications
Persistence and Synchronicity in Communication (1) General organization of a communication system in which hosts are connected through a network 2-20
Persistence and Synchronicity in Communication (2) Persistence – Message is stored in the network or at the receiving machine as long as it takes to be delivered – E.g., mail system Synchronicity – Sender blocks until the receiver gets the message
Persistence and Synchronicity in Communication (3) Persistent communication of letters back in the days of the Pony Express.
Persistence and Synchronicity in Communication (4) a) b) Persistent asynchronous communication Persistent synchronous communication 2-22.1
Persistence and Synchronicity in Communication (5) 2-22.2 c) d) Transient asynchronous communication Receipt-based transient synchronous communication
Persistence and Synchronicity in Communication (6) e) f) Delivery-based transient synchronous communication at message delivery Response-based transient synchronous communication
Outline Remote Object Invocation Message-Oriented Communication Message-Oriented Transient Communication Message-Oriented Persistent Communication Stream-Oriented Communications
Berkeley Sockets (1) Socket primitives for TCP/IP. 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
Berkeley Sockets (2) Connection-oriented communication pattern using sockets.
The Message-Passing Interface (MPI) Some of the most intuitive message-passing primitives of 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
Outline Remote Object Invocation Message-Oriented Communication Message-Oriented Transient Communication Message-Oriented Persistent Communication Stream-Oriented Communications
Message-Queuing Model (1) Four combinations for loosely-coupled communications using queues. 2-26
Message-Queuing Model (2) Basic interface to a queue in a message-queuing system. 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.
General Architecture of a Message-Queuing System (1) The relationship between queue-level addressing and network-level addressing.
General Architecture of a Message-Queuing System (2) The general organization of a message-queuing system with routers. 2-29
Message Brokers The general organization of a message broker in a messagequeuing system. 2-30
Outline Remote Object Invocation Message-Oriented Communication Stream-Oriented Communications
Data Stream (1) Setting up a stream between two processes across a network.
Data Stream (2) Setting up a stream directly between two devices. 2-35.2
Data Stream (3) An example of multicasting a stream to several receivers.
Specifying QoS (1) Characteristics of the Input Service Required maximum data unit size (bytes) Token bucket rate (bytes/sec) Toke bucket size (bytes) Maximum transmission rate (bytes/sec) Loss sensitivity (bytes) Loss interval ( sec) Burst loss sensitivity (data units) Minimum delay noticed ( sec) Maximum delay variation ( sec) Quality of guarantee A flow specification.
Specifying QoS (2) The principle of a token bucket algorithm.
Setting Up a Stream The basic organization of RSVP for resource reservation in a distributed system.
Synchronization Mechanisms (1) The principle of explicit synchronization on the application level data units.
Synchronization Mechanisms (2) The principle of synchronization as supported by high-level interfaces. 2-41