1. Introduction to Distributed Systems. 1. Introduction Two advances in computer technology: A. The development of powerful microprocessors. B. The invention.

Slides:



Advertisements
Similar presentations
Advanced Operating Systems Prof. Muhammad Saeed Distributed Operating Systems.
Advertisements

Multiple Processor Systems
© 2009 Fakultas Teknologi Informasi Universitas Budi Luhur Jl. Ciledug Raya Petukangan Utara Jakarta Selatan Website:
Classification of Distributed Systems Properties of Distributed Systems n motivation: advantages of distributed systems n classification l architecture.
CSCI 8150 Advanced Computer Architecture Hwang, Chapter 1 Parallel Computer Models 1.2 Multiprocessors and Multicomputers.
CS 620 Advanced Operating Systems
Multiple Processor Systems Chapter Multiprocessors 8.2 Multicomputers 8.3 Distributed systems.
REK’s adaptation of Prof. Claypool’s adaptation of
Distributed Hardware How are computers interconnected ? –via a bus-based –via a switch How are processors and memories interconnected ? –Private –shared.
Chapter 17 Parallel Processing.
CSE 380 Lecture Note 13 Insup Lee
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
Hardware/Software Concepts Tran, Van Hoai Department of Systems & Networking Faculty of Computer Science & Engineering HCMC University of Technology.
DISTRIBUTED COMPUTING
Chapter 51 Threads Chapter 5. 2 Process Characteristics  Concept of Process has two facets.  A Process is: A Unit of resource ownership:  a virtual.
Computer System Architectures Computer System Software
A brief overview about Distributed Systems Group A4 Chris Sun Bryan Maden Min Fang.
1 Lecture 20: Parallel and Distributed Systems n Classification of parallel/distributed architectures n SMPs n Distributed systems n Clusters.
Multiple Processor Systems. Multiprocessor Systems Continuous need for faster and powerful computers –shared memory model ( access nsec) –message passing.
What is a Distributed System? n From various textbooks: l “A distributed system is a collection of independent computers that appear to the users of the.
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Parallel Programming in C with MPI and OpenMP Michael J. Quinn.
Univ. of TehranDistributed Operating Systems1 Advanced Operating Systems University of Tehran Dept. of EE and Computer Engineering By: Dr. Nasser Yazdani.
Parallel Processing - introduction  Traditionally, the computer has been viewed as a sequential machine. This view of the computer has never been entirely.
CSCI 232© 2005 JW Ryder1 Parallel Processing Large class of techniques used to provide simultaneous data processing tasks Purpose: Increase computational.
Multiple Processor Systems Chapter Multiprocessors 8.2 Multicomputers 8.3 Distributed systems.
Distributed Systems. Introduction to Distributed Systems Why do we develop distributed systems? –availability of powerful yet cheap microprocessors (PCs,
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.
Multiprossesors Systems.. What are Distributed Databases ? “ A Logically interrelated collection of shared data ( and a description of this data) physically.
Multiple Processor Systems. Multiprocessor Systems Continuous need for faster computers –shared memory model ( access nsec) –message passing multiprocessor.
Copyright © 2011 Curt Hill MIMD Multiple Instructions Multiple Data.
Orange Coast College Business Division Computer Science Department CS 116- Computer Architecture Multiprocessors.
PARALLEL PROCESSOR- TAXONOMY. CH18 Parallel Processing {Multi-processor, Multi-computer} Multiple Processor Organizations Symmetric Multiprocessors Cache.
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.
UNIT-I. 11/14/00CSE 3802 UNIT-I Distributed Systems ECS-701 Lecture Note NEERAJ KUMAR.
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.
1.1 Sandeep TayalCSE Department MAIT 1: Introduction What is an operating system? Simple Batch Systems Multiprogramming Batched Systems Time-Sharing Systems.
Multiprocessor  Use large number of processor design for workstation or PC market  Has an efficient medium for communication among the processor memory.
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.
Introduction Goal: connecting multiple computers to get higher performance – Multiprocessors – Scalability, availability, power efficiency Job-level (process-level)
Univ. of TehranDistributed Operating Systems1 Advanced Operating Systems University of Tehran Dept. of EE and Computer Engineering By: Dr. Nasser Yazdani.
Intro to Distributed Systems Hank Levy. 23/20/2016 Distributed Systems Nearly all systems today are distributed in some way, e.g.: –they use –they.
Introduction to Distributed Systems. Distributed System Definitions:  “A distributed system is a collection of independent computers that appear to the.
System Models Advanced Operating Systems Nael Abu-halaweh.
Lecture 13 Parallel Processing. 2 What is Parallel Computing? Traditionally software has been written for serial computation. Parallel computing is the.
University of Pennsylvania 1 Distributed Systems 개요 By Ilmin Kim.
Distributed Operating Systems Spring 2004
Overview Parallel Processing Pipelining
Distributed Operating Systems
Introduction to Distributed Systems
Definition of Distributed System
CS 147 – Parallel Processing
Advanced Operating Systems
Chapter 17 Parallel Processing
Introduction To Distributed Systems
Presentation transcript:

1. Introduction to Distributed Systems

1. Introduction Two advances in computer technology: A. The development of powerful microprocessors. B. The invention of high-speed computer networks.

The advances make it possible to put together computing systems composed of large numbers of CPUs connected by a high-speed network. They are called distributed systems.

What is a distributed system? A distributed system is a collection of independent computers that appear to the users of the system as a single computer. Eg. 1 a network of workstations in a university or company department. Eg. 2 a factory full of robots, each containing a powerful computer for handling vision, planning, communication, and other tasks. Eg. 3 a large bank with hundreds of branch offices all over the world.

What is a centralized system? A centralized system (or a single- processor system) consists of a single CPU, its memory, peripherals, and some terminals.

Advantages of Distributed Systems over Centralized Systems 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

Advantages of Distributed Systems over Independent PCs Data sharingAllow many users access to a common data base Device sharingAllow many users to share expensive peripherals like color printers CommunicationMake human-to-human communication easier, for example, by electronic mail FlexibilitySpread the workload over the available machines in the most cost effective way

Disadvantages of Distributed Systems SoftwareLittle software exists at present for distributed systems NetworkingThe network can saturate or cause other problems SecurityEasy access also applies to secret data

Multiple CPU computer system categories SISD: a computer with a single instruction stream and a single data stream. e.g. all traditional uniprocessor computers (those having only one CPU), from personal computers to large mainframes. SIMD: single instruction, multiple data stream. e.g. array processors with one instruction unit that fetches an instruction, and then commands many data units to carry it out in parallel, each with its own data.

MISD: multiple instruction stream, single data stream. e.g. no known computers fit this model. MIMD: multiple instruction stream, multiple data stream. e.g. a group of independent computers, each with its own program counter, program, and data.

Parallel and distributed computers Hardware Multiprocessors (shared memory) Multicomputers (private memory) Bus Switched Bus Switched Tightly coupledLoosely coupled Sequent, Encore Ultracomputer, RP3 Workstations on a LAN Hypercube, Transputer MIMD

Tightly-coupled system: the delay experienced when a message is sent from one computer to another is short, the data rate is high. Loosely-coupled system: the delay is large and the data rate is low.

Bus-Based Multiprocessors CPU Cache CPU Cache CPU Cache Memory Bus

Drawback As few as 4 or 5 CPUs, the bus will be overloaded. Solution: cache memory. Problem with cache: incoherent. Solution to incoherent: snoopy write through cache.

Write through: whenever a word is written to the cache, it is written through to memory as well. Snoopy cache: a cache is always “snooping” on the bus. Whenever it sees a write occurring to a memory address present in its cache, it either invalids the entry or updates it.

Switched Multiprocessors- crossbar switch MMMM C C C C Crosspoint switch CPUs Memories

Cross switch Advantage: many CPUs can be accessing memory at the same time. Disadvantage: need N 2 crosspoint switches with n CPUs and n memories. One solution: use omega network.

Switched Multiprocessors-omega switch C C C C M M M M 2 X 2 switch An omega switching network

Omega network With n CPUs and n memories, it requires log 2 n switching stages, each containing n/2 switches, for a total of (n log 2 n)/2 switches. Better than crossbar switch, but still big. Another drawback: delay (due to the number of stages).

NUMA machine To reduce delay, use NUMA (NonUniform Memory Access): Some memory is associate with each CPU. Each CPU can access its own local memory quickly, but accessing anybody else’s memory is slower.

NUMA machine Advantage: have better average access times than omega machines Disadvantage: the placement of the programs and data becomes complicated because most access should go to the local memory.

Bus-Based Multicomputers Local memory CPU Local memory CPU Local memory CPU Workstation Network A multicomputer consisting of workstations on a LAN

Switched Multicomputers- Grid

Switched Multicomputers- Hypercube

Loosely-coupled software on loosely-coupled hardware Network Operating Systems: A network of workstations connected by a LAN.

Tightly-coupled software on loosely-coupled hardware True distributed systems: It is tightly- coupled software on the same loosely- coupled (multicomputer) hardware.

Characteristics of a distributed systems There must be a single, global interprocess communication mechanism so that any process can talk to any other process. Process management must also be the same everywhere. The file system must look the same everywhere, too. It is normal that identical kernels run on all the CPUs in the system. Each kernel can have considerable control over its own local resources.

Tightly-coupled software on tightly-coupled hardware Multiprocessor Timesharing Systems The key characteristic of this class of system is the existence of a single run queue: a list of all the processes in the system that are logically unblocked and ready to run.

Comparison Network OS Distributed OSMultiprocessor OS Does it look like a virtual uniprocessor? NoYes Do all have to run the same operating system? NoYes How many copies of the operating system are there? NN1 How is communication achieved?Shared files MessagesShared memory Are agreed upon network protocols required? Yes No Is there a single run queue?No Yes Does file sharing have well-defined semantics? Usually NoYes

Design Issues-Transparency Location transparencyThe users cannot tell where resources are located Migration transparencyResources can move at will without changing their names Replication transparencyThe users cannot tell how many copies exist Concurrency transparencyMultiple users can share resources automatically Parallelism transparencyActivities can happen in parallel without users knowing

Design Issue - Flexibility one school maintains that each machine should run a traditional kernel that provides most services itself. The other maintains that the kernel should provide as little as possible, with the bulk of the operating system services available from user-level servers.

Design Issue - Reliability High availability Security Fault tolerance

Design Issue - performance Fine-grained parallelism: jobs that involve a large number of small computations, especially ones that interact highly with one another, may cause trouble on a distributed system with relatively slow computation. Coarse-grained parallelism: jobs that involve large computations, low interaction rates, and little data.

Design Issue - Scalability Potential bottlenecks that designers should try to avoid in very large distributed systems. Centralized componentsA single mail server for all users Centralized tablesA single on-line telephone book Centralized algorithmsDoing routing based on complete information