Distributed Operating Systems Spring 2004

Slides:



Advertisements
Similar presentations
CS-495 Distributed Systems Fabián E. Bustamante, Winter 2004 Introduction Distributed Systems Goals of Distributed Systems Hardware and Software Concepts.
Advertisements

Distributed Computing Systems Overview of Distributed Systems Andrew Tanenbaum and Marten van Steen, Distributed Systems – Principles and Paradigms, Prentice.
Classification of Distributed Systems Properties of Distributed Systems n motivation: advantages of distributed systems n classification l architecture.
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.
REK’s adaptation of Prof. Claypool’s adaptation of
Chapter 1  Introduction 1 Introduction Chapter 1.
Distributed Operating Systems Spring 2007
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.
Tutorials 1 1.What is the definition of a distributed system? 1.A distributed system is a collection of independent computers that appears to its users.
Computer Science Lecture 1, page 1 CS677: Distributed OS Distributed Operating Systems Spring 2005 Prashant Shenoy UMass Computer Science
Hardware/Software Concepts Tran, Van Hoai Department of Systems & Networking Faculty of Computer Science & Engineering HCMC University of Technology.
DISTRIBUTED COMPUTING
Dr. Kalpakis CMSC621 Advanced Operating Systems Introduction.
Massively Distributed Database Systems Spring 2014 Ki-Joune Li Pusan National University.
Ch4: Distributed Systems Architectures. Typically, system with several interconnected computers that do not share clock or memory. Motivation: tie together.
Distributed (Operating) Systems -Introduction- 1 Computer Engineering Department Distributed Systems Course Asst. Prof. Dr. Ahmet Sayar Kocaeli University.
Introduction Chapter 1. Definition of a Distributed System A distributed system [Tannenbaum & Steen] can be defined as a collection of independent computers.
Computer System Architectures Computer System Software
Introduction to DISTRIBUTED SYSTEMS Tran, Van Hoai Department of Systems & Networking Faculty of Computer Science & Engineering HCMC University of Technology.
A brief overview about Distributed Systems Group A4 Chris Sun Bryan Maden Min Fang.
1. Introduction to Distributed Systems. 1. Introduction Two advances in computer technology: A. The development of powerful microprocessors. B. The invention.
Distributed Systems 1 CS- 492 Distributed system & Parallel Processing Sunday: 2/4/1435 (8 – 11 ) Lecture (1) Introduction to distributed system and models.
Advanced Operating Systems Welcome to this course, in Fall Semester Main TextBooks 1- Tanenbaum’s book 2- Chow’s Book 3- Singhal’s Book Other extra.
Univ. of TehranDistributed Operating Systems1 Advanced Operating Systems University of Tehran Dept. of EE and Computer Engineering By: Dr. Nasser Yazdani.
Introduction. Outline Definitions Examples Hardware concepts Software concepts Readings: Chapter 1.
Introduction to DISTRIBUTED COMPUTING Tran, Van Hoai Department of Systems & Networking Faculty of Computer Science & Engineering HCMC University of Technology.
1 CS 6823 ASU Chapter 2 Architecture.
Copyright © George Coulouris, Jean Dollimore, Tim Kindberg This material is made available for private study and for direct.
Distributed Systems COEN 317 Introduction Chapter 1,2,3.
Types of Operating Systems
Univ. of TehranDistributed Operating Systems1 Advanced Operating Systems University of Tehran Dept. of EE and Computer Engineering By: Dr. Nasser Yazdani.
OS2- Sem ; R. Jalili Introduction Chapter 1.
Kyung Hee University 1/41 Introduction Chapter 1.
Advanced Principles of Operating Systems (CE-403).
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.
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.
Types of Operating Systems 1 Computer Engineering Department Distributed Systems Course Assoc. Prof. Dr. Ahmet Sayar Kocaeli University - Fall 2015.
Distributed Systems Definition.
Distributed Computing Systems CSCI 6900/4900. Review Distributed system –A collection of independent computers that appears to its users as a single coherent.
Introduction Chapter 1. Definition of a Distributed System (1) A distributed system is: A collection of independent computers that appears to its users.
Distributed Systems Unit – 1 Concepts of DS By :- Maulik V. Dhamecha Maulik V. Dhamecha (M.Tech.)
1 Distributed Processing Chapter 1 : Introduction.
Distributed Computing Systems CSCI 6900/4900. Review Definition & characteristics of distributed systems Distributed system organization Design goals.
TEXT: Distributed Operating systems A. S. Tanenbaum Papers oriented on: 1.OS Structures 2.Shared Memory Systems 3.Advanced Topics in Communications 4.Distributed.
Background Computer System Architectures Computer System Software.
Primitive Concepts of Distributed Systems Chapter 1.
Univ. of TehranDistributed Operating Systems1 Advanced Operating Systems University of Tehran Dept. of EE and Computer Engineering By: Dr. Nasser Yazdani.
Introduction to Distributed Systems. Distributed System Definitions:  “A distributed system is a collection of independent computers that appear to the.
Lecture 13 Parallel Processing. 2 What is Parallel Computing? Traditionally software has been written for serial computation. Parallel computing is the.
Introduction Chapter 1. Definition of a Distributed System (1) A distributed system is: A collection of independent computers that appears to its users.
Last Class: Introduction
Overview Parallel Processing Pipelining
Distributed Operating Systems
Introduction to Distributed Systems
Definition of Distributed System
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Advanced Operating Systems
Chapter 17: Database System Architectures
Multiple Processor Systems
Multiple Processor Systems
Process Migration Troy Cogburn and Gilbert Podell-Blume
Multiple Processor and Distributed Systems
Outline Review of Classical Operating Systems - continued
Introduction To Distributed Systems
Basic organizations and memories in distributed computer systems
Database System Architectures
Introduction Chapter 1.
Presentation transcript:

