Univ. of TehranDistributed Operating Systems1 Advanced Operating Systems University of Tehran Dept. of EE and Computer Engineering By: Dr. Nasser Yazdani.

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

Dr. Kalpakis CMSC 621, Advanced Operating Systems. Fall 2003 URL: Distributed System Architectures.
Distributed Systems 1 Topics  What is a Distributed System?  Why Distributed Systems?  Examples of Distributed Systems  Distributed System Requirements.
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.
REK’s adaptation of Prof. Claypool’s adaptation of
Chapter 1  Introduction 1 Introduction Chapter 1.
Distributed Hardware How are computers interconnected ? –via a bus-based –via a switch How are processors and memories interconnected ? –Private –shared.
Based on last years lecture notes, used by Juha Takkinen.
CS4513 Distributed Computer Systems Introduction (Ch 1: , )
SKR 4401 Distributed Systems
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.
Multiple Processor Systems 8.1 Multiprocessors 8.2 Multicomputers 8.3 Distributed systems.
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.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Introduction Chapter 1. Definition of a Distributed System A distributed system [Tannenbaum & Steen] can be defined as a collection of independent computers.
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.
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.
Distributed Systems: Concepts and Design Chapter 1 Pages
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.
Distributed systems A collection of autonomous computers linked by a network, with software designed to produce an integrated computing facility –A well.
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.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
OS2- Sem ; R. Jalili Introduction Chapter 1.
Kyung Hee University 1/41 Introduction Chapter 1.
DISTRIBUTED COMPUTING Introduction Dr. Yingwu Zhu.
Distributed Computing Systems CSCI 4780/6780. Distributed System A distributed system is: A collection of independent computers that appears to its users.
Introducing … Distributed Systems Paul Barry Muhammed Cinsdikici.
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.
© Chinese University, CSE Dept. Distributed Systems / Distributed Systems Topic 1: Characterization of Distributed & Mobile Systems Dr. Michael R.
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 Computing Systems CSCI 4780/6780. Scalability ConceptExample Centralized servicesA single server for all users Centralized dataA single on-line.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
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
Introduction to Distributed Systems
Definition of Distributed System
Advanced Operating Systems
Outline Review of Classical Operating Systems - continued
Introduction To Distributed Systems
Introduction Chapter 1.
Distributed systems A collection of autonomous computers linked by a network, with software designed to produce an integrated computing facility A well.
Presentation transcript:

Univ. of TehranDistributed Operating Systems1 Advanced Operating Systems University of Tehran Dept. of EE and Computer Engineering By: Dr. Nasser Yazdani Distributed Systems (introduction) Lecture 8: Distributed Systems (introduction)

Univ. of TehranDistributed Operating Systems2 Covered topic Distributed Systems, Why? And how. References Chapter 1 of the text book

Univ. of TehranDistributed Operating Systems3 Outline Why Distributed systems Challenges. Communication Distributed Operating systems Architectural models

Distributed System? (examples) The InternetGnutella peer to peer system Food Web of Little Rock Lake, WI A Sensor Network

Univ. of TehranDistributed Operating Systems5 Problems? Bigger Problems like weather forecast, Economic modeling, Scientific problems, etc. Faster machines? It is getting harder to extract the performance modern applications require out of a single processor machine Some application are inherently distributed, sensor networks, etc. A lot of Data to store in one place More efficient use of resources, sharing resources Solution: Distributed computing

Univ. of TehranDistributed Operating Systems6 Distributed systems Definitions A collection of autonomous computers linked by a network, with software designed to produce an integrated computing facility A distributed system is a collection of independent computers that appear to users as a single computer A system in which hardware or software components located at networked computers communicate and coordinate their actions only by passing messages Examples World Wide Web Automatic Teller Machines Cell Phones

A working definition A distributed system is a collection of entities, each of which is autonomous, programmable, asynchronous and failure-prone, and which communicate through an unreliable communication medium. Our interest in distributed systems involves algorithmics, design and implementation, maintenance, study

