Last Class: RPCs and RMI. Today: Communication Issues

Similar documents
Communication. Overview

Parallelism. Master 1 International. Andrea G. B. Tettamanzi. Université de Nice Sophia Antipolis Département Informatique

DISTRIBUTED COMPUTER SYSTEMS

Last Class: RPCs. Today:

Today CSCI Remote Method Invocation (RMI) Distributed Objects

Communication. Outline

Distributed Systems COMP 212. Lecture 15 Othon Michail

IPC. Communication. Layered Protocols. Layered Protocols (1) Data Link Layer. Layered Protocols (2)

New Topic: Naming. Differences in naming in distributed and non-distributed systems. How to name mobile entities?

Distributed Information Processing

Computing Parable. New Topic: Naming

Today: Naming. Example: File Names

Chapter 4 Communication

Distributed Systems Principles and Paradigms. Chapter 04: Communication

Interprocess Communication Tanenbaum, van Steen: Ch2 (Ch3) CoDoKi: Ch2, Ch3, Ch5

New Topic: Naming. Approaches

Communication. Layered Protocols. Topics to be covered. Layered Protocols. Introduction

Distributed Systems Principles and Paradigms. Chapter 04: Communication

Chapter 4 Communication

Distributed Systems Inter-Process Communication (IPC) in distributed systems

Communication. Distributed Systems Santa Clara University 2016

Verteilte Systeme (Distributed Systems)

Distributed Systems Principles and Paradigms

Distributed Systems. Communication (2) Schedule of Today. Distributed Objects. Distributed Objects and RMI. Corba IDL Example

Distributed Systems. Communication (2) Lecture Universität Karlsruhe, System Architecture Group

May Gerd Liefländer System Architecture Group Universität Karlsruhe (TH), System Architecture Group

Dr Markus Hagenbuchner CSCI319 SIM. Distributed Systems Chapter 4 - Communication

Distributed Systems. Edited by. Ghada Ahmed, PhD. Fall (3rd Edition) Maarten van Steen and Tanenbaum

Communication. Distributed Systems IT332

CS555: Distributed Systems [Fall 2017] Dept. Of Computer Science, Colorado State University

Real-Time Protocol (RTP)

Advanced Topics in Distributed Systems. Dr. Ayman A. Abdel-Hamid. Computer Science Department Virginia Tech

Chapter 4 Communication

Distributed Systems. Chapter 02

Middleware and Interprocess Communication

Overview. Communication types and role of Middleware Remote Procedure Call (RPC) Message Oriented Communication Multicasting 2/36

MOM MESSAGE ORIENTED MIDDLEWARE OVERVIEW OF MESSAGE ORIENTED MIDDLEWARE TECHNOLOGIES AND CONCEPTS. MOM Message Oriented Middleware

Advanced Distributed Systems

Naming. Distributed Systems IT332

CS454/654 Midterm Exam Fall 2004

Indirect Communication

Remote Invocation. Today. Next time. l Overlay networks and P2P. l Request-reply, RPC, RMI

Indirect Communication

CS 344/444 Computer Network Fundamentals Final Exam Solutions Spring 2007

Multimedia Networking

Today CSCI Communication. Communication in Distributed Systems. Communication in Distributed Systems. Remote Procedure Calls (RPC)

Distributed Systems Course. a.o. Univ.-Prof. Dr. Harald Kosch

Computer Networks. More on Standards & Protocols Quality of Service. Week 10. College of Information Science and Engineering Ritsumeikan University

SAI/ST course Distributed Systems

LECTURE 6: MESSAGE-ORIENTED COMMUNICATION II: MESSAGING IN DISTRIBUTED SYSTEMS

LECTURE 6: MESSAGE-ORIENTED COMMUNICATION II: MESSAGING IN DISTRIBUTED SYSTEMS. Lecture Contents

Communication Paradigms

Dr. Jack Lange Computer Science Department University of Pittsburgh. Fall Distributed System Definition. A distributed system is

EEC-682/782 Computer Networks I

02 - Distributed Systems

Improving QOS in IP Networks. Principles for QOS Guarantees

DISTRIBUTED COMPUTER SYSTEMS

Distributed Systems. Pre-Exam 1 Review. Paul Krzyzanowski. Rutgers University. Fall 2015

