Last Class: RPCs and RMI

Slides:



Advertisements
Similar presentations
Chapter 4: Communication*
Advertisements

Quality of Service Requirements
T.Sharon-A.Frank 1 Multimedia Quality of Service (QoS)
Dr. Kalpakis CMSC621 Advanced Operating Systems Communication.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Communication Chapter 2. Layered Protocols (1) Layers, interfaces, and protocols in the OSI model. 2-1 Physical: voltage, transmission rate, mechanical,
Lecture 3 Page 1 CS 239, Spring 2001 Interprocess Communications in Distributed Operating Systems CS 239 Distributed Operating Systems April 9, 2001.
EECS122 - UCB 1 CS 194: Distributed Systems Remote Object Invocation, Message- Oriented Communications (Based on textbook slides) Computer Science Division.
1 Communication Inter-process Communication is the heart of a Distributed System Basic mechanisms are: RPC RMI MOM Streams.
Communication. Interprocess Communication The “heart” of every distributed system. Question: how do processes on different machines exchange information?
Persistent and Transient Objects Persistent objects continue to exist even if they aren’t in the address space of a server process Transient objects existence.
CS 582 / CMPE 481 Distributed Systems Communications (cont.)
Chapter 2  Communication 1 Communication Chapter 2.
Computer Science Lecture 2, page 1 CS677: Distributed OS Last Class: Introduction Distributed Systems – A collection of independent computers that appears.
Understanding Networked Applications: A First Course Chapter 12 by David G. Messerschmitt.
02/01/2010CSCI 315 Operating Systems Design1 Interprocess Communication Notice: The slides for this lecture have been largely based on those accompanying.
Univ. of TehranDistributed Operating Systems1 Advanced Operating Systems University of Tehran Dept. of EE and Computer Engineering By: Dr. Nasser Yazdani.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
EEC-681/781 Distributed Computing Systems Lecture 6 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
An adapted reference model for networked communication.
Communication Part II Message-Oriented Communication Chapter 4.
Communication. Asynchronous RPC (1) a)The interconnection between client and server in a traditional RPC b)The interaction using asynchronous RPC 2-12.
Messaging Passing Communication AOS Dan Huang. Why Need Message RPC and ROI hiding communication for transparency. Hiding communication is not an appropriate.
Message-Oriented Communication Synchronous versus asynchronous communications Message-Queuing System Message Brokers Example: IBM MQSeries 02 – 26 Communication/2.4.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Process-to-Process Delivery:
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Communication Chapter 4
Communication. 4.1 Fundamentals 4.2 Remote Procedure Call 4.3 Message-oriented Communication 4.4 Stream-oriented Communication 4.5 Multicast Communication.
OS2-Sem 831, Rasool Jalili Communication Chapter 2.
TCP/IP: Basics1 User Datagram Protocol (UDP) Another protocol at transport layer is UDP. It is Connectionless protocol i.e. no need to establish & terminate.
1 Chapter 2. Communication. STEM-PNU 2 Layered Protocol TCP/IP : de facto standard Our Major Concern Not always 7-layered Protocol But some other protocols.
Support for continuous media Streams in distributed systems Stream management Stream-Oriented Communication 02 – 36 Communication/2.5 Stream-Oriented Communication.
Real-Time & MultiMedia Lab Communication Chapter 2.
SMUCSE 4344 transport layer. SMUCSE 4344 transport layer end-to-end protocols –transport code runs only on endpoint hosts encapsulates network communications.
Distributed (Operating) Systems -Communication in Distributed Systems- Fall 2011 Kocaeli University Computer Engineering Department.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Communication Chapter 2.
Chapter 2 Applications and Layered Architectures Sockets.
Message Oriented Communication Prepared by Himaja Achutha Instructor: Dr. Yanqing Zhang Georgia State University.
3.1 Silberschatz, Galvin and Gagne ©2009Operating System Concepts with Java – 8 th Edition Chapter 3: Processes.
Communication 1. Interprocess Communication The “heart” of every distributed system. Question: how do processes on different machines exchange information?
Inter-process Communication. 2 Berkeley Sockets (I) Socket primitives for TCP/IP. PrimitiveMeaning SocketCreate a new communication endpoint BindAttach.
Distributed Systems Principles and Paradigms Chapter 02 Communication 00 – 1.
Kyung Hee University 1/41 Introduction Chapter 1.
Multimedia and Networks. Protocols (rules) Rules governing the exchange of data over networks Conceptually organized into stacked layers – Application-oriented.
 Communication Distributed Systems IT332. Outline  Fundamentals  Layered network communication protocols  Types of communication  Remote Procedure.
