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

Similar documents
DISTRIBUTED COMPUTING

INTRODUCTION TO Object Oriented Systems BHUSHAN JADHAV

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

Distributed OS and Algorithms

Introduction. Chapter 1

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

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

Advanced Operating Systems

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

Distributed Operating Systems Spring Prashant Shenoy UMass Computer Science.

Concepts of Distributed Systems 2006/2007

CS4513 Distributed Computer Systems

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

Client Server & Distributed System. A Basic Introduction

Distributed and Operating Systems Spring Prashant Shenoy UMass Computer Science.

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

Lecture 9: MIMD Architectures

Distributed Computing. Santa Clara University 2016

Multiprocessors 2007/2008

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

Chapter 18 Parallel Processing

CSCI 4717 Computer Architecture

TDP3471 Distributed and Parallel Computing

Lecture 9: MIMD Architectures

Lecture 1: January 22

02 - Distributed Systems

02 - Distributed Systems

Chapter 20: Database System Architectures

Organisasi Sistem Komputer

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

Computer Organization. Chapter 16

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

From Module To Objects

Lecture 1: January 23

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

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

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

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

Introduction. Distributed Systems IT332

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

Distributed Systems COMP 212. Lecture 1 Othon Michail

Lecture 23 Database System Architectures

Ian Foster, CS554: Data-Intensive Computing

Fundamentals. CHflPTCR WHAT IS A DISTRISUTCD COMPUTING SVSTCM?

Lecture 9: MIMD Architecture

Multiprocessors 2014/2015

Virtual Machines. 2 Disco: Running Commodity Operating Systems on Scalable Multiprocessors([1])

CHAPTER 5 GENERAL OOP CONCEPTS

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

Chapter 1: Introduction

CA464 Distributed Programming

System types. Distributed systems

The modularity requirement

Parallel Processing. Computer Architecture. Computer Architecture. Outline. Multiple Processor Organization

CSE 5306 Distributed Systems. Course Introduction

1. Distributed Systems

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

What is a distributed system?

Chapter 18. Parallel Processing. Yonsei University

Distributed Systems Principles and Paradigms. Chapter 01: Introduction

Non-uniform memory access machine or (NUMA) is a system where the memory access time to any region of memory is not the same for all processors.

Distributed Systems Principles and Paradigms

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

Operating Systems : Overview

Module 1 - Distributed System Architectures & Models

Chapter 17: Distributed Systems (DS)

AOSA - Betriebssystemkomponenten und der Aspektmoderatoransatz

DISTRIBUTED SYSTEMS [COMP9243] Lecture 3b: Distributed Shared Memory DISTRIBUTED SHARED MEMORY (DSM) DSM consists of two components:

Distributed systems. Distributed Systems Architectures. System types. Objectives. Distributed system characteristics.

1. Memory technology & Hierarchy

OBJECT ORIENTED PROGRAMMING

Distributed Scheduling for the Sombrero Single Address Space Distributed Operating System

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture

Distributed Shared Memory

9. Distributed Shared Memory

Introduction to Distributed Systems

Distributed Systems COMP 212. Lecture 1 Othon Michail

It also performs many parallelization operations like, data loading and query processing.

Lecture 13: Object orientation. Object oriented programming. Introduction. Object oriented programming. OO and ADT:s. Introduction

Designing Issues For Distributed Computing System: An Empirical View


Distributed Systems Architectures. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 12 Slide 1

Survey on Compiler Analysis in India

Memory Systems in Pipelined Processors

Multiprocessors & Thread Level Parallelism

Assignment 5. Georgia Koloniari

Operating System Overview. Chapter 2

What are the characteristics of Object Oriented programming language?

Support for resource sharing Openness Concurrency Scalability Fault tolerance (reliability) Transparence. CS550: Advanced Operating Systems 2

Chapter 1: Distributed Information Systems

CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS

CS 454/654 Distributed Systems. Course Objective

What is a Programming Paradigm

Distributed Systems. 01. Introduction. Paul Krzyzanowski. Rutgers University. Fall 2013

Introduction to Distributed Systems

Object oriented programming Concepts

Elementary Concepts of Object Class

Chapter 14 Operating Systems

Chapter 14 Operating Systems

Gustavo Alonso, ETH Zürich. Web services: Concepts, Architectures and Applications - Chapter 1 2

Transcription:

CHAPTER 1 Fundamentals of Distributed System Introduction Distributed Computing Models Software Concepts Issues in designing Distributed System Client Server Model 1

What is a Distributed System? Tanenbaum s definition of a distributed system: A distributed system is a collection of independent computers that appear to the users of the system as a single coherent system. 2

An Example of a Distributed System Nationalized Bank with multiple Branch Offices 3

Requirements of Distributed Systems Security and reliability Consistency of replicated data Concurrent transactions (operations which involve accounts in different banks; simultaneous access from several users, etc.) Fault tolerance 4

Architectures for Distributed Systems Shared memory architectures / Tightly coupled systems easier to program Distributed memory architectures / Loosely coupled systems offer a superior price performance ratio and are scalable 5

Architectures for Distributed Systems 6

Distributed Computing Workstation model Models Workstation server model Processor-pool model 7

Workstation Model Consists of network of personal computers Each one with its own hard disk and local file system Interconnected over the network 8

Workstation-server Model Consists of multiple workstations coupled with powerful servers with extra hardware to store the file systems and other software like databases 9

Processor-pool Model Consists of multiple processors: a pool of processors and a group of workstations 10

Advantages of Distributed Systems Inherently distributed applications Information sharing among geographically distributed users Resource Sharing Better price performance ratio Shorter response time & higher throughput Higher reliability and availability against component failures Extensibility and Incremental Growth Better Flexibility 11