Large Systems: Design + Implementation: Communication Coordination Replication. Image (c) Facebook

ECE 650 Systems Programming & Engineering. Spring 2018

TCP/IP protocol suite

CS 403/534 Distributed Systems Midterm April 29, 2004

Distributed Systems Exam 1 Review. Paul Krzyzanowski. Rutgers University. Fall 2016

02 - Distributed Systems

Mohammad Hossein Manshaei 1393

Quality of Service (QoS)

A common issue that affects the QoS of packetized audio is jitter. Voice data requires a constant packet interarrival rate at receivers to convert

Communication in Distributed Systems

Interprocess Communication

ETSF10 Internet Protocols Transport Layer Protocols

06/02/ Local & Metropolitan Area Networks 0. INTRODUCTION. 1. History and Future of TCP/IP ACOE322

Internet Services & Protocols. Quality of Service Architecture

Lecture 13: Application layer

CHAPTER 4: INTERPROCESS COMMUNICATION AND COORDINATION

Transport Protocols. ISO Defined Types of Network Service: rate and acceptable rate of signaled failures.

Congestion in Data Networks. Congestion in Data Networks

User Datagram Protocol

CS 5520/ECE 5590NA: Network Architecture I Spring Lecture 13: UDP and TCP

Master Course Computer Networks IN2097

Master Course Computer Networks IN2097

CS457 Transport Protocols. CS 457 Fall 2014

Network Layer Enhancements

Distributed System: Definition

Topic 4b: QoS Principles. Chapter 9 Multimedia Networking. Computer Networking: A Top Down Approach

Architecture of Software Intensive Systems

II. Principles of Computer Communications Network and Transport Layer

Protocol Specification. Using Finite State Machines

What Is Congestion? Computer Networks. Ideal Network Utilization. Interaction of Queues

Naming. Chapter 4. Naming (1) Name resolution allows a process to access a named entity. A naming system is necessary.

Announcements. me your survey: See the Announcements page. Today. Reading. Take a break around 10:15am. Ack: Some figures are from Coulouris

Systèmes Distribués. Master MIAGE 1. Andrea G. B. Tettamanzi. Université de Nice Sophia Antipolis Département Informatique

Lecture 13: Transportation layer

Transport Layer (TCP/UDP)

RTP. Prof. C. Noronha RTP. Real-Time Transport Protocol RFC 1889

On Distributed Communications, Rand Report RM-3420-PR, Paul Baran, August 1964

CHAPTER - 4 REMOTE COMMUNICATION

Networking and Internetworking 1

of-service Support on the Internet

IP SLAs Overview. Finding Feature Information. Information About IP SLAs. IP SLAs Technology Overview

Quality of Service in the Internet

Transcription:

Last Class: RPCs and RMI Case Study: Sun RPC Lightweight RPCs Remote Method Invocation (RMI) Design issues Lecture 9, page 1 Today: Communication Issues Message-oriented communication Persistence and synchronicity Stream-oriented communication Lecture 9, page 2 1

Persistence and Synchronicity in Communication General organization of a communication system in which hosts are connected through a network 2-20 Lecture 9, page 3 Persistence Persistent communication Messages are stored until (next) receiver is ready Examples: email, pony express Lecture 9, page 4 2

Transient Communication 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 Lecture 9, page 5 Synchronicity Asynchronous 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 Lecture 9, page 6 3

Persistence and Synchronicity Combinations 2-22.1 a) Persistent asynchronous communication (e.g., email) b) Persistent synchronous communication Lecture 9, page 7 Persistence and Synchronicity Combinations 2-22.2 c) Transient asynchronous communication (e.g., UDP) d) Receipt-based transient synchronous communication Lecture 9, page 8 4

Persistence and Synchronicity Combinations e) Delivery-based transient synchronous communication at message delivery (e.g., asynchronous RPC) f) Response-based transient synchronous communication (RPC) Lecture 9, page 9 Message-oriented Transient Communication Many distributed systems built on top of simple message-oriented model Example: Berkeley sockets Lecture 9, page 10 5

Berkeley Socket Primitives Primitive Socket Bind Listen Accept Connect Send Receive Close Meaning Create a new communication endpoint Attach a local address to a socket Announce willingness to accept connections Block caller until a connection request arrives Actively attempt to establish a connection Send some data over the connection Receive some data over the connection Release the connection Lecture 9, page 11 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 Lecture 9, page 12 6

