Distributed Operating Systems Fall Prashant Shenoy UMass Computer Science. CS677: Distributed OS

Similar documents
Distributed Operating Systems Spring Prashant Shenoy UMass Computer Science.

Distributed and Operating Systems Spring Prashant Shenoy UMass Computer Science.

Distributed Systems. Thoai Nam Faculty of Computer Science and Engineering HCMC University of Technology

Lecture 1: January 22

Lecture 1: January 23

Introduction. Chapter 1

Distributed Systems LEEC (2006/07 2º Sem.)

Advanced Operating Systems

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

CS4513 Distributed Computer Systems

Concepts of Distributed Systems 2006/2007

Distributed Computing. Santa Clara University 2016

Distributed Systems. Overview. Distributed Systems September A distributed system is a piece of software that ensures that:

Distributed Systems Course. a.o. Univ.-Prof. Dr. Harald Kosch

Introduction. Distributed Systems IT332

Outline. Distributed Computing Systems. The Rise of Distributed Systems. Depiction of a Distributed System 4/15/2014

Distributed Systems. Lecture 4 Othon Michail COMP 212 1/27

Chapter 1: Distributed Systems: What is a distributed system? Fall 2013

Crossbar switch. Chapter 2: Concepts and Architectures. Traditional Computer Architecture. Computer System Architectures. Flynn Architectures (2)

TDP3471 Distributed and Parallel Computing

DISTRIBUTED COMPUTING

CSE Traditional Operating Systems deal with typical system software designed to be:

CSE 5306 Distributed Systems. Course Introduction

Introduction. Distributed Systems. Introduction. Introduction. Instructor Brian Mitchell - Brian

CPE731 Middleware for Distributed Systems

Outline. Definition of a Distributed System Goals of a Distributed System Types of Distributed Systems

06-Dec-17. Credits:4. Notes by Pritee Parwekar,ANITS 06-Dec-17 1

Multiprocessors 2007/2008

CHAPTER 1 Fundamentals of Distributed System. Issues in designing Distributed System

Distributed OS and Algorithms

Client Server & Distributed System. A Basic Introduction

Introduction Distributed Systems

Introduction to Distributed Systems (DS)

Distributed Systems. Edited by. Ghada Ahmed, PhD. Fall (3rd Edition) Maarten van Steen and Tanenbaum

CS550. TA: TBA Office: xxx Office hours: TBA. Blackboard:

Distributed Systems Principles and Paradigms. Chapter 01: Introduction. Contents. Distributed System: Definition.

CA464 Distributed Programming

Introduction to Distributed Systems. INF5040/9040 Autumn 2018 Lecturer: Eli Gjørven (ifi/uio)

Distributed Systems Principles and Paradigms. Chapter 01: Introduction

Distributed Systems Principles and Paradigms

Multiprocessors 2014/2015

DISTRIBUTED SYSTEMS. Second Edition. Andrew S. Tanenbaum Maarten Van Steen. Vrije Universiteit Amsterdam, 7'he Netherlands PEARSON.

DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN. Chapter 1. Introduction

INTRODUCTION TO Object Oriented Systems BHUSHAN JADHAV

Distributed Systems. Chapter 1: Introduction

DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN. Chapter 1. Introduction

SIR C.R.REDDY COLLEGE OF ENGINEERING, ELURU DEPARTMENT OF INFORMATION TECHNOLOGY LESSON PLAN

Introduction to Distributed Systems (DS)

02 - Distributed Systems

Distributed Systems. Lehrstuhl für Informatik 4. RWTH Aachen. Organization. Literature. Classification of the lecture

Designing Issues For Distributed Computing System: An Empirical View

Distributed Systems Concepts And Design 5th Edition Exercise Solutions

Module 1 - Distributed System Architectures & Models

Introduction to Distributed Systems

02 - Distributed Systems

Modulo II Introdução Sistemas Distribuídos

Chapter Outline. Chapter 2 Distributed Information Systems Architecture. Layers of an information system. Design strategies.

Distributed Information Processing

Distributed Systems Question Bank UNIT 1 Chapter 1 1. Define distributed systems. What are the significant issues of the distributed systems?

Chapter 18 Distributed Systems and Web Services

Lecture 23 Database System Architectures

Lecture 9: MIMD Architectures

Distributed Systems Conclusions & Exam. Brian Nielsen

Ian Foster, CS554: Data-Intensive Computing

Operating Systems (ECS 150) Spring 2011