Univ. of TehranDistributed Operating Systems8 Advantages ItemDescription EconomicsMicroprocessors offer a better price/performance than mainframes SpeedA distributed system may have more total computing power than a mainframe Inherent Distribution Some applications involve spatially separated machines. ReliabilityIf one machine crashes, the system as a whole can still survive Incremental Growth Computing power can be added in small increments

Univ. of TehranDistributed Operating Systems9 Disadvantages ItemDescription SoftwareLittle software, OSs, etc., exist at present for distributed systems NetworkingThe network can saturate or cause other problems. SecurityEasy access also applies to secret data, privacy!

A range of challenges Failures (of nodes or Network) Asynchrony Scalability Security

Univ. of TehranDistributed Operating Systems11 Consequences Concurrency Concurrency is the norm instead of the exception Synchronization is critical No Global Clock There is a limit as to how accurate a global clock can be. Contrary to parallel systems. Independent Failures The more stuff you add the more likely something will break Single system view says independent failures should not affect users

Univ. of TehranDistributed Operating Systems12 Communication Issues Building a system out of interconnected computers requires that some major issues be addressed Independent failure Unreliable communication Insecure Communication Costly Communication

Univ. of TehranDistributed Operating Systems13 Distributed Operating Systems A distributed operating system supports the encapsulation and protection of resources inside servers; and it supports mechanisms required to access these resources, including naming, communication and scheduling The software for multiple CPU systems can be divided into three rough classes Network operating systems (file servers) Distributed Operating Systems Shared Memory Multiprocessors

Univ. of TehranDistributed Operating Systems14 Parallel Computing A large collection of processing elements that can communicate and cooperate to solve large problems quickly A form of information processing which uses concurrent events during execution In other words, both the language and the hardware support concurrency

Univ. of TehranDistributed Operating Systems15 Parallel Architectures Unlike traditional von Neumann machines, there is no single standard architecture used on parallel machines In fact dozens of different parallel architectures have been built and are being used Several people have tried to classify the different types of parallel machines The taxonomy proposed by Flynn is the most commonly used

Univ. of TehranDistributed Operating Systems16 Ex. Building a mail server mail arrives from outside world store it until... user reads/deletes/saves it Solution: Solution: One server w/ disk to store mail-boxes Problems: Performance: Stable performance under high load consistent w.r.t. client-side copies concurrent mail arrival, deletion crash recovery (crash while updating mail-box) availability

Univ. of TehranDistributed Operating Systems17 Other problems? Not necessarily plenty of bandwidth Not necessarily low latency Significant variance in latency and bandwidth Frequent and unpredictable partial failure of channel Lost messages, &c What else has changed? We don't have hardware support for synchronization/atomicity among hosts We don't have a global timer or clock Frequent and unpredictable failure of some CPUs, I/O devices, &c Snoopy caches are not practical, because broadcasting is too expensive.

Univ. of TehranDistributed Operating Systems18 Challenges There are a number of challenges found in building distributed systems Heterogeneity Openness Security Scalability Failure Handling Concurrency Transparency

Univ. of TehranDistributed Operating Systems19 Heterogeneity Applies to Networks Computer Hardware Operating Systems Programming Languages Implementations Middleware applies to a software layer that helps to handle heterogeneity

Univ. of TehranDistributed Operating Systems20 Openness The characteristic that a system can be extended in various ways Hardware extensions Software extensions Historically, computer systems were largely closed UNIX broke the mold for OS IBM PC broke the mold for hardware

Univ. of TehranDistributed Operating Systems21 Security Security is a huge issue in computing in general, but even more so in distributed computing Communication Distributed Resources Infrastructure Attacks

Univ. of TehranDistributed Operating Systems22 Scalability Distributed systems operate at many different scales Two workstations and a file server Department computers… Often the more important question is not can you scale, but can you scale well Consider the Internet

Univ. of TehranDistributed Operating Systems23 Failure Handling What happens when a fault occurs? Detect Mask Tolerate Fault tolerant design is based on two approaches Hardware redundancy Software recovery

Univ. of TehranDistributed Operating Systems24 Hardware Redundancy Two computers are employed for a single application, one acting as a standby Very costly, but often very effective, solution Redundancy can be planned at a finer grain Individual servers can be replicated Redundant hardware can be used for non- critical activities when no faults are present