MPI Primitives Primitive MPI_bsend Meaning 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 Lecture 9, page 13 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 Lecture 9, page 14 7

2/28/08 Message-Queuing Model (1) Lecture 9, page 15 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 Lecture 9, page 16 8

2/28/08 General Architecture of a MessageQueuing System (2) Lecture 9, page 17 Message Brokers Lecture 9, page 18 9

2/28/08 IBMʼs WebSphere Message-Queuing System General organization of IBM s message-queuing system. Lecture 9, page 19 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 Lecture 9, page 20 10

Examples Single sender and receiver One sender Multiple receivers Lecture 9, page 21 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 maximum data unit size (bytes) Token bucket rate (bytes/sec) Toke bucket size (bytes) Maximum transmission rate (bytes/ sec) Service Required Loss sensitivity (bytes) Loss interval (µsec) Burst loss sensitivity (data units) Minimum delay noticed (µsec) Maximum delay variation (µsec) Quality of guarantee Lecture 9, page 22 11

Streams and Quality of Service Properties for Quality of Service: The required bit rate at which data should be transported. The maximum delay until a session has been set up The maximum end-to-end delay. The maximum delay variance, or jitter. The maximum round-trip delay. Lecture 9, page 23 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 Lecture 9, page 24 12

2/28/08 Enforcing QoS Enforce at end-points (e.g., token bucket) No network support needed Mark packets and use router support Differentiated services: expedited & assured forwarding Use buffers at receiver to mask jitter Packet losses Handle using forward error correction Use interleaving to reduce impact CS677: Distributed OS Lecture 9, page 25 Enforcing QoS (1) Lecture 9, page 26 13

2/28/08 Enforcing QoS (2) Lecture 9, page 27 Stream synchronization Multiple streams: Audio and video; layered video Need to sync prior to playback Timestamp each stream and sync up data units prior to playback Sender or receiver? CS677: Distributed OS Lecture 9, page 28 14

2/28/08 Synchronization Mechanism Lecture 9, page 29 Multicasting Group communication IP multicast versus application-level multicast Construct an overlay multicast tree rooted at the sender Send packet down each link in the tree Issues: tree construction, dynamic joins and leaves CS677: Distributed OS Lecture 9, page 30 15

2/28/08 Overlay Construction Lecture 9, page 31 New Topic: Naming Names are used to share resources, uniquely identify entities and refer to locations Need to map from name to the entity it refers to E.g., Browser access to www.cnn.com Use name resolution Differences in naming in distributed and non-distributed systems Distributed systems: naming systems is itself distributed How to name mobile entities? CS677: Distributed OS Lecture 9, page 32 16

Example: File Names Hierarchical directory structure (DAG) Each file name is a unique path in the DAG Resolution of /home/steen/mbox a traversal of the DAG File names are human-friendly Lecture 9, page 33 Resolving File Names across Machines Remote files are accessed using a node name, path name NFS mount protocol: map a remote node onto local DAG Remote files are accessed using local names! (location independence) OS maintains a mount table with the mappings Lecture 9, page 34 17

Name Space Distribution Naming in large distributed systems System may be global in scope (e.g., Internet, WWW) Name space is organized hierarchically Single root node (like naming files) Name space is distributed and has three logical layers Global layer: highest level nodes (root and a few children) Represent groups of organizations, rare changes Administrational layer: nodes managed by a single organization Typically one node per department, infrequent changes Managerial layer: actual nodes Frequent changes Zone: part of the name space managed by a separate name server Lecture 9, page 35 Name Space Distribution Example An example partitioning of the DNS name space, including Internet-accessible files, into three layers. Lecture 9, page 36 18

Name Space Distribution Item Global Administrational Managerial Geographical scale of network Worldwide Organization Department Total number of nodes Few Many Vast numbers Responsiveness to lookups Seconds Milliseconds Immediate Update propagation Lazy Immediate Immediate Number of replicas Many None or few None Is client-side caching applied? Yes Yes Sometimes A comparison between name servers for implementing nodes from a large-scale name space partitioned into a global layer, as an administrational layer, and a managerial layer. The more stable a layer, the longer are the lookups valid (and can be cached longer) Lecture 9, page 37 19