CS655: Advanced Topics in Distributed Systems [Fall 2013] Dept. Of Computer Science, Colorado State University

Operating Systems Fundamentals. What is an Operating System? Focus. Computer System Components. Chapter 1: Introduction

Chapter 1: Introduction 1/29

THE IMPACT OF E-COMMERCE ON DEVELOPING A COURSE IN OPERATING SYSTEMS: AN INTERPRETIVE STUDY

Chapter 1: Introduction

Announcements. me your survey: See the Announcements page. Today. Reading. Take a break around 10:15am. Ack: Some figures are from Coulouris

Distributed Systems. Definitions. Why Build Distributed Systems? Operating Systems - Overview. Operating Systems - Overview

Distributed Systems Conclusions & Exam. Brian Nielsen

Operating Systems : Overview

Operating System Support

Lecture 9: MIMD Architecture

Chapter Outline. Chapter 2 Distributed Information Systems Architecture. Distributed transactions (quick refresh) Layers of an information system

Chapter 20: Database System Architectures

Chapter 4 Threads, SMP, and

Chapter 1: Introduction

Advanced Distributed Systems

Introduction to Distributed Systems

Introduction to Distributed Systems

Distributed Systems. Prof. Dr. Schahram Dustdar Distributed Systems Group Vienna University of Technology. dsg.tuwien.ac.

Operating System: an Overview. Lucia Dwi Krisnawati, MA

Chapter 17: Distributed Systems (DS)

CSCI 4717 Computer Architecture

ECE397A Operating Systems. Chapter 1: Introduction

Operating systems Architecture

FACULTY OF SCIENCE AND HUMANITIES

Advanced Operating Systems (CS 202)

Distributed File Systems. CS 537 Lecture 15. Distributed File Systems. Transfer Model. Naming transparency 3/27/09

OPERATING SYSTEMS UNIT - 1

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING UNIT-1

Lecture 9: MIMD Architectures

殷亚凤. Processes. Distributed Systems [3]

Philadelphia University Faculty of Information Technology Department of Computer Science second semester, 2012/2013.

CS 425 / ECE 428 Distributed Systems Fall 2017 Indranil Gupta (Indy) August 29 December 12, 2017 Lecture 1-29

Distributed Systems

Chapter 18: Database System Architectures.! Centralized Systems! Client--Server Systems! Parallel Systems! Distributed Systems!

Transcription:

Distributed Operating Systems Fall 2009 Prashant Shenoy UMass http://lass.cs.umass.edu/~shenoy/courses/677 1 Course Syllabus CMPSCI 677: Distributed Operating Systems Instructor: Prashant Shenoy Email: shenoy@cs.umass.edu, Phone: (413) 577 0850 Office hours: Thursday 12:30-1:30, CS 336, or by appt Teaching Asst: Upendra Sharma Email: upendra@cs.umass.edu, Phone: 413 545 4753 Office hours: TBD Course web page: http://lass.cs.umass.edu/~shenoy/courses/677 2

Course Outline Introduction (today) 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 3 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, cloud computing, green computing, multimedia, and mobile systems 4

Misc. Course Details Textbook: Distributed Systems, 2nd ed, by Tannenbaum and Van Steen, Prentice Hall 2007 Grading 4-5 Homeworks (15%), 3-4 programming assignments (40%) 1 mid-term and 1 final (40%), class participation (5%) Course mailing list: cs677 @ cs.umass.edu Spire will automatically add you to this list. Pre-requisites Undergrad course in operating systems Good programming skills in a high-level prog. language 5 Why Distributed Systems? Many systems that we use on a daily basis are distributed World wide web, Google Amazon.com Peer-to-peer file sharing systems SETI@Home Grid and cluster computing Modern networked computers Useful to understand how such real-world systems work Course covers basic principles for designing distributed systems 6

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 7 Advantages 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 8

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. 9 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 10

Scalability Problems Concept Centralized services Centralized data Centralized algorithms Example A single server for all users A single on-line telephone book Doing routing based on complete information Examples of scalability limitations. 11 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 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 13 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, Virtualization and data center Cloud Computing 14

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 15 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 16

Uniprocessor Operating Systems Microkernel architecture Small kernel user-level servers implement additional functionality 17 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 18

Types of Distributed OSs System Description Main Goal DOS NOS Middleware 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 Hide and manage hardware resources Offer local services to remote clients Provide distribution transparency 19 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 20

Multicomputer Operating Systems Example: MOSIX cluster - single system image 1.14 21 Network Operating System 1-19 22

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

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 25