CSE 451: Operating Systems Winter 2007 Module 21 Distributed Systems

Slides:



Advertisements
Similar presentations
Categories of I/O Devices
Advertisements

Computer networks Fundamentals of Information Technology Session 6.
CSE 451: Operating Systems Spring 2013 Module 24 Distributed Systems Ed Lazowska Allen Center 570 © 2013 Gribble, Lazowska,
Intro to Distributed Systems Hank Levy. 25/24/2015 Distributed Systems Nearly all systems today are distributed in some way, e.g.: –they use –they.
GrapevineCS-4513, D-Term Introduction to the Grapevine Distributed System CS-4513 Distributed Computing Systems.
Distributed Hardware How are computers interconnected ? –via a bus-based –via a switch How are processors and memories interconnected ? –Private –shared.
DISTRIBUTED COMPUTING
Computer Networks IGCSE ICT Section 4.
Common Services in a network Server : provide services Type of Services (= type of servers) –file servers –print servers –application servers –domain servers.
1 Lecture 20: Parallel and Distributed Systems n Classification of parallel/distributed architectures n SMPs n Distributed systems n Clusters.
Local Area Networks (LAN) are small networks, with a short distance for the cables to run, typically a room, a floor, or a building. - LANs are limited.
CH2 System models.
What is a Distributed System? n From various textbooks: l “A distributed system is a collection of independent computers that appear to the users of the.
1 Version 3.0 Module 11 TCP Application and Transport.
Computer and Information Science Ch1.3 Computer Networking Ch1.3 Computer Networking Chapter 1.
Types of Operating Systems
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
Application Layer Khondaker Abdullah-Al-Mamun Lecturer, CSE Instructor, CNAP AUST.
CSE 451: Operating Systems Spring 2013 Module 26 Cloud Computing Ed Lazowska Allen Center 570 © 2013 Gribble, Lazowska, Levy,
Protocols COM211 Communications and Networks CDA College Olga Pelekanou
CSE 451: Operating Systems Autumn 2010 Module 25 Cloud Computing Ed Lazowska Allen Center 570.
Types of Operating Systems 1 Computer Engineering Department Distributed Systems Course Assoc. Prof. Dr. Ahmet Sayar Kocaeli University - Fall 2015.
Distributed Systems Unit – 1 Concepts of DS By :- Maulik V. Dhamecha Maulik V. Dhamecha (M.Tech.)
Intro to Distributed Systems and Networks Hank Levy.
CSE 451: Operating Systems Spring 2012 Module in 9 slides Ed Lazowska Allen Center 570.
Background Computer System Architectures Computer System Software.
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.
IST 201 Chapter 11 Lecture 2. Ports Used by TCP & UDP Keep track of different types of transmissions crossing the network simultaneously. Combination.
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CLOUD COMPUTING
Last Class: Introduction
1.2 The Network Edge Beginning at the edge of a network we are looking at the components with which we are most familiar - namely, the computers that we.
Definition of Distributed System
Chapter 1: Introduction
3.1 Types of Servers.
CT1303 LAN Rehab AlFallaj.
Chapter 1: Introduction
Chapter 1: Introduction
Introduction to client/server architecture
Client-Server Interaction
Chapter 1: Introduction
Chapter 16: Distributed System Structures
Distributed System Structures 16: Distributed Structures
CSE 451: Operating Systems Autumn 2009 Module 23 Distributed Systems
CSE 451: Operating Systems Winter 2006 Module 20 Remote Procedure Call (RPC) Ed Lazowska Allen Center
An Introduction to Computer Networking
Intro to Distributed Systems
CSE 451: Operating Systems Autumn 2010 Module 23 Distributed Systems
CSE 451: Operating Systems Spring 2005 Module in 9 slides
CSE 451: Operating Systems Winter 2007 Module in 9 slides
CSE 451: Operating Systems Winter Module 22 Distributed File Systems
CSE 451: Operating Systems Winter 2007 Module 20 Remote Procedure Call (RPC) Ed Lazowska Allen Center
CSE 451: Operating Systems Spring 2005 Module 20 Distributed Systems
Chapter 1: Introduction
Language Processors Application Domain – ideas concerning the behavior of a software. Execution Domain – Ideas implemented in Computer System. Semantic.
CSE 451: Operating Systems Winter 2004 Module 19 Remote Procedure Call (RPC) Ed Lazowska Allen Center
CSE 451: Operating Systems Spring Module 21 Distributed File Systems
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 Winter 2007 Module 18 Redundant Arrays of Inexpensive Disks (RAID) Ed Lazowska Allen Center 570.
CSE 451: Operating Systems Winter Module 22 Distributed File Systems
Chapter 1: Introduction
CSE 451: Operating Systems Autumn 2009 Module in 9 slides
CSE 451: Operating Systems Autumn Module 24 Virtual Machine Monitors
CSE 451: Operating Systems Autumn 2010 Module in 9 slides
LO2 – Understand Computer Software
LO3 – Understand Business IT Systems
CSE 451: Operating Systems Winter 2004 Module 19 Distributed Systems
Introduction To Distributed Systems
Chapter 7 Network Applications
CSE 451: Operating Systems Autumn 2010 Module 21 Remote Procedure Call (RPC) Ed Lazowska Allen Center
Presentation transcript:

