Chapter 4: Communication*

Slides:



Advertisements
Similar presentations
Multiple Processor Systems
Advertisements

Streaming Video over the Internet
1 Communication in Distributed Systems REKs adaptation of Tanenbaums Distributed Systems Chapter 2.
Categories of I/O Devices
CCNA – Network Fundamentals
T.Sharon-A.Frank 1 Multimedia Quality of Service (QoS)
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Last Class: RPCs and RMI
Motivation Application driven -- VoD, Information on Demand (WWW), education, telemedicine, videoconference, videophone Storage capacity Large capacity.
1 Synchronization TTM4142, 2007 Harald Øverby/Leif Arne Rønningen.
Multimedia- and Web-based Information Systems Lecture 3.
Department of Computer Engineering University of California at Santa Cruz Networking Systems (1) Hai Tao.
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.
EE 4272Spring, 2003 Protocols & Architecture A Protocol Architecture is the layered structure of hardware & software that supports the exchange of data.
CSc 461/561 CSc 461/561 Multimedia Systems 0. Introduction.
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.
TCP: Software for Reliable Communication. Spring 2002Computer Networks Applications Internet: a Collection of Disparate Networks Different goals: Speed,
Chapter 4.1 Interprocess Communication And Coordination By Shruti Poundarik.
An adapted reference model for networked communication.
Messaging Passing Communication AOS Dan Huang. Why Need Message RPC and ROI hiding communication for transparency. Hiding communication is not an appropriate.
Process-to-Process Delivery:
CS 218 F 2003 Nov 3 lecture:  Streaming video/audio  Adaptive encoding (eg, layered encoding)  TCP friendliness References: r J. Padhye, V.Firoiu, D.
CIS679: RTP and RTCP r Review of Last Lecture r Streaming from Web Server r RTP and RTCP.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
ISO Layer Model Lecture 9 October 16, The Need for Protocols Multiple hardware platforms need to have the ability to communicate. Writing communications.
Presentation on Osi & TCP/IP MODEL
1 Chapter Client-Server Interaction. 2 Functionality  Transport layer and layers below  Basic communication  Reliability  Application layer.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Huda AL_Omairl - Network 71 Protocols and Network Software.
Support for continuous media Streams in distributed systems Stream management Stream-Oriented Communication 02 – 36 Communication/2.5 Stream-Oriented Communication.
 An ISO is a multi national body dedicated to worldwide agreement on international standards.  An ISO standard that covers all aspects of network communications.
Data and Computer Communications Chapter 2 – Protocol Architecture, TCP/IP, and Internet-Based Applications.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
9 September 2008CIS 340 # 1 Topics reviewTo review the communication needs to support the architectures variety of approachesTo examine the variety of.
Chapter 12 Transmission Control Protocol (TCP)
7/26/ Design and Implementation of a Simple Totally-Ordered Reliable Multicast Protocol in Java.
Dr. John P. Abraham Professor University of Texas Pan American Internet Applications and Network Programming.
Delivery, Forwarding, and Routing of IP Packets
Chapter 15 – Part 2 Networks The Internal Operating System The Architecture of Computer Hardware and Systems Software: An Information Technology Approach.
Message Oriented Communication Prepared by Himaja Achutha Instructor: Dr. Yanqing Zhang Georgia State University.
03/11/2015 Michael Chai; Behrouz Forouzan Staffordshire University School of Computing Streaming 1.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved RPC Tanenbaum.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
CS Spring 2014 CS 414 – Multimedia Systems Design Lecture 18 – Multimedia Transport (Part 1) Klara Nahrstedt Spring 2014.
Prepared by Engr.Jawad Ali BSc(Hons)Computer Systems Engineering University of Engineering and Technology Peshawar.
Distributed (Operating) Systems -Communication in Distributed Systems- Computer Engineering Department Distributed Systems Course Assoc. Prof. Dr. Ahmet.
Protocol Specification Prof Pallapa. Venkataram Department of Electrical Communication Engineering Indian Institute of Science Bangalore – , India.
Computer Engineering Department Distributed Systems Course
OS2-SUT– Sem ; R. Jalili Communication Chapter 2.
Multimedia Synchronization I. Fatimah Alzahrani. Definitions Multimedia System : A system or application that supports the integrated processing of several.
Communication Chapter 2.
Introduction to Quality of Service Klara Nahrstedt CS 538.
1 Kyung Hee University Chapter 11 User Datagram Protocol.
McGraw-Hill Chapter 23 Process-to-Process Delivery: UDP, TCP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
OS2-Sharif University of Technology - Sem ; R. Jalili Communication Chapter 2.
UDP: User Datagram Protocol. What Can IP Do? Deliver datagrams to hosts – The IP address in a datagram header identify a host – treats a computer as an.
Introduction to Multimedia
Chapter 3 Internet Applications and Network Programming
Last Class: RPCs and RMI
Message Based Communication
Communication Chapter 2.
Chapter 14 User Datagram Protocol (UDP)
Process-to-Process Delivery:
Process-to-Process Delivery: UDP, TCP
Computer Networks Protocols
Presentation transcript:

Chapter 4: Communication* Message-Oriented Communication & Stream-Oriented Communication *Referred to slides by Manhyung Han at Kyung Hee University, Hitesh Ballani at Cornell University, and Mary Ellen Weisskopf at University of Alabama in Huntsville

Review In a distributed system, processes run on different machines exchange information through message passing Successful distributed systems depend on communication models that hide or simplify message passing

Middleware Communication Techniques Remote Procedure Call Message-Oriented Communication Stream-Oriented Communication Multicast Communication

Types of Communication Persistent versus transient Synchronous versus asynchronous Discrete versus streaming

Persistent versus Transient Communication Persistent: messages are held by the middleware comm. service until they can be delivered (e.g., email) Sender can terminate after executing send Receiver will get message next time it runs Transient: messages exist only while the sender and receiver are running Communication errors or inactive receiver cause the message to be discarded Transport-level communication is transient RPC? If the router can’t forward the message it will drop it.

Asynchronous v Synchronous Communication Asynchronous: (non-blocking) sender resumes execution as soon as the message is passed to the communication/middleware software Synchronous: sender is blocked until The OS or middleware notifies acceptance of the message, or The message has been delivered to the receiver, or The receiver processes it & returns a response

Evaluation Fully synchronous primitives may slow processes down, but program behavior is easier to understand In multithreaded processes, blocking is not as big a problem because a special thread can be created to wait for messages

Discrete versus Streaming Communication Discrete: communicating parties exchange discrete messages Streaming: one-way communication; a “session” consists of multiple messages from the sender that are related either by send order (TCP streams), temporal proximity (multimedia streams), etc.

Message Oriented Communication RPC supports access transparency, but is not always appropriate Message-oriented communication is more flexible RPC is usually synchronous, and is transient.

Message Passing Interface (MPI) Designed for parallel applications using transient communication MPI is a standardized and portable message-passing system designed by a group of researchers from academia and industry used in many environments, e.g., clusters platform independent

Message Primitives Asynchronous: e.g. MPI_bsend Synchronous: e.g. MPI_send, MPI_ssend, MPI_sendrecv:

MPI Apps versus C/S Processes in an MPI-based parallel system act more like peers (or peer slaves to a master processor) Communication may involve message exchange in multiple directions C/S communication is more structured

Message-Oriented Middleware (MOM) - Persistent Processes communicate through message queues Queues are maintained by the message-queuing system Sender appends to queue, receiver removes from queue Neither the sender nor receiver needs to be on-line when the message is transmitted

4.4 Stream-Oriented Communication RPC and message-oriented communication are based on the exchange of discrete messages Timing might affect performance, but not correctness In stream-oriented communication the message content (multimedia streams) must be delivered at a certain rate, as well as correctly e.g., music or video

Discrete and Continuous Media Media: means by which information is conveyed Types of media Discrete media No temporal dependence between data items ex) text, still images, object code or executable files Continuous media Temporal dependence between data items ex) Motion - series of images

Data Streams Data stream = sequence of data items Can apply to discrete, as well as continuous media e.g. UNIX pipes or TCP/IP connections which are both byte oriented (discrete) streams Messages are related by send order Audio and video require continuous time-based data streams

Data Streams Asynchronous transmission mode: the order is important, and data is transmitted one after the other, no restriction to when data is to be delivered Synchronous transmission mode defines a maximum end-to-end delay for individual data packets Isochronous transmission mode has a maximum and minimum end-to-end delay requirement (jitter is bounded) Not too slow, but not too fast either

Distributed System Support Data compression, particularly for video Quality of the transmission Synchronization

An example of multicasting a stream to several receivers Filter to reduce the data rate of the media content Figure. 2-36 An example of multicasting a stream to several receivers

The Internet only provides best-effort services and has no guarantees on the QoS for multimedia data transmission.

The Internet only provides best-effort services and has no guarantees on the QoS for multimedia data transmission. So, distributed system support is needed, for instance,

Figure 4-28. The effect of packet loss in (a) non interleaved transmission and (b) interleaved transmission.

Lip synchronization of audio and video streams Stereo audio with CD quality (two sequences of 16 bit samples) Sampling rate 44.1 KHz -> synchronize 22.6 micro sec NTSC: short for National Television System Committee NTSC is the video system or standard used in North America and most of South America. In NTSC, 30 frames are transmitted each second. Each frame is made up of 525 individual scan lines. Lip synchronization of audio and video streams Video stream: NTSC standard of 30Hz (a frame every 33.33 ms), Audio stream: CD Quality sound Synchronized every 1470 sound samples

Synchronization Mechanisms(1) Figure. 2-40 The principle of explicit synchronization on the data units Synchronization Mechanisms(1) read&write data units of several simple streams adhere to specific timing and synchronization constraints

For example, a movie composed of A video stream of low-quality images of 320x240 pixels, i.e., 76,800 bytes video data units; A audio stream: audio samples group into units of 11,760 bytes, each corresponding to 33 ms of audio; If the input process can handle 2.5 MB/sec, lip synchronization is achieved by alternating between reading an image and reading a block of audio samples every 33 ms.

Synchronization Mechanisms(2) Figure. 2-41 The principle of synchronization as supported by high-level interfaces Synchronization Mechanisms(2) Synchronization achieved by middleware according to application instructions, e.g., desired image display rate

The principle of synchronization as supported by high-level interfaces Figure. 2-41 The principle of synchronization as supported by high-level interfaces MPEG: moving picture expert group MPEG is a standard for lossy compression of video and audio. MPEG transport stream (MPEG-TS, MTS or TS) is a standard format for transmission and storage of audio, video,