Unit 2 Distributed Systems R.Yamini Dept. Of CA, SRM University Kattankulathur



Similar documents
Virtual machine interface. Operating system. Physical machine interface

Principles and characteristics of distributed systems and environments

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

How To Understand The Concept Of A Distributed System

Distributed Operating Systems

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

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

Introduction to Distributed Systems

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

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

How To Make A Distributed System Transparent

1 Organization of Operating Systems

Chapter 11 Distributed File Systems. Distributed File Systems

Chapter 18: Database System Architectures. Centralized Systems

Agenda. Distributed System Structures. Why Distributed Systems? Motivation

Microkernels, virtualization, exokernels. Tutorial 1 CSC469

Design and Implementation of the Heterogeneous Multikernel Operating System

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

Distributed Systems. Security concepts; Cryptographic algorithms; Digital signatures; Authentication; Secure Sockets

Symmetric Multiprocessing

Distributed Computing

Network Attached Storage. Jinfeng Yang Oct/19/2015

SERVER CLUSTERING TECHNOLOGY & CONCEPT

Components of a Computer System

1.4 SOFTWARE CONCEPTS

AN OVERVIEW OF DISTRIBUTED DATABASE MANAGEMENT

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

A network is a group of devices (Nodes) connected by media links. A node can be a computer, printer or any other device capable of sending and

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

A Comparison of Distributed Systems: ChorusOS and Amoeba

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

COSC 6374 Parallel Computation. Parallel I/O (I) I/O basics. Concept of a clusters

Review from last time. CS 537 Lecture 3 OS Structure. OS structure. What you should learn from this lecture

CPS221 Lecture: Operating System Structure; Virtual Machines

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

Lecture 2 Parallel Programming Platforms

CMSC 611: Advanced Computer Architecture

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

Multi-core architectures. Jernej Barbic , Spring 2007 May 3, 2007

theguard! ApplicationManager System Windows Data Collector

Operating Systems 4 th Class

Lecture 23: Multiprocessors

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

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

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

Introduction to Cloud Computing

Solving I/O Bottlenecks to Enable Superior Cloud Efficiency

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

Technology Insight Series

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

Outline: Operating Systems

Distributed Databases

Chapter 1: Introduction. What is an Operating System?

UNIT I LESSON 1: DISTRIBUTED SYSTEMS

Achieving Mainframe-Class Performance on Intel Servers Using InfiniBand Building Blocks. An Oracle White Paper April 2003

CHAPTER 1 INTRODUCTION

Computer Science 4302 Operating Systems. Student Learning Outcomes

Distributed Systems Lecture 1 1

Router Architectures


LinuxWorld Conference & Expo Server Farms and XML Web Services

Chapter 17: Distributed Systems

IOS110. Virtualization 5/27/2014 1

Chapter 12: Multiprocessor Architectures. Lesson 04: Interconnect Networks

CHAPTER 15: Operating Systems: An Overview

Introduction to Cloud Computing

DISTRIBUTED AND PARALLELL DATABASE

SAN Conceptual and Design Basics

UNIT 2 CLASSIFICATION OF PARALLEL COMPUTERS

Avid ISIS

Virtualization. Pradipta De

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

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

Load Balancing in Distributed Data Base and Distributed Computing System

Parallel Computing. Benson Muite. benson.

Andrew McRae Megadata Pty Ltd.

Big data management with IBM General Parallel File System

Distributed System: Definition

What You Will Learn About. Computers Are Your Future. Chapter 8. Networks: Communicating and Sharing Resources. Network Fundamentals

Vorlesung Rechnerarchitektur 2 Seite 178 DASH

How do Users and Processes interact with the Operating System? Services for Processes. OS Structure with Services. Services for the OS Itself

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

361 Computer Architecture Lecture 14: Cache Memory

Cloud Based Application Architectures using Smart Computing

Operating Systems: Basic Concepts and History

Client/Server and Distributed Computing

M.Sc. IT Semester III VIRTUALIZATION QUESTION BANK Unit 1 1. What is virtualization? Explain the five stage virtualization process. 2.

COS 318: Operating Systems. Virtual Machine Monitors

COMP 422, Lecture 3: Physical Organization & Communication Costs in Parallel Machines (Sections 2.4 & 2.5 of textbook)

Why Computers Are Getting Slower (and what we can do about it) Rik van Riel Sr. Software Engineer, Red Hat

Learning Objectives. Chapter 1: Networking with Microsoft Windows 2000 Server. Basic Network Concepts. Learning Objectives (continued)

Effective Computing with SMP Linux

PikeOS: Multi-Core RTOS for IMA. Dr. Sergey Tverdyshev SYSGO AG , Moscow

INTRODUCTION ADVANTAGES OF RUNNING ORACLE 11G ON WINDOWS. Edward Whalen, Performance Tuning Corporation

Control 2004, University of Bath, UK, September 2004

Transcription:

Unit 2 Distributed Systems R.Yamini Dept. Of CA, SRM University Kattankulathur 1

Introduction to Distributed Systems Why do we develop distributed systems? availability of powerful yet cheap microprocessors (PCs, workstations), continuing advances in communication technology, 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 system. Examples: Network of workstations Distributed manufacturing system (e.g., automated assembly line) Network of branch office computers 2

Advantages of Distributed Systems over Centralized Systems Economics: a collection of microprocessors offer a better price/performance than mainframes. Low price/performance ratio: cost effective way to increase computing power. Speed: a distributed system may have more total computing power than a mainframe. Ex. 10,000 CPU chips, each running at 50 MIPS. Not possible to build 500,000 MIPS single processor since it would require 0.002 nsec instruction cycle. Enhanced performance through load distributing. Inherent distribution: Some applications are inherently distributed. Ex. a supermarket chain. Reliability: If one machine crashes, the system as a whole can still survive. Higher availability and improved reliability. Incremental growth: Computing power can be added in small increments. Modular expandability Another deriving force: the existence of large number of personal computers, the need for people to collaborate and share information. 3

