Distributed System Structures CSCI 444/544 Operating Systems Fall 2008.

Slides:



Advertisements
Similar presentations
Network Certification Preparation. Module - 1 Communication methods OSI reference model and layered communication TCP/IP model TCP and UDP IP addressing.
Advertisements

Silberschatz, Galvin and Gagne  Operating System Concepts Chap15: Distributed System Structures Background Topology Network Types Communication.
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science Emery Berger University of Massachusetts Amherst Operating Systems CMPSCI 377 Lecture.
NETWORK STRUCTURES This chapter sets the foundation for our discussion about networks and distributed OS. VOCABULARY   Tightly coupled systems Same clock,
Distributed System Structures CS 3100 Distributed System Structures1.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Module 16: Distributed System Structures.
Networks Types. Spring 2002Computer Network Applications Data Transfer During the ’70s: Minicomputers became affordable; Need to communicate information;
Department of Computer Engineering University of California at Santa Cruz Networking Systems (1) Hai Tao.
04/26/2004CSCI 315 Operating Systems Design1 Computer Networks.
Service Providers & Data Link & Physical layers Week 4 Lecture 1.
OS Fall’02 Introduction to Networking and Distributed Systems Operating Systems Fall 2002.
Bob Baker Communications Bob Baker September 1999.
LAN Risanuri Hidayat. LAN-Local Area Network A LAN is a high-speed data network that covers a relatively small geographic area. It typically connects.
TCP: Software for Reliable Communication. Spring 2002Computer Networks Applications Internet: a Collection of Disparate Networks Different goals: Speed,
1 Networking A computer network is a collection of computing devices that are connected in various ways in order to communicate and share resources. The.
COMPUTER NETWORKS.
Distributed System Structures 16: Distributed Structures
Lecture 8 Modeling & Simulation of Communication Networks.
Module 4 - Networking MIS5122: Enterprise Architecture for the IT Auditor.
CS 149: Operating Systems April 23 Class Meeting Department of Computer Science San Jose State University Spring 2015 Instructor: Ron Mak
Chapter 4.  Understand network connectivity.  Peer-to-Peer network & Client-Server network  Understand network topology  Star, Bus & Ring topology.
CP476 Internet ComputingCh.1 # 1 Lecture 2. A Brief Introduction to the Internet The objective is to understand The history of Internet What the Internet.
Chapter 2 The Infrastructure. Copyright © 2003, Addison Wesley Understand the structure & elements As a business student, it is important that you understand.
70-291: MCSE Guide to Managing a Microsoft Windows Server 2003 Network Chapter 3: TCP/IP Architecture.
Lecture 9 Networked Systems Network Operating Systems Introduction to Sockets TCP Client-Server Applications.
1 Module 15: Network Structures n Topology n Network Types n Communication.
Operating Systems Lesson 10. Networking Communications protocol is the set of standard rules for ◦ Data representation ◦ Signaling ◦ Authentication ◦
Our Last Class!!  summary  what does the future look like?
1 Next Few Classes Networking basics Protection & Security.
1 The Internet and Networked Multimedia. 2 Layering  Internet protocols are designed to work in layers, with each layer building on the facilities provided.
Overview of computer communication and Networking Communication VS transmission Computer Network Types of networks Network Needs Standards.
Computer Security Workshops Networking 101. Reasons To Know Networking In Regard to Computer Security To understand the flow of information on the Internet.
IT 344: Operating Systems Winter 2008 Module 19 Networking & Remote Procedure Call (RPC) Chia-Chi Teng CTB 265.
Module 16: Distributed System Structures
CSE 451: Operating Systems Winter 2015 Module 22 Remote Procedure Call (RPC) Mark Zbikowski Allen Center 476 © 2013 Gribble, Lazowska,
Networking Fundamentals. Basics Network – collection of nodes and links that cooperate for communication Nodes – computer systems –Internal (routers,
Lecture Topics: 11/27 Networks Layered Model Ethernet IP.
Silberschatz and Galvin  Operating System Concepts Module 15: Network Structures Background Motivation Topology Network Types Communication.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 16: Distributed System Structures.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Module 16: Distributed System Structures.
CCNA Guide to Cisco Networking Chapter 2: Network Devices.
Networks. Ethernet  Invented by Dr. Robert Metcalfe in 1970 at Xerox Palo Alto Research Center  Allows group of computers to communicate in a Local.
Higher Computing Networking. Networking – Local Area Networks.
 2004 Deitel & Associates, Inc. All rights reserved. Chapter 16 – Networking Outline 16.1Introduction 16.2Network Topology 16.3Network Types 16.4TCP/IP.
Intro to Distributed Systems and Networks Hank Levy.
Chapter 14: Distributed Operating Systems Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Apr 4, 2005 Outline n Motivation.
Renesas Electronics America Inc. © 2010 Renesas Electronics America Inc. All rights reserved. Overview of Ethernet Networking A Rev /31/2011.
Module 16: Distributed System Structures Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Apr 4, 2005 Distributed.
Operating Systems Network Structures. Topics –Background –Motivation –Topology –Network Types –Communication –Design Strategies Topics –Background –Motivation.
CS307 Operating Systems Distributed System Structures Guihai Chen Department of Computer Science and Engineering Shanghai Jiao Tong University Spring 2012.
Intro to Distributed Systems Hank Levy. 23/20/2016 Distributed Systems Nearly all systems today are distributed in some way, e.g.: –they use –they.
The OSI Model. Understanding the OSI Model In early 1980s, manufacturers began to standardize networking so that networks from different manufacturers.
Client-server communication Prof. Wenwen Li School of Geographical Sciences and Urban Planning 5644 Coor Hall
CPS110: Networks Landon Cox March 25, Network hardware reality  Lots of different network interface cards (NICs)  3Com/Intel, Ethernet/802.11x.
Chapter 16 – Networking Outline 16.1 Introduction
LAN Risanuri Hidayat.
Module 16: Distributed System Structures
Chapter 16: Distributed System Structures
Module 15: Network Structures
CSE 451: Operating Systems Winter 2006 Module 20 Remote Procedure Call (RPC) Ed Lazowska Allen Center
TCP/IP Networking An Example
CSE 451: Operating Systems Autumn 2003 Lecture 16 RPC
CSE 451: Operating Systems Winter 2007 Module 20 Remote Procedure Call (RPC) Ed Lazowska Allen Center
CSE 451: Operating Systems Winter 2004 Module 19 Remote Procedure Call (RPC) Ed Lazowska Allen Center
CSE 451: Operating Systems Spring 2012 Module 22 Remote Procedure Call (RPC) Ed Lazowska Allen Center
CSE 451: Operating Systems Autumn 2009 Module 21 Remote Procedure Call (RPC) Ed Lazowska Allen Center
CSE 451: Operating Systems Autumn 2010 Module 21 Remote Procedure Call (RPC) Ed Lazowska Allen Center
CSE 451: Operating Systems Winter 2003 Lecture 16 RPC
CSE 451: Operating Systems Messaging and Remote Procedure Call (RPC)
Presentation transcript:

Distributed System Structures CSCI 444/544 Operating Systems Fall 2008

Agenda Motivation Network structure Fundamental network services Sockets and ports Client/server model Remote Procedure Call (RPC)

Motivation So far, we talked about mechanisms and policies that –Virtualize the underlying machine –Support multi-programming of a single machine With the proliferation of cheap but powerful machines (devices) and ubiquitous network connections –Computing is occurring on more than one machine

Why Distributed Systems? Distributed system vs. mainframe –Microprocessors offer better price/performance –More scalable => more computing power –Inherent distribution, e.g. computer-supported cooperative work –Reliability, Incremental growth Distributed system vs. independent PCs –Some applications require sharing of data, e.g. airline reservations –Sharing of hardware, e.g. expensive devices (color laser printer) –Easier human-to-human communication, e.g. electronic mail –Spread the workload over the machines in the most effective way

Distributed System Distributed system is a collection of loosely coupled processors interconnected by a communications network Reasons for distributed systems –Resource sharing sharing and printing files at remote sites processing information in a distributed database using remote specialized hardware devices –Computation speedup – load sharing –Reliability – detect and recover from site failure, function transfer, reintegrate failed site –Communication – message passing

A Distributed System

Network Structure (LAN) Local-Area Network (LAN) – designed to cover small geographical area (campus networks or enterprise networks). –Multiaccess bus, ring, or star network –Speed  100 megabits/second, or higher –Broadcast is fast and cheap –Nodes: usually workstations and/or personal computers a few (usually one or two) mainframes

Ethernet (a) classic Ethernet (b) switched Ethernet Computer (a) (b)

Network Structure (WAN) Wide-Area Network (WAN) – links geographically separated LANs –Point-to-point connections over long-haul lines (optical fiber), microwave, and satellite –Hosts and routers Hosts are PCs, laptops, servers, and mainframes Routers are specialized switching computers that forward packets and connect networks together.

The Internet

Message Delivery

ISO 7-layer Network Model

The ISO Network Message

Internet protocol stack application: supporting network applications –FTP, SMTP, STTP transport: host-host data transfer –TCP, UDP network: routing of datagrams from source to destination –IP, routing protocols link: data transfer between neighboring network elements –Ethernet, Wireless LAN physical: bits “on the wire” application transport network link physical

IP Hourglass Everything is on IP IP is on everything

Fundamental Services Naming service (name resolution) - How do two processes locate each other to communicate? –DNS: IP address host name –ARP: IP address MAC address Routing service - How are messages sent through the network? Connection strategies - How do two processes send a sequence of messages? Contention - How to access a shared medium, i.e., how do we resolve conflicting demands for its use?

Domain Name System (DNS) DNS is mainly used to translate a hostname into an IP address –DNS uses hierarchy to allow local management –Split up the data into a hierarchical database

Address Resolution Protocol (ARP) A host broadcasts on a LAN a query packet asking for a translation from IP address to MAC address (Media Access Control) Hosts which know the translation reply Each host knows its own IP and MAC (physical) translation –Each host caches a list of IP-to-MAC translations Reverse ARP (RARP) translates MAC to IP address and it is used to assign IP addresses dynamically

Routing Services Provided by IP layer Routing is difficult for large systems, and for systems that change rapidly. –The Internet is both large and dynamic –Intra-domain routing protocol RIP (distance vector based) OSPF (link state based) – Inter-domain routing protocol BGP (path vector policy-based)

Connection Strategies Circuit Switching –what you get when you make a phone call –good when you require constant bit rate –good for reserving bandwidth (refuse connection if bandwidth not available) Packet Switching –what you get when you send a bunch of letters –network bandwidth consumed only when sending –packets are routed independently –packetizing may reduce delays (using parallelism)

Contention CSMA/CD - Carrier sense with multiple access (CSMA); collision detection (CD) –CSMA: listen before transmit Collision can still occur due to propagation delay –Collisions detected within short time, then Stop transmitting, wait for a random time –CSMA/CD is used successfully in Ethernet Token passing - A unique message type, known as a token, continuously circulates in the system –A site that wants to transmit information must wait until the token arrives –When the site completes its round of message passing, it retransmits the token Several hosts may want to transmit information over a shared link simultaneously. Techniques to avoid repeated collisions include:

Sockets A process can ask the OS to create a “socket”, which will be one endpoint of a network connection –Thread is like a virtual processor –Address space is like a virtual memory –A socket is like a virtual network interface card

Ports Each socket on a computer has a unique number –A process can associate a specific port number with a socket –When sending messages through a socket The destination port number is included in each message This allows the destination machine to know which process should receive the message

Client/Server Model The prevalent model for structuring distributed computation is the client/server paradigm –a server is a program (or collection of programs) that provides a service to other programs e.g., file server, name server, web server, mail server … server/service may span multiple nodes (clusters) –often, nodes are called servers too –e,g., the web server runs on a Dell server computer –a client is a program that uses the service the client first binds to the server –locates it, establishes a network connection to it the client then sends requests (with data) to perform actions, and the server sends responses (with data) –e.g., web browser sends a “GET” request, server responds with a web page

Remote Procedure Call Why RPC? – Procedure call is an accepted and well-understood mechanism for control transfer within a program Presumably, accepted is equivalent to “good” – clean semantics – Providing procedure call semantics for distributed computing makes distributed computing much more like programming on a single machine Don’t have to worry about remote execution except … – Abstraction helps to hide: The possibly heterogeneous nature of the hardware platform The fact that the distributed machines do not share memory

RPC Structure client program server program client stub server stub callreturn call network RPC ML Binding Marshalling & Unmarshalling Send/receive messages

RPC Structure (Cont’d) Stubs make RPCs look “just” like normal procedure calls Binding –Naming –Location Marshalling & Unmarshalling –Translate internal data  message representation –How to transmit pointer-based data structure (e.g. graph)? Serialization –How to transmit data between heterogeneous machines? Virtual data types Send/receive messages

Remote Procedure Call Steps in making a remote procedure call –the stubs are shaded gray

RPC binding Binding is the process of connecting the client to the server –the server, when it starts up, exports its interface identifies itself to a network name server tells RPC runtime that it is alive and ready to accept calls –the client, before issuing any calls, imports the server RPC runtime uses the name server to find the location of the server and establish a connection The import and export operations are explicit in the server and client programs –a slight breakdown in transparency

RPC marshalling Marshalling is the packing of procedure parameters into a message packet –the RPC stubs call type-specific procedure to marshal or unmarshal the parameters of an RPC the client stub marshals the parameters into a message the server stub unmarshals the parameters and uses them to invoke the service’s procedure –on return: the server stub marshals the return value the client stub unmarshals the return value, and returns them to the client program

RPC transparency One goal of RPC is to be as transparent as possible –make remote procedure calls look like local procedure calls –we’ve seen that binding breaks this transparency What else breaks transparency? –failures: remote nodes/networks can fail in more ways than with local procedure calls –performance: remote communication is inherently slower than local communication