Univ. of TehranDistributed Operating Systems25 Software Redundancy Software must be designed so that the state of permanent data can be recovered or “rolled back” when a fault is detected Transaction processing

Univ. of TehranDistributed Operating Systems26 Concurrency Concurrency in a distributed system does not necessarily mean concurrency within a single program Many users invoke similar commands Many different server processes may be running Synchronization, of course, is a problem

Univ. of TehranDistributed Operating Systems27 Transparency TransparencyDescription 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 have several copies. Concurrency Hide that a resource may be shared by several competitive users Failure Hide the failure and recovery of a resource Persistence Hide whether a (software) resource is in memory or on disk

Univ. of TehranDistributed Operating Systems28 Scalability Problems Examples of scalability limitations. ConceptExample Centralized services A single server for all users Centralized data A single on-line telephone book Centralized algorithms Doing routing based on complete information

Univ. of TehranDistributed Operating Systems29 Scaling Techniques (1) 1.4 The difference between letting: a server or a client check forms as they are being filled

Univ. of TehranDistributed Operating Systems30 Scaling Techniques (2) 1.5 An example of dividing the DNS name space into zones.

Univ. of TehranDistributed Operating Systems31 Hardware Models 1.6 Different basic organizations and memories in distributed computer systems

Univ. of TehranDistributed Operating Systems32 Multiprocessors (1) A bus-based multiprocessor. 1.7

Univ. of TehranDistributed Operating Systems33 Multiprocessors (2) a) A crossbar switch b) An omega switching network 1.8

Univ. of TehranDistributed Operating Systems34 Homogeneous Multicomputer Systems a) Grid b) Hypercube 1-9

Univ. of TehranDistributed Operating Systems35 Software Models An overview between DOS (Distributed Operating Systems) NOS (Network Operating Systems) Middleware SystemDescriptionMain 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

Univ. of TehranDistributed Operating Systems36 Uniprocessor Operating Systems Separating applications from operating system code through a microkernel. 1.11

Univ. of TehranDistributed Operating Systems37 Multicomputer Operating Systems (1) 1.14

Univ. of TehranDistributed Operating Systems38 Multicomputer Operating Systems (2) Alternatives for blocking and buffering in message passing. 1.15

Univ. of TehranDistributed Operating Systems39 Distributed Shared Memory Systems (1) a) Pages of address space distributed among four machines b) Situation after CPU 1 references page 10 c) Situation if page 10 is read only and replication is used

Univ. of TehranDistributed Operating Systems40 Distributed Shared Memory Systems (2) False sharing of a page between two independent processes. 1.18

Univ. of TehranDistributed Operating Systems41 Network Operating System (1) General structure of a network operating system. 1-19

Univ. of TehranDistributed Operating Systems42 Positioning Middleware General structure of a distributed system as middleware. 1-22

Univ. of TehranDistributed Operating Systems43 Software Layers Applications, services Computer and network hardware Platform Operating system Middleware

Univ. of TehranDistributed Operating Systems44 Middleware What does it do? Provides an API for the application Hides the underlying heterogeneity Examples Sun RPC, ISIS CORBA RMI DCOM

Univ. of TehranDistributed Operating Systems45 Middleware and Openness In an open middleware-based distributed system, the protocols used by each middleware layer should be the same, as well as the interfaces they offer to applications. 1.23

Univ. of TehranDistributed Operating Systems46 Comparison between Systems Item Distributed OS Network OS Middleware -based OS Multiproc.Multicomp. Degree of transparency Very HighHighLowHigh Same OS on all nodes Yes No Number of copies of OS 1NNN Basis for communication Shared memory MessagesFiles Model specific Resource management Global, central Global, distributed Per node Scalability NoModeratelyYesVaries Openness Closed Open

Univ. of TehranDistributed Operating Systems47 Next Lecture DS Architecture References Chapter 2 of the book The Anatomy of the Grid Chord: A Scalable Peer to peer Lookup Service for Internet Applications.