Distributed Computing Systems
Distributed (Operating) Systems -Communication in Distributed Systems- Computer Engineering Department Distributed Systems Course Assoc. Prof. Dr. Ahmet.
Computer Engineering Department Distributed Systems Course
Distributed systems (NET 422) Prepared by Dr. Naglaa Fathi Soliman Princess Nora Bint Abdulrahman University College of computer.
Communication Chapter 2.
OS2-Sem 831, Rasool Jalili Communication Chapter 2.
OS2-Sem 831, Rasool Jalili Communication Chapter 2.
OS2-SUT– Sem ; R. Jalili Communication Chapter 2.
Communication Chapter 2.
Fall 2000M.B. Ibáñez Lecture 26 I/O Systems II. Fall 2000M.B. Ibáñez Application I/O Interface I/O system calls encapsulate device behaviors in generic.
1 Chapter 2. Communication. STEMPusan National University STEM-PNU 2 Layered Protocol TCP/IP : de facto standard Our Major Concern Not always 7-layered.
© C Xu, 1998,2007 Message-Oriented Persistent Communication.
Communication Chapter 4. Introduction  Interprocess Communication is at the heart of all distributed systems.  Communication in distributed systems.
Providing QoS in IP Networks
Communication Chapter 2. Layered Protocols (1) Layers, interfaces, and protocols in the OSI model. 2-1.
OS2-Sharif University of Technology - Sem ; R. Jalili Communication Chapter 2.
1 Prof. Leonardo Mostarda University of Camerino Distributed Systems – Remote Procedure Calls Prof. Leonardo Mostarda-- Camerino,
Last Class: Introduction
Last Class: RPCs and RMI
Message Based Communication
Communication Chapter 2.
Process-to-Process Delivery:
Interprocess Communication
Presentation transcript:

Last Class: RPCs and RMI Case Study: Sun RPC Lightweight RPCs Remote Method Invocation (RMI) Design issues CS677: Distributed OS

Today: Communication Issues Message-oriented communication Persistence and synchronicity Stream-oriented communication CS677: Distributed OS

Persistence and Synchronicity in Communication General organization of a communication system in which hosts are connected through a network 2-20 CS677: Distributed OS

Persistence Persistent communication Messages are stored until (next) receiver is ready Examples: email, pony express CS677: Distributed OS

Transient Communication Message is stored only so long as sending/receiving application are executing Discard message if it can’t be delivered to next server/receiver Example: transport-level communication services offer transient communication Example: Typical network router – discard message if it can’t be delivered next router or destination CS677: Distributed OS

Synchronicity Asynchronous communication Synchronous communication Sender continues immediately after it has submitted the message Need a local buffer at the sending host Synchronous communication Sender blocks until message is stored in a local buffer at the receiving host or actually delivered to sending Variant: block until receiver processes the message Six combinations of persistence and synchronicity CS677: Distributed OS

Persistence and Synchronicity Combinations 2-22.1 Persistent asynchronous communication (e.g., email) Persistent synchronous communication CS677: Distributed OS

Persistence and Synchronicity Combinations 2-22.2 Transient asynchronous communication (e.g., UDP) Receipt-based transient synchronous communication CS677: Distributed OS

Persistence and Synchronicity Combinations Delivery-based transient synchronous communication at message delivery (e.g., asynchronous RPC) Response-based transient synchronous communication (RPC) CS677: Distributed OS

Message-oriented Transient Communication Many distributed systems built on top of simple message-oriented model Example: Berkeley sockets CS677: Distributed OS

Berkeley Socket Primitives 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 CS677: Distributed OS

Message-Passing Interface (MPI) Sockets designed for network communication (e.g., TCP/IP) Support simple send/receive primitives Abstraction not suitable for other protocols in clusters of workstations or massively parallel systems Need an interface with more advanced primitives Large number of incompatible proprietary libraries and protocols Need for a standard interface Message-passing interface (MPI) Hardware independent Designed for parallel applications (uses transient communication) Key idea: communication between groups of processes Each endpoint is a (groupID, processID) pair CS677: Distributed OS

MPI Primitives 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 CS677: Distributed OS

Message-oriented Persistent Communication Message queuing systems Support asynchronous persistent communication Intermediate storage for message while sender/receiver are inactive Example application: email Communicate by inserting messages in queues Sender is only guaranteed that message will be eventually inserted in recipient’s queue No guarantees on when or if the message will be read “Loosely coupled communication” CS677: Distributed OS

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. CS677: Distributed OS

Stream Oriented Communication Message-oriented communication: request-response When communication occurs and speed do not affect correctness Timing is crucial in certain forms of communication Examples: audio and video (“continuous media”) 30 frames/s video => receive and display a frame every 33ms Characteristics Isochronous communication Data transfers have a maximum bound on end-end delay and jitter Push mode: no explicit requests for individual data units beyond the first “play” request CS677: Distributed OS

Single sender and receiver Examples Single sender and receiver One sender Multiple receivers CS677: Distributed OS

Quality of Service (QoS) Time-dependent and other requirements are specified as quality of service (QoS) Requirements/desired guarantees from the underlying systems Application specifies workload and requests a certain service quality Contract between the application and the system 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 CS677: Distributed OS

Specifying QoS: Token bucket The principle of a token bucket algorithm Parameters (rate r, burst b) Rate is the average rate, burst is the maximum number of packets that can arrive simultaneously CS677: Distributed OS

Setting Up a Stream: RSVP CS677: Distributed OS