Distributed Operating Systems



Similar documents
Distributed Systems LEEC (2005/06 2º Sem.)

Distributed Systems. REK s adaptation of Prof. Claypool s adaptation of Tanenbaum s Distributed Systems Chapter 1

2.1 What are distributed systems? What are systems? Different kind of systems How to distribute systems? 2.2 Communication concepts

Virtual machine interface. Operating system. Physical machine interface

CS550. Distributed Operating Systems (Advanced Operating Systems) Instructor: Xian-He Sun

Principles and characteristics of distributed systems and environments

How To Understand The Concept Of A Distributed System

Software Concepts. Uniprocessor Operating Systems. System software structures. CIS 505: Software Systems Architectures of Distributed Systems

How To Make A Distributed System Transparent

Chapter 1: Distributed Systems: What is a distributed system? Fall 2008 Jussi Kangasharju

Distributed System: Definition

1.4 SOFTWARE CONCEPTS

Basics. Topics to be covered. Definition of a Distributed System. Definition of a Distributed System

Distributed Systems. Examples. Advantages and disadvantages. CIS 505: Software Systems. Introduction to Distributed Systems

A Comparison of Distributed Systems: ChorusOS and Amoeba

Chapter 18: Database System Architectures. Centralized Systems

Centralized Systems. A Centralized Computer System. Chapter 18: Database System Architectures

CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS

Tools Page 1 of 13 ON PROGRAM TRANSLATION. A priori, we have two translation mechanisms available:

Client/Server Computing Distributed Processing, Client/Server, and Clusters

Introduction to Cloud Computing


CHAPTER 2 MODELLING FOR DISTRIBUTED NETWORK SYSTEMS: THE CLIENT- SERVER MODEL

Chapter 1: Introduction. What is an Operating System?

Middleware and Distributed Systems. Introduction. Dr. Martin v. Löwis

Tier Architectures. Kathleen Durant CS 3200

Components of a Computer System

ECE 677: Distributed Computing Systems. Distributed Operating Systems: Design Issues Case Studies

OPERATING SYSTEMS Internais and Design Principles

How To Write A Network Operating System For A Network (Networking) System (Netware)

Microkernels, virtualization, exokernels. Tutorial 1 CSC469

3 - Introduction to Operating Systems

Distribution transparency. Degree of transparency. Openness of distributed systems

Distributed Computing

Operating Systems 4 th Class

CS 5523 Operating Systems: Intro to Distributed Systems

Client/Server and Distributed Computing

Chapter 17: Distributed Systems

Gildart Haase School of Computer Sciences and Engineering

Computer Science 4302 Operating Systems. Student Learning Outcomes

IT 342 Operating Systems Fundamentals Fall 2014 Syllabus

Weighted Total Mark. Weighted Exam Mark

1 Organization of Operating Systems

Amoeba Distributed Operating System

Principles of Operating Systems CS 446/646

Operating Systems for Parallel Processing Assistent Lecturer Alecu Felician Economic Informatics Department Academy of Economic Studies Bucharest

Integrated Application and Data Protection. NEC ExpressCluster White Paper

CHAPTER 15: Operating Systems: An Overview

Symmetric Multiprocessing

B) Using Processor-Cache Affinity Information in Shared Memory Multiprocessor Scheduling

High Availability Databases based on Oracle 10g RAC on Linux

Distributed Databases

Distributed Systems Lecture 1 1

COURSE OUTLINE Survey of Operating Systems

Storage Virtualization from clusters to grid

CSE 120 Principles of Operating Systems. Modules, Interfaces, Structure

Chapter 16 Distributed Processing, Client/Server, and Clusters

COMP5426 Parallel and Distributed Computing. Distributed Systems: Client/Server and Clusters

Chapter 3. Database Environment - Objectives. Multi-user DBMS Architectures. Teleprocessing. File-Server

Network Attached Storage. Jinfeng Yang Oct/19/2015

Lecture 2 Parallel Programming Platforms

Agenda. Enterprise Application Performance Factors. Current form of Enterprise Applications. Factors to Application Performance.

System Models for Distributed and Cloud Computing

Network File System (NFS) Pradipta De

Agenda. Distributed System Structures. Why Distributed Systems? Motivation

Operating System Structures

Interconnection Networks

Why study Operating Systems? CS 372. Why study. Why study. Introduction to Operating Systems

Introduction to Operating Systems. Perspective of the Computer. System Software. Indiana University Chen Yu