Disadvantages of Distributed Systems Relevant software does not exist currently Security poses a problem due to easy access to all data Networking saturation may cause a hurdle in data transfer 12

Software Concepts Network Operating System (NOS) Distributed Operating System (DOS) Multiprocessor Time Sharing System 13

Network Operating System (NOS) Build using a distributed system from a network of workstations connected by high speed network. Each workstation is an independent computer with its own operating system, memory and other resources like hard disks, file system and databases 14

Distributed Operating System (DOS) Enables a distributed system to behave like a virtual uniprocessor even though the system operates on a collection of machines. Characteristics enabling Inter process communication Uniform process management mechanism Uniform and visible file system Identical kernel implementation Local control of machines handling scheduling issues 15

Multiprocessor Time Sharing System Combination of tightly coupled software and tightly coupled hardware with multiple CPUs projecting a uniprocessor image. Tasks are queued in shared memory and are scheduled to be executed in time shared mode on available processors. 16

Comparison of Different Software Concepts Operating Systems 17

Issues in Designing Distributed Systems Transparency Flexibility Reliability Performance Scalability Security 18

Transparency Transparencies required for Distributed Systems 19

Replication Transparency Locating Replicated File stored on any server 20

Flexibility Monolithic kernel approach Here kernel does all functions and provides facilities at local machine There is over Burdon on kernel Microkernel approach It takeout as much functionality as possible from kernel And retain only essential functions. Provides only few functions in the kernel while uses process server to manage IPC,pager fro MM and fs management. Its easy to port maintain Sunita and mahajan extend and Seema Shah 21

flexiblity In initial stages there may be need for modification of platform The best way to achieve flexibility is to take a decision where to use monolithic or microkernel on each machine. Kernel is the central controller which provides basic system facilities. 22

Monolithic Kernel Approach Uses the minimalist, modular approach with accessibility to other services as needed 23

Microkernel Approach Uses the kernel does it all approach with all functionalities provided by the kernel irrespective whether all machines use it or not 24

Monolithic versus Microkernel Approach 25

Reliability Availability in case of Hardware failure Data recovery in case of Data failure Maintain consistency in case of replicated data 26

Performance Metrics are Response time Throughput System utilization Amount of network capacity used 27

Scalability Techniques to handle scalability issues hide communication latencies hide distribution hide replication 28

Hide Communication Latencies 29

Hide Distribution 30

Security Confidentiality means protection against unauthorized access Integrity implies protection of data against corruption Availability means protection against failure always accessible 31

Client-Server Model 32

Client-Server Addressing Techniques Machine addressing Process addressing Name server addressing 33

Client-Server Addressing Techniques 34

Client-Server Implementation Messages for client server interaction Request, Reply, Acknowledge, Are you Alive, I am Alive 35

Differentiation between the Client and the Server User interface level Processin g level Data level 36

Client-Server Architecture 37

Client-Server Architecture 38

Thank you 39

PROCEDURAL PROGRAMMING Procedural programming is by far the most common form of programming. A program is a series of instructions which operate on variables. It is also known as imperative programming Examples of procedural programming languages include FORTRAN, ALGOL, Pascal, C, MODULA2, Ada, BASIC. Despite their differences they all share the common characteristics of procedural programming Advantages of procedural programming include its relative simplicity, and ease of implementation of compilers and interpreters. Disadvantages of procedural programming include the difficulties of reasoning about programs and to some degree difficulty of parallelization. Procedural programming tends to be relatively low level compared to some other paradigms, and as a result can be very much less productive. 40

OBJECT ORIENTED PROGRAMMING Object oriented programming is characterized by the defining of classes of objects, and their properties. Inheritance of properties is one way of reducing the amount of programming, and provision of class libraries in the programming environment can also reduce the effort required. The most widely used object oriented language is C++ which provides object extensions to C, but this is rapidly being overtaken by Java. Features Of Object-Oriented Programming Data Abstraction and Encapsulation Operations on the data are considered to be part of the data type We can understand and use a data type without knowing all of its implementation details Neither how the data is represented nor how the operations are implemented We just need to know the interface (or method headers) how to communicate with the object Compare to functional abstraction with methods 41

OBJECT ORIENTED PROGRAMMING Inheritance Properties of a data type can be passed down to a sub-type we can build new types from old ones We can build class hierarchies with many levels of inheritance Polymorphism Operations used with a variable are based on the class of the object being accessed, not the class of the variable Parent type and sub-type objects can be accessed in a consistent way OOP s world Procedural Language world Class structure { { Objects structure variables } } 42

Distributed System and Middleware Concepts 43

DISTRIBUTED SYSTEM A distributed system is a collection of independent computers that appears to its users as a single coherent system Important characteristics of distributed systems - Differences between the various computers and the ways in which they communicate are hidden from users - Users and applications can interact with a distributed system in a consistent and uniform way, regardless of where and when interaction takes place Goals of Distributed System 4 important goals that should be met to make building a distributed system worth the effort they are 1) Easily connect Users to resources, hide the fact that resources are distributed across a network, open, scalable 44

2) Transparency A distributed system that is able to present itself to users and applications as if it were only a single computer system is said to be transparent. Which hides whether a Implementation i.e. software resource is in main memory or disk Forms of 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 45

3) Openness An open distributed system is a system that offers services according to standard rules. 4) Scalability Scalability of a system can be measured along at Least three different dimensions -First, a system can be scalable with respect to its size, we can easily add more users and resources to the system. -Second, a geographically scalable system users and resources may lie far apart. -Third, a system can be administratively scalable; it can still be easy to manage even if it spans many independent administrative organizations. 46

Reference Sunita Mahajan and Seema Shah 47

ANY QUESTION 48

T H A N K Y O U 49