Distributed Operating Systems Spring 2004 Prashant Shenoy UMass Computer Science http://lass.cs.umass.edu/~shenoy/courses/677 CS677: Distributed OS

Course Syllabus CMPSCI 677: Distributed Operating Systems Instructor: Prashant Shenoy Email: shenoy@cs.umass.edu, Phone: (413) 577 0850 Office hours: Tuesday 12:30-1:30, CS 336, or by appt Teaching Asst: Nasreen Abdul Jaleel Email: nasreen@cs.umass.edu, Phone: TBA Office hours: TBA, CS 311 Course web page: http://lass.cs.umass.edu/~shenoy/courses/677 CS677: Distributed OS

Course Outline Introduction (today) Interprocess Communication What, why, why not? Basics Interprocess Communication RPCs, RMI, message- and stream-oriented communication Processes and their scheduling Thread/process scheduling, code/process migration Naming and location management Entities, addresses, access points CS677: Distributed OS

Course Outline Canonical problems and solutions Mutual exclusion, leader election, clock synchronization, … Resource sharing, replication and consistency DSM, DFS, consistency issues, caching and replication Fault-tolerance Security in distributed Systems Distributed middleware Advanced topics: web, multimedia, real-time and mobile systems CS677: Distributed OS

Misc. Course Details Textbook: Distributed Systems by Tannenbaum and Van Steen, Prentice Hall 2001 Grading 4-5 Homeworks (20%), 3-4 programming assignments (35%) 1 mid-term and 1 final (40%), class participation (5%) Course mailing list: cs677@cs.umass.edu You need to add yourself to this list! [ see class web page ] Pre-requisites Undergrad course in operating systems Good programming skills in a high-level prog. language CS677: Distributed OS

Definition of a Distributed System Multiple connected CPUs working together A collection of independent computers that appears to its users as a single coherent system Examples: parallel machines, networked machines CS677: Distributed OS