Chapter 7: Distributed Systems: Warehouse-Scale Computing. Fall 2011 Jussi Kangasharju

Making Multicore Work and Measuring its Benefits. Markus Levy, president EEMBC and Multicore Association

Chapter 15 Windows Operating Systems

Star System Deitel & Associates, Inc. All rights reserved.

EMC VPLEX FAMILY. Continuous Availability and Data Mobility Within and Across Data Centers

Contents. Chapter 1. Introduction

CloudNet: Enterprise. AT&T Labs Research, Joint work with: Timothy Wood, Jacobus van der Merwe, and Prashant Shenoy

Automatic load balancing and transparent process migration

Control 2004, University of Bath, UK, September 2004

Operating System Organization. Purpose of an OS

UNIT I LESSON 1: DISTRIBUTED SYSTEMS

Core Syllabus. Version 2.6 C OPERATE KNOWLEDGE AREA: OPERATION AND SUPPORT OF INFORMATION SYSTEMS. June 2006

Virtualization Technologies and Blackboard: The Future of Blackboard Software on Multi-Core Technologies

DISTRIBUTED SYSTEMS AND CLOUD COMPUTING. A Comparative Study

BBM467 Data Intensive ApplicaAons

Chapter 12: Multiprocessor Architectures. Lesson 04: Interconnect Networks

LinuxWorld Conference & Expo Server Farms and XML Web Services

Enabling Technologies for Distributed Computing

Cloud Based Application Architectures using Smart Computing

Overview and History of Operating Systems

MOSIX: High performance Linux farm

On Cloud Computing Technology in the Construction of Digital Campus

9/26/2011. What is Virtualization? What are the different types of virtualization.

CSC475 Distributed and Cloud Computing Pre- or Co-requisite: CSC280

Data Centers and Cloud Computing

IOS110. Virtualization 5/27/2014 1

Undergraduate Course Syllabus

1.5 Distributed Systems

Transparency in Distributed Systems

Transcription:

Distributed Operating Systems Prashant Shenoy UMass Computer Science http://lass.cs.umass.edu/~shenoy/courses/677 Lecture 1, page 1 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, or by appt Teaching Asst: Jiang Lan Email: jiang@cs.umass.edu, Phone: (413) Office hours: Friday, TBA Course web page: http://lass.cs.umass.edu/~shenoy/courses/677 Lecture 1, page 2

Course Outline Introduction (today) 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 Lecture 1, page 3 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 Lecture 1, page 4

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 Lecture 1, page 5 Definition of a Distributed System 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 Lecture 1, page 6

Advantages and Disadvantages Advantages Communication and resource sharing possible Economics price-performace ratio Relibility, scalability Potential for incremental growth Disadvantages Distribution-aware PLs, OSs and applications Network connectivity essential Security and privacy Lecture 1, page 7 Transparency in a Distributed System Transparency Access Location Migration Relocation Replication Concurrency Failure Persistence Description Hide differences in data representation and how a resource is accessed Hide where a resource is located Hide that a resource may move to another location Hide that a resource may be moved to another location while in use Hide that a resource may be shared by several competitive users Hide that a resource may be shared by several competitive users Hide the failure and recovery of a resource Hide whether a (software) resource is in memory or on disk Different forms of transparency in a distributed system. Lecture 1, page 8

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. Lecture 1, page 9 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. Lecture 1, page 10

Multiprocessors (2) a) A crossbar switch b) An omega switching network 1.8 Lecture 1, page 11 Homogeneous Multicomputer Systems a) Grid b) Hypercube 1-9 Lecture 1, page 12

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 Lecture 1, page 13 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 Lecture 1, page 14

Uniprocessor Operating Systems Microkernel architecture Small kernel user-level servers implement additional functionality Lecture 1, page 15 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 Lecture 1, page 16

Types of Distributed OSs System DOS NOS Middleware Description Tightly-coupled operating system for multiprocessors and homogeneous multicomputers Loosely-coupled operating system for heterogeneous multicomputers (LAN and WAN) Additional layer atop of NOS implementing generalpurpose services Main Goal Hide and manage hardware resources Offer local services to remote clients Provide distribution transparency Lecture 1, page 17 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 Lecture 1, page 18

Multicomputer Operating Systems 1.14 Lecture 1, page 19 Network Operating System 1-19 Lecture 1, page 20

Network Operating System Employs a client-server model Minimal OS kernel Additional functionality as user processes 1-20 Lecture 1, page 21 Middleware-based Systems General structure of a distributed system as middleware. 1-22 Lecture 1, page 22

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