Distributed Operating Systems Spring 2007

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.
1 Distributed Systems Alexis Delis Monday 6:00-9:00 Spring 2002
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 Systems1 Chapter 2: Concepts and Architectures CPU Memory I/O Disk(s) Traditional Computer Architecture.
Introduction Chapter 1.
REK’s adaptation of Prof. Claypool’s adaptation of
Chapter 1  Introduction 1 Introduction Chapter 1.
Based on last years lecture notes, used by Juha Takkinen.
Introduction Dr. Ying Lu CSCE455/855 Distributed Operating Systems.
CS4513 Distributed Computer Systems Introduction (Ch 1: , )
SKR 4401 Distributed Systems
ECI-M-811 Distributed Systems and Internetworking
Introducing … Distributed Systems.
Computer Science Lecture 2, page 1 CS677: Distributed OS Last Class: Introduction Distributed Systems – A collection of independent computers that appears.
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.
EECE 411: Design of Distributed Software Applications What is a Distributed System? You know when you have one … … when the failure of a computer you’ve.
Computer Science Lecture 1, page 1 CS677: Distributed OS Distributed Operating Systems Spring 2005 Prashant Shenoy UMass Computer Science
Distributed Systems CS 3850 Soufiane Noureddine Lectures MWF 14:00 – 14:50 (PE207D) Office Hours MW 11:00 – 12:00 (C520)
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.
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 Science Lecture 1, page 1 CS691D: Hot-OS Green Computing Fall 2009 Jim Kurose, Parviz Kermani, Prashant Shenoy UMass Computer Science
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.
Distributed Systems 1 CS- 492 Distributed system & Parallel Processing Sunday: 2/4/1435 (8 – 11 ) Lecture (1) Introduction to distributed system and models.
1 Distributed Systems Architectures Chapter 2. 2 Course/Slides Credits Note: all course presentations are based on those developed by Andrew S. Tanenbaum.
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.
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.
Distributed Computing Systems CSCI 4780/6780. Distributed System A distributed system is: A collection of independent computers that appears to its users.
Fall 2007cs4251 Distributed Computing Umar Kalim Dept. of Communication Systems Engineering 19/09/2007.
Introducing … Distributed Systems Paul Barry Muhammed Cinsdikici.
1 Introduction Chapter 1. 2 The Textbook  Andrew S. Tanenbaum & Maarten van Steen, Distributed Systems: Principles and Paradigms, Prentice Hall, 2002.
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.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
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.
Introduction Chapter 1. Definition of a Distributed System (1) A distributed system is: A collection of independent computers that appears to its users.
Distributed Operating Systems Spring 2004
Distributed Operating Systems
Definition of Distributed System
Advanced Operating Systems
Outline Review of Classical Operating Systems - continued
Introduction To Distributed Systems
Introduction Chapter 1.
Presentation transcript:

Distributed Operating Systems Spring 2007 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: Thursday 2:15-3:30, CS 336, or by appt Teaching Asst: Chang Wang Email: chwang@cs.umass.edu, Phone: 413 545 1596 Office hours: TBA, Room 266, cube 11 Course web page: http://lass.cs.umass.edu/~shenoy/courses/677 CS677: Distributed OS

Course Outline Introduction (today) Distributed Architectures What, why, why not? Basics Distributed Architectures Interprocess Communication RPCs, RMI, message- and stream-oriented communication Processes and their scheduling Thread/process scheduling, code/process migration, virtualization 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 DFS, consistency issues, caching and replication Fault-tolerance Security in distributed Systems Distributed middleware Advanced topics: web, multimedia, and mobile systems CS677: Distributed OS

Misc. Course Details Textbook: Distributed Systems, 2nd ed, by Tannenbaum and Van Steen, Prentice Hall 2007 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

Open Distributed Systems Offer services that are described a priori Syntax and semantics are known via protocols Servies specified via interfaces Benefits Interoperability Portability Extensibility Open system evolve over time and should be extensible to accommodate new functionality. Separate policy from mechanism 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

Scaling Techniques Principles for good decentralized algorithms No machine has complete state Make decision based on local information A single failure does not bring down the system No global clock Techniques Asynchronous communication Distribution Caching and replication 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

Distributed System Models (contd) Cluster computing systems / Data centers LAN with a cluster of servers + storage Linux, Mosix, .. Used by distributed web servers, scientific applications, enterprise applications Grid computing systems Cluster of machines connected over a WAN SETI @ home WAN-based clusters / distributed data centers Google, Amazon, … CS677: Distributed OS

Emerging Models Distributed Pervasive Systems “smaller” nodes with networking capabilities Computing is “everywhere” Home networks: TiVO, Windows Media Center, … Mobile computing: smart phones, iPODs, Car-based PCs Sensor networks Health-care: personal area networks 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 Example: MOSIX cluster - single system image 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