Advantages and Disadvantages Communication and resource sharing possible Economics – price-performance ratio Reliability, scalability Potential for incremental growth Disadvantages Distribution-aware PLs, OSs and applications Network connectivity essential Security and privacy CS677: Distributed OS

Transparency in a Distributed System Description Access Hide differences in data representation and how a resource is accessed Location Hide where a resource is located Migration Hide that a resource may move to another location Relocation Hide that a resource may be moved to another location while in use Replication Hide that a resource may be shared by several competitive users Concurrency Failure Hide the failure and recovery of a resource Persistence Hide whether a (software) resource is in memory or on disk Different forms of transparency in a distributed system. CS677: Distributed OS

Examples of scalability limitations. Scalability Problems Concept Example Centralized services A single server for all users Centralized data A single on-line telephone book Centralized algorithms Doing routing based on complete information Examples of scalability limitations. CS677: Distributed OS

Hardware Concepts: Multiprocessors (1) Multiprocessor dimensions Memory: could be shared or be private to each CPU Interconnect: could be shared (bus-based) or switched A bus-based multiprocessor. CS677: Distributed OS

Multiprocessors (2) A crossbar switch b) An omega switching network 1.8 CS677: Distributed OS

Homogeneous Multicomputer Systems Grid b) Hypercube 1-9 CS677: Distributed OS

Distributed Systems Models Minicomputer model (e.g., early networks) Each user has local machine Local processing but can fetch remote data (files, databases) Workstation model (e.g., Sprite) Processing can also migrate Client-server Model (e.g., V system, world wide web) User has local workstation Powerful workstations serve as servers (file, print, DB servers) Processor pool model (e.g., Amoeba, Plan 9) Terminals are Xterms or diskless terminals Pool of backend processors handle processing CS677: Distributed OS

Uniprocessor Operating Systems An OS acts as a resource manager or an arbitrator Manages CPU, I/O devices, memory OS provides a virtual interface that is easier to use than hardware Structure of uniprocessor operating systems Monolithic (e.g., MS-DOS, early UNIX) One large kernel that handles everything Layered design Functionality is decomposed into N layers Each layer uses services of layer N-1 and implements new service(s) for layer N+1 CS677: Distributed OS

Uniprocessor Operating Systems Microkernel architecture Small kernel user-level servers implement additional functionality CS677: Distributed OS

Distributed Operating System Manages resources in a distributed system Seamlessly and transparently to the user Looks to the user like a centralized OS But operates on multiple independent CPUs Provides transparency Location, migration, concurrency, replication,… Presents users with a virtual uniprocessor CS677: Distributed OS

Types of Distributed OSs System Description Main Goal DOS Tightly-coupled operating system for multi-processors and homogeneous multicomputers Hide and manage hardware resources NOS Loosely-coupled operating system for heterogeneous multicomputers (LAN and WAN) Offer local services to remote clients Middleware Additional layer atop of NOS implementing general-purpose services Provide distribution transparency CS677: Distributed OS

Multiprocessor Operating Systems Like a uniprocessor operating system Manages multiple CPUs transparently to the user Each processor has its own hardware cache Maintain consistency of cached data CS677: Distributed OS

Multicomputer Operating Systems 1.14 CS677: Distributed OS

Network Operating System 1-19 CS677: Distributed OS

Network Operating System Employs a client-server model Minimal OS kernel Additional functionality as user processes 1-20 CS677: Distributed OS

Middleware-based Systems General structure of a distributed system as middleware. 1-22 CS677: Distributed OS

Comparison between Systems Item Distributed OS Network OS Middleware-based OS Multiproc. Multicomp. Degree of transparency Very High High Low Same OS on all nodes Yes No Number of copies of OS 1 N Basis for communication Shared memory Messages Files Model specific Resource management Global, central Global, distributed Per node Scalability Moderately Varies Openness Closed Open CS677: Distributed OS