CSE 451: Operating Systems Winter 2007 Module 21 Distributed Systems Ed Lazowska lazowska@cs.washington.edu Allen Center 570 1

What is a “distributed system”? Very broad definition loosely-coupled to tightly-coupled Nearly all systems today are distributed in some way they use email they access files over a network they access printers over a network they’re backed up over a network they share other physical or logical resources they cooperate with other people on other machines they access the web they receive video, audio, etc. 5/23/2019 © 2007 Gribble, Lazowska, Levy, Zahorjan

Distributed systems are now a requirement Economics dictate that we buy small computers Everyone needs to communicate We need to share physical devices (printers) as well as information (files, etc.) Many applications are by their nature distributed (bank teller machines, airline reservations, ticket purchasing) To solve the largest problems, we will need to get large collections of small machines to cooperate together (parallel programming) 5/23/2019 © 2007 Gribble, Lazowska, Levy, Zahorjan

Loosely-coupled systems Earliest systems used simple explicit network programs FTP (rcp): file transfer program telnet (rlogin/rsh): remote login program mail (SMTP) Each system was a completely autonomous independent system, connected to others on the network 5/23/2019 © 2007 Gribble, Lazowska, Levy, Zahorjan

© 2007 Gribble, Lazowska, Levy, Zahorjan Even today, most distributed systems are loosely-coupled each CPU runs an independent autonomous OS computers don’t really trust each other some resources are shared, but most are not the system may look differently from different hosts typically, communication times are long 5/23/2019 © 2007 Gribble, Lazowska, Levy, Zahorjan

Closely-coupled systems A distributed system becomes more “closely-coupled” as it appears more uniform in nature runs a “single” operating system has a single security domain shares all logical resources (e.g., files) shares all physical resources (CPUs, memory, disks, printers, etc.) In the limit, a distributed system looks to the user as if it were a centralized timesharing system, except that it’s constructed out of a distributed collection of hardware and software components 5/23/2019 © 2007 Gribble, Lazowska, Levy, Zahorjan

Tightly-coupled systems A “tightly-coupled” system usually refers to a multiprocessor runs a single copy of the OS with a single job queue has a single address space usually has a single bus or backplane to which all processors and memories are connected has very low communication latency processors communicate through shared memory 5/23/2019 © 2007 Gribble, Lazowska, Levy, Zahorjan

Some issues in distributed systems Transparency (how visible is the distribution) Security Reliability Performance Scalability Programming models Communication models 5/23/2019 © 2007 Gribble, Lazowska, Levy, Zahorjan

Grapevine distributed mail service Xerox PARC, 1980 cf. Microsoft Outlook/Exchange today!!!!! Goals cannot rely on integrity of client once the system accepts mail, it will be delivered no single Grapevine computer failure will make the system unavailable to any client either for sending or for receiving mail Components GrapevineUser package on each client workstation Registration Servers Message Servers Implementation: Remote Procedure Call 5/23/2019 © 2007 Gribble, Lazowska, Levy, Zahorjan

Grapevine: Functional diagram 5/23/2019 © 2007 Gribble, Lazowska, Levy, Zahorjan

Grapevine: Sending a message User prepares message using mail client Mail client contacts GrapevineUser package on same workstation to actually send message GrapevineUser package contacts any Registration Server to get a list of Message Servers contacts any Message Server to transmit message presents source and destination userids, and source password, for authentication Message Server uses any Registration Server to authenticate sends message body to Message Server Message Server places it in stable storage and acknowledges receipt 5/23/2019 © 2007 Gribble, Lazowska, Levy, Zahorjan

Grapevine: Transport and buffering For each recipient of the message, Message Server contacts any Registration Server to obtain list of Message Servers holding mail for that recipient Sends a copy of the message to one of those Message Servers for that recipient 5/23/2019 © 2007 Gribble, Lazowska, Levy, Zahorjan

Grapevine: Retrieving mail User uses mail client to contact GrapevineUser package on same workstation to retrieve mail GrapevineUser package contacts any Registration Server to get a list of each Message Server holding mail for the user (“inbox site”) contacts each of these Message Servers to retrieve mail presents user credentials Message Server uses any Registration Server to authenticate acknowledges receipt of messages so that the server can delete them from its storage 5/23/2019 © 2007 Gribble, Lazowska, Levy, Zahorjan

Grapevine: Scalability Can add more Registration Servers Can add more Message Servers Only thing that didn’t scale was handling of distribution lists the accepting Message Server was responsible for expanding the list (recursively if necessary) and delivering to an appropriate Message Server for each recipient some distribution lists contained essentially the entire user community Jeff Dean (Google) told us they don’t even think about more than two decimal orders of magnitude fundamental design decisions will need to change advances in technology will make it possible 5/23/2019 © 2007 Gribble, Lazowska, Levy, Zahorjan