Advantages of Distributed Systems over Independent PCs Data sharing: allow many users to access to a common data base Resource Sharing: expensive peripherals like color printers Communication: enhance human to human communication, e.g., email, chat Flexibility: spread the workload over the available machines 4

Disadvantages of Distributed Systems Software: difficult to develop software for distributed systems Network: saturation, lossy transmissions Security: easy access also applies to secrete data 5

Hardware Concepts Taxonomy (Fig. 9 4) MIMD (Multiple Instruction Multiple Data) Tightly Coupled versus Loosely Coupled Tightly coupled systems (multiprocessors) o shared memory o intermachine delay short, data rate high Loosely coupled systems (multicomputers) o private memory o intermachine delay long, data rate low 6

Bus versus Switched MIMD Bus: a single network, backplane, bus, cable or other medium that connects all machines. E.g., cable TV Switched: individual wires from machine to machine, with many different wiring patterns in use. Multiprocessors (shared memory) Bus Switched Multicomputers (private memory) Bus Switched 7

Switched Multiprocessors Switched Multiprocessors (Fig. 9 6) for connecting large number (say over 64) of processors crossbar switch: n**2 switch points omega network: 2x2 switches for n CPUs and n memories, log n switching stages, each with n/2 switches, total (n log n)/2 switches delay problem: E.g., n=1024, 10 switching stages from CPU to memory. a total of 20 switching stages. 100 MIPS 10 nsec instruction execution time need 0.5 nsec switching time NUMA (Non Uniform Memory Access): placement of program and data building a large, tightly coupled, shared memory multiprocessor is possible, but is difficult and expensive 9

Multicomputers Bus Based Multicomputers (Fig. 9 7) easy to build communication volume much smaller relatively slow speed LAN (10 100 MIPS, compared to 300 MIPS and up for a backplane bus) Switched Multicomputers (Fig. 9 8) interconnection networks: E.g., grid, hypercube hypercube: n dimensional cube 10

Software Concepts Software more important for users Three types: 1. Network Operating Systems 2. (True) Distributed Systems 3. Multiprocessor Time Sharing 11

Network Operating Systems loosely coupled software on loosely coupled hardware A network of workstations connected by LAN each machine has a high degree of autonomy o rlogin machine o rcp machine1:file1 machine2:file2 Files servers: client and server model Clients mount directories on file servers Best known network OS: o Sun s NFS (network file servers) for shared file systems (Fig. 9 11) a few system wide requirements: format and meaning of all the messages exchanged 12

NFS NFS Architecture Server exports directories Clients mount exported directories NSF Protocols For handling mounting For read/write: no open/close, stateless NSF Implementation 13

(True) Distributed Systems tightly coupled software on loosely coupled hardware provide a single system image or a virtual uniprocessor a single, global interprocess communication mechanism, process management, file system; the same system call interface everywhere Ideal definition: A distributed system runs on a collection of computers that do not have shared memory, yet looks like a single computer to its users. 14

Multiprocessor Operating Systems (Fig. 9 12) Tightly coupled software on tightly coupled hardware Examples: high performance servers shared memory single run queue traditional file system as on a single processor system: central block cache Fig. 9 13 for comparisons 15

Design Issues of Distributed Systems Transparency Flexibility Reliability Performance Scalability 16

1. Transparency How to achieve the single system image, i.e., how to make a collection of computers appear as a single computer. Hiding all the distribution from the users as well as the application programs can be achieved at two levels: 1) hide the distribution from users 2) at a lower level, make the system look transparent to programs. 1) and 2) requires uniform interfaces such as access to files, communication. 17

Types of transparency Location Transparency: users cannot tell where hardware and software resources such as CPUs, printers, files, data bases are located. Migration Transparency: resources must be free to move from one location to another without their names changed. E.g., /usr/lee, /central/usr/lee Replication Transparency: OS can make additional copies of files and resources without users noticing. Concurrency Transparency: The users are not aware of the existence of other users. Need to allow multiple users to concurrently access the same resource. Lock and unlock for mutual exclusion. Parallelism Transparency: Automatic use of parallelism without having to program explicitly. The holy grail for distributed and parallel system designers. Users do not always want complete transparency: a fancy printer 1000 miles away 18

2. Flexibility Make it easier to change Monolithic Kernel: systems calls are trapped and executed by the kernel. All system calls are served by the kernel, e.g., UNIX. Microkernel: provides minimal services. (Fig 9 15) 1) IPC 2) some memory management 3) some low level process management and scheduling 4) low level i/o E.g., Mach can support multiple file systems, multiple system interfaces. 19

3. Reliability Distributed system should be more reliable than single system. Example: 3 machines with.95 probability of being up. 1.05**3 probability of being up. Availability: fraction of time the system is usable. Redundancy improves it. Need to maintain consistency Need to be secure Fault tolerance: need to mask failures, recover from errors. 20

4. Performance Without gain on this, why bother with distributed systems. Performance loss due to communication delays: fine grain parallelism: high degree of interaction coarse grain parallelism Performance loss due to making the system fault tolerant. 21

5. Scalability Systems grow with time or become obsolete. Techniques that require resources linearly in terms of the size of the system are not scalable. e.g., broadcast based query won't work for large distributed systems. Examples of bottlenecks o Centralized components: a single mail server o Centralized tables: a single URL address book o Centralized algorithms: routing based on complete information 22