Computer Science Lecture 2, page 1 CS677: Distributed OS Last Class: Introduction Distributed Systems – A collection of independent computers that appears.

Slides:



Advertisements
Similar presentations
Dr. Kalpakis CMSC 621, Advanced Operating Systems. Fall 2003 URL: Distributed System Architectures.
Advertisements

Remote Procedure Call (RPC)
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Last Class: RPCs and RMI
Multiple Processor Systems
Definition of a Distributed System (1) A distributed system is: A collection of independent computers that appears to its users as a single coherent system.
Multiple Processor Systems Chapter Multiprocessors 8.2 Multicomputers 8.3 Distributed systems.
Lecture 3 Page 1 CS 239, Spring 2001 Interprocess Communications in Distributed Operating Systems CS 239 Distributed Operating Systems April 9, 2001.
Tutorials 2 A programmer can use two approaches when designing a distributed application. Describe what are they? Communication-Oriented Design Begin with.
1 Java Networking – Part I CS , Spring 2008/9.
CS 582 / CMPE 481 Distributed Systems Communications (cont.)
Introducing … Distributed Systems.
1 Introduction Chapter 1. 2 Definition of a Distributed System (1) A distributed system is: A collection of independent computers that appears to its.
Multiple Processor Systems 8.1 Multiprocessors 8.2 Multicomputers 8.3 Distributed systems.
An Introduction to Internetworking. Why distributed systems - Share resources (devices & CPU) - Communicate people (by transmitting data)
An Introduction to Internetworking. Algorithm for client-server communication with UDP (connectionless) A SERVER A CLIENT Create a server-socket (listener)and.
.NET Mobile Application Development Remote Procedure Call.
Lecture 8 Epidemic communication, Server implementation.
Chapter 4.1 Interprocess Communication And Coordination By Shruti Poundarik.
DISTRIBUTED COMPUTING
Ch4: Distributed Systems Architectures. Typically, system with several interconnected computers that do not share clock or memory. Motivation: tie together.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Chapter 9 Message Passing Copyright © Operating Systems, by Dhananjay Dhamdhere Copyright © Operating Systems, by Dhananjay Dhamdhere2 Introduction.
Inter-process Communication and Coordination Chaitanya Sambhara CSC 8320 Advanced Operating Systems.
1 Chapter Client-Server Interaction. 2 Functionality  Transport layer and layers below  Basic communication  Reliability  Application layer.
CH2 System models.
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.
Jozef Goetz, Application Layer PART VI Jozef Goetz, Position of application layer The application layer enables the user, whether human.
COT 4600 Operating Systems Fall 2009 Dan C. Marinescu Office: HEC 439 B Office hours: Tu-Th 3:00-4:00 PM.
Distributed Systems Principles and Paradigms Chapter 02 Communication 00 – 1.
ICOM 6115©Manuel Rodriguez-Martinez ICOM 6115 – Computer Networks and the WWW Manuel Rodriguez-Martinez, Ph.D. Lecture 26.
Architectures of distributed systems Fundamental Models
Distributed (Operating) Systems -Communication in Distributed Systems- Fall 2011 Kocaeli University Computer Engineering Department.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
OS2- Sem ; R. Jalili Introduction Chapter 1.
Kyung Hee University 1/41 Introduction Chapter 1.
3.1 Silberschatz, Galvin and Gagne ©2009Operating System Concepts with Java – 8 th Edition Chapter 3: Processes.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved RPC Tanenbaum.
The InetAddress Class A class for storing and managing internet addresses (both as IP numbers and as names). The are no constructors but “class factory”
Distributed Computing A Programmer’s Perspective.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
Chapter 5: Distributed objects and remote invocation Introduction Remote procedure call Events and notifications.
 Communication Distributed Systems IT332. Outline  Fundamentals  Layered network communication protocols  Types of communication  Remote Procedure.
OS2- Sem1-83; R. Jalili Introduction Chapter 1. OS2- Sem1-83; R. Jalili Definition of a Distributed System (1) A distributed system is: A collection of.
1 Client-Server Interaction. 2 Functionality Transport layer and layers below –Basic communication –Reliability Application layer –Abstractions Files.
Distributed Systems: Principles and Paradigms By Andrew S. Tanenbaum and Maarten van Steen.
Definition of a Distributed System (1) A distributed system is: A collection of independent computers that appears to its users as a single coherent system.
Distributed (Operating) Systems -Communication in Distributed Systems- Computer Engineering Department Distributed Systems Course Assoc. Prof. Dr. Ahmet.
Computer Engineering Department Distributed Systems Course
Introduction Chapter 1. Definition of a Distributed System (1) A distributed system is: A collection of independent computers that appears to its users.
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
Distributed Systems Unit – 1 Concepts of DS By :- Maulik V. Dhamecha Maulik V. Dhamecha (M.Tech.)
Computer Science Lecture 3, page 1 CS677: Distributed OS Last Class: Communication in Distributed Systems Structured or unstructured? Addressing? Blocking/non-blocking?
Distributed Computing Systems CSCI 6900/4900. Review Definition & characteristics of distributed systems Distributed system organization Design goals.
1 Chapter 2. Communication. STEMPusan National University STEM-PNU 2 Layered Protocol TCP/IP : de facto standard Our Major Concern Not always 7-layered.
TEXT: Distributed Operating systems A. S. Tanenbaum Papers oriented on: 1.OS Structures 2.Shared Memory Systems 3.Advanced Topics in Communications 4.Distributed.
© Oxford University Press 2011 DISTRIBUTED COMPUTING Sunita Mahajan Sunita Mahajan, Principal, Institute of Computer Science, MET League of Colleges, Mumbai.
1 Network Communications A Brief Introduction. 2 Network Communications.
R Some of these slides are from Prof Frank Lin SJSU. r Minor modifications are made. 1.
Computer Science Lecture 4, page 1 CS677: Distributed OS Last Class: RPCs RPCs make distributed computations look like local computations Issues: –Parameter.
Distributed Computing & Embedded Systems Chapter 4: Remote Method Invocation Dr. Umair Ali Khan.
Communication in Distributed Systems. . The single most important difference between a distributed system and a uniprocessor system is the interprocess.
Last Class: Introduction
Definition of Distributed System
#01 Client/Server Computing
Advanced Operating Systems
Sarah Diesburg Operating Systems COP 4610
Multiple Processor Systems
#01 Client/Server Computing
Presentation transcript:

Computer Science Lecture 2, page 1 CS677: Distributed OS Last Class: Introduction Distributed Systems – A collection of independent computers that appears to its users as a single coherent system Hardware concepts –Multiprocessors, multi-computers Beyond uni-processor operating systems –Distributed OS –Network OS –Middleware OS –Complementary properties

Computer Science Lecture 2, page 2 CS677: Distributed OS Communication in Distributed Systems Issues in communication (today) Message-oriented Communication Remote Procedure Calls –Transparency but poor for passing references Remote Method Invocation –RMIs are essentially RPCs but specific to remote objects –System wide references passed as parameters Stream-oriented Communication

Computer Science Lecture 2, page 3 CS677: Distributed OS Communication Between Processes Unstructured communication –Use shared memory or shared data structures Structured communication –Use explicit messages (IPCs) Distributed Systems: both need low-level communication support (why?)

Computer Science Lecture 2, page 4 CS677: Distributed OS Communication Protocols Protocols are agreements/rules on communication Protocols could be connection-oriented or connectionless 2-1

Computer Science Lecture 2, page 5 CS677: Distributed OS Layered Protocols A typical message as it appears on the network. 2-2

Computer Science Lecture 2, page 6 CS677: Distributed OS Client-Server TCP a)Normal operation of TCP. b)Transactional TCP. 2-4

Computer Science Lecture 2, page 7 CS677: Distributed OS Middleware Protocols Middleware: layer that resides between an OS and an application –May implement general-purpose protocols that warrant their own layers Example: distributed commit 2-5

Computer Science Lecture 2, page 8 CS677: Distributed OS Client-Server Communication Model Structure: group of servers offering service to clients Based on a request/response paradigm Techniques: –Socket, remote procedure calls (RPC), Remote Method Invocation (RMI) kernel client kernel file server process server terminal server

Computer Science Lecture 2, page 9 CS677: Distributed OS Issues in Client-Server Communication Addressing Blocking versus non-blocking Buffered versus unbuffered Reliable versus unreliable Server architecture: concurrent versus sequential Scalability

Computer Science Lecture 2, page 10 CS677: Distributed OS Addressing Issues Question: how is the server located? Hard-wired address –Machine address and process address are known a priori Broadcast-based –Server chooses address from a sparse address space –Client broadcasts request –Can cache response for future Locate address via name server userserver userserver userserverNS

Computer Science Lecture 2, page 11 CS677: Distributed OS Blocking versus Non-blocking Blocking communication (synchronous) –Send blocks until message is actually sent –Receive blocks until message is actually received Non-blocking communication (asynchronous) –Send returns immediately –Return does not block either Examples:

Computer Science Lecture 2, page 12 CS677: Distributed OS Buffering Issues Unbuffered communication –Server must call receive before client can call send Buffered communication –Client send to a mailbox –Server receives from a mailbox userserver userserver

Computer Science Lecture 2, page 13 CS677: Distributed OS Reliability Unreliable channel –Need acknowledgements (ACKs) –Applications handle ACKs –ACKs for both request and reply Reliable channel –Reply acts as ACK for request –Explicit ACK for response Reliable communication on unreliable channels –Transport protocol handles lost messages request ACK reply ACK User Server request reply ACK User Server

Computer Science Lecture 2, page 14 CS677: Distributed OS Server Architecture Sequential –Serve one request at a time –Can service multiple requests by employing events and asynchronous communication Concurrent –Server spawns a process or thread to service each request –Can also use a pre-spawned pool of threads/processes (apache) Thus servers could be –Pure-sequential, event-based, thread-based, process-based Discussion: which architecture is most efficient?

Computer Science Lecture 2, page 15 CS677: Distributed OS Scalability Question:How can you scale the server capacity? Buy bigger machine! Replicate Distribute data and/or algorithms Ship code instead of data Cache

Computer Science Lecture 2, page 16 CS677: Distributed OS To Push or Pull ? Client-pull architecture –Clients pull data from servers (by sending requests) –Example: HTTP –Pro: stateless servers, failures are each to handle –Con: limited scalability Server-push architecture –Servers push data to client –Example: video streaming, stock tickers –Pro: more scalable, Con: stateful servers, less resilient to failure When/how-often to push or pull?

Computer Science Lecture 2, page 17 CS677: Distributed OS Group Communication One-to-many communication: useful for distributed applications Issues: –Group characteristics: Static/dynamic, open/closed –Group addressing Multicast, broadcast, application-level multicast (unicast) –Atomicity –Message ordering –Scalability

Computer Science Lecture 2, page 18 CS677: Distributed OS Putting it all together: User uses mail client to compose a message Mail client connects to mail server Mail server looks up address to destination mail server Mail server sets up a connection and passes the mail to destination mail server Destination stores mail in input buffer (user mailbox) Recipient checks mail at a later time

Computer Science Lecture 2, page 19 CS677: Distributed OS Design Considerations Structured or unstructured? Addressing? Blocking/non-blocking? Buffered or unbuffered? Reliable or unreliable? Server architecture Scalability Push or pull? Group communication