39
CS 704D Advanced Operating System (Distributed Computing) Debasis Das

Cs 704 d set4distributedcomputing-1funda

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Cs 704 d set4distributedcomputing-1funda

CS 704DAdvanced Operating System

(Distributed Computing)

Debasis Das

Page 2: Cs 704 d set4distributedcomputing-1funda

MIT CS704D Advanced OS Class of 2011

2

Distributed Computing Fundamentals

Page 3: Cs 704 d set4distributedcomputing-1funda

MIT CS704D Advanced OS Class of 2011

3

Motivations for Distributed Computing

Fast but inexpensive processors are available aplenty

Availability of cost effective and efficient

communication networks

Result is ; distributing the computing load even over

large geographical distances is an cost effective

option now.

Page 4: Cs 704 d set4distributedcomputing-1funda

MIT CS704D Advanced OS Class of 2011

4

Types of Interconnected Multiprocessors

Tightly coupled systems

Processors in the system operate through a

common address space(a common main

memory)

Loosely couple system

Each processor has its own private memory

and are on different address spaces

Page 5: Cs 704 d set4distributedcomputing-1funda

MIT CS704D Advanced OS Class of 2011

5

Block DiagramsTightly coupled

CPU CPU CPU CPUSystemwide

Shared memory

Local Mem Local Mem Local Mem Local Mem

CPU CPU CPU CPU

Communication Network

Loosely coupled

Page 6: Cs 704 d set4distributedcomputing-1funda

MIT CS704D Advanced OS Class of 2011

6

A Distributed Computing System

A collection of processorsInterconnected by a networkEach processor has its own local memory &

peripheralsCommunication between processors is by

messagesA node is a local processor with its own local

memory and peripheralsAll others are “remote” nodes

Page 7: Cs 704 d set4distributedcomputing-1funda

MIT CS704D Advanced OS Class of 2011

7

Distributed System Models

Minicomputer Model

Workstation Model

Workstation-server model

Processor pool Model

Hybrid model

Page 8: Cs 704 d set4distributedcomputing-1funda

MIT CS704D Advanced OS Class of 2011

8

Minicomputer Model

Minicompute

r

Minicompute

r

Minicompute

r

Minicompute

r

Communication

network

Page 9: Cs 704 d set4distributedcomputing-1funda

MIT CS704D Advanced OS Class of 2011

9

Mini-computer Model

A user is connected to his local machine

Can access to the remote nodes

Resource sharing

Page 10: Cs 704 d set4distributedcomputing-1funda

MIT CS704D Advanced OS Class of 2011

10

Workstation Model

Workstation

WS

WS

WSWS

WSComunication

network

Page 11: Cs 704 d set4distributedcomputing-1funda

MIT CS704D Advanced OS Class of 2011

11

Workstation ModelUser submits work to the local workstationIf the local station is not able to manage the

processing, it will find one idle machines and transfer processes to other workstations

Problems are How to find an idle WSHow to transfer a process & execute itWhat happens to the remote process if user

logs on to an WS that was idle until now and was given for a remote process execution

Page 12: Cs 704 d set4distributedcomputing-1funda

MIT CS704D Advanced OS Class of 2011

12

Workstation-Server model

Server Server Server

WS

WS WS WS

WS

WS

Communicationnetwork

Page 13: Cs 704 d set4distributedcomputing-1funda

MIT CS704D Advanced OS Class of 2011

13

Workstation-Server modelAdvantages compared to WS model

Cheaper to provides servers with the required services than providing it locally. e.g file services

Any WS can be used to access the file serversWith diskless workstations, it is easier to maintain a

few large disks centrallyProcess migration is not necessary, request

response protocol (client server model of communication)

User gets guaranteed response time as workstations are not used for remote processes, processing power may be wasted

Page 14: Cs 704 d set4distributedcomputing-1funda

MIT CS704D Advanced OS Class of 2011

14

Processor Pool Model

Net

RunServer

File Server

Terminals

Page 15: Cs 704 d set4distributedcomputing-1funda

MIT CS704D Advanced OS Class of 2011

15

Processor Pool ModelCompared to WS-Server model

Provides better resource utilization

Additional services can be provided without the need for

more processors

Not very suitable for high performance interactive ( such

as graphics & windowing) applications, WS-server models

probably will work better

Page 16: Cs 704 d set4distributedcomputing-1funda

MIT CS704D Advanced OS Class of 2011

16

Hybrid ModelReal models depend of the workload being

handled.The work station server is a model suitable

model for users doing most work locally, doing a little bit of interactive work, send emails, execute simple programs etc.

Workstation-server configurations may have pools of processors. These pools can be used for jobs that are compute intensive

Page 17: Cs 704 d set4distributedcomputing-1funda

MIT CS704D Advanced OS Class of 2011

17

Advantages of Distributed Computing Systems

Design of distributed systems are more complex than centralized ones. That’s because communication and security issues have to be handled additionally.

Still the advantages are Applications are inherently distributable in many casesInformation sharingResource sharingBetter price performanceShorter response times, higher throughputsHigher reliabilityExtensibility & incremental growthFlexibility in meeting user needs

Page 18: Cs 704 d set4distributedcomputing-1funda

MIT CS704D Advanced OS Class of 2011

18

Inherently Distributed Applications

Applications that need local processing as well as

global level processing and viewing requirements

Employee database of a multi branch company

Banking

Airlines ticketing

Page 19: Cs 704 d set4distributedcomputing-1funda

MIT CS704D Advanced OS Class of 2011

19

Information Sharing among Distributed Users

Person to person communication over distance. In a distributed system work at a local node can be easily shared at remote nodes too

Thus users distributed at diverse areas can collaborate

Groupware is possible and is a natural for distributed computing

Page 20: Cs 704 d set4distributedcomputing-1funda

MIT CS704D Advanced OS Class of 2011

20

Resource SharingBesides information

Software in libraries

Databases

Hardware resources can be shared

Page 21: Cs 704 d set4distributedcomputing-1funda

MIT CS704D Advanced OS Class of 2011

21

Better Price Performance

Increasing performance yet falling prices of

processors

Better & higher speed networks being

available at higher reliability yet lower prices

Better resource sharing

Page 22: Cs 704 d set4distributedcomputing-1funda

MIT CS704D Advanced OS Class of 2011

22

Shorter Response & higher Throughput

If the problem can be split suitably

More processors will reduce processing time

Throughput will increase

Better resource utilization

Page 23: Cs 704 d set4distributedcomputing-1funda

MIT CS704D Advanced OS Class of 2011

23

Higher Reliability

Redundant drives, back up copies etc. can be

easily arranged in a distributed system

Availability is better

Fail soft is possible etc.

Page 24: Cs 704 d set4distributedcomputing-1funda

MIT CS704D Advanced OS Class of 2011

24

Extensibility & Incremental Growth

Additional resources can be added

incrementally

Additional processors can be added when

needed

Addition of resources does not disrupt the

work too much

Page 25: Cs 704 d set4distributedcomputing-1funda

MIT CS704D Advanced OS Class of 2011

25

Flexibility in Meeting User Needs

Ordinary data processing

High performance computing

Work can be distributed to specialized processing unit

For example, interactive jobs can run on local work

stations while processor pools can manage compute

intensive jobs

Page 26: Cs 704 d set4distributedcomputing-1funda

MIT CS704D Advanced OS Class of 2011

26

What is a Distributed OS?

“ An operating System of is a program that controls the resources of a computer system and provides its users with an interface or virtual machine that is more convenient to use than the bare machine.”- Tannenbaum & Van Renesse [1985]

Thus what OS needs to do arePresent users with a VM that is easier to program

than the underlying hardwareManage resources, keep track of resource users,

track requests, account usage, be the umpire in deciding who gets what

Page 27: Cs 704 d set4distributedcomputing-1funda

MIT CS704D Advanced OS Class of 2011

27

NOS vs. DOSSystem Image

In case of NOS it is known to the users that distinct machines working cooperatively through a communication system. Whereas a DOS provides a single machine image

AutonomySystems are autonomous. In DOS the operating

system manages all the machinesFault tolerance capability

No fault tolerance, DOS provides high levels of tolerance

Page 28: Cs 704 d set4distributedcomputing-1funda

MIT CS704D Advanced OS Class of 2011

28

Definition of a DOSAgain by Tannenbaum & Van Renesse

A distributed OS is one that looks to its users like an ordinary centralized operating system but runs on multiple, independent central processing units. The key concept here is transparency. In other words, the use of multiple processors should be invisible(transparent) to the user. Another way of expressing the same idea is to say that the user views the system as a “virtual uniprocessor”, not as a collection of distinct machines.

Page 29: Cs 704 d set4distributedcomputing-1funda

MIT CS704D Advanced OS Class of 2011

29

DifficultiesDo manage resources optimally, the manager

must be aware of the accurate status of every resource. However, a distributed system never has thatResources are physically separatedNo common clockDelivery of message may be delayed or even

lostNo accurate status information is thus

available, yet the OS has to try and run things optimally

Page 30: Cs 704 d set4distributedcomputing-1funda

MIT CS704D Advanced OS Class of 2011

30

DOS Design Issues

Page 31: Cs 704 d set4distributedcomputing-1funda

MIT CS704D Advanced OS Class of 2011

31

Features of a DOSTransparency

Reliability

Flexibility

Performance

Scalability

Heterogeneity

Security

Emulation of existing OS

Page 32: Cs 704 d set4distributedcomputing-1funda

MIT CS704D Advanced OS Class of 2011

32

Transparency Access transparency

Uniform access whether remote or local; uniform system calls and naming conventions

Location transparency Name transparency & user mobility

Replication transparency Naming & replication control

Failure transparency Redundancy; servers, communication etc.

Migration transparency Automatic, no name change, message passing (receiver has migrated)

Concurrency transparency Event driven ordering, mutual exclusion, no-starvation

Performance transparency Auto reconfig, scaling should not cause disruption

Page 33: Cs 704 d set4distributedcomputing-1funda

MIT CS704D Advanced OS Class of 2011

33

ReliabilityFaults can be fail-stop or Byzantine;

prevention includesFault Avoidance

Good design practices, low failure components, redundancy etc.

Fault Tolerance Redundancy, distributed control

Fault Detection & Recovery Atomic transactions, stateless servers, ack & time

out based messages

Page 34: Cs 704 d set4distributedcomputing-1funda

MIT CS704D Advanced OS Class of 2011

34

FlexibilityEase of modifications

When required it should be easy to modify sub-systems

Ease of enhancementWhen required it should be easy to enhance

featuresStructure of the kernel

Monolithic kernel or a microkernel Modular, server based services, easy to implement

and modify There is a small performance penalty

Page 35: Cs 704 d set4distributedcomputing-1funda

MIT CS704D Advanced OS Class of 2011

35

PerformanceBatch, if possible

Cache whenever possible

Minimize copying of data

Minimize network traffic

Take advantage of fine grained parallelism

for multiprocessing

Page 36: Cs 704 d set4distributedcomputing-1funda

MIT CS704D Advanced OS Class of 2011

36

Scalability

Avoid centralized entities

Avoid centralized algorithms

Perform most operations on client

workstations

Page 37: Cs 704 d set4distributedcomputing-1funda

MIT CS704D Advanced OS Class of 2011

37

Heterogeneity

Format related issues could be a big hurdle

Format interchange conversions will have to

be supported

Better to have an intermediate internal

format

Page 38: Cs 704 d set4distributedcomputing-1funda

MIT CS704D Advanced OS Class of 2011

38

SecuritySender needs to know the right receiver

received the message

The receiver needs to have assurance that a

genuine sender sent the message

Both sender and receiver need to be assured

that the contents of the message was not

tampered with during transmission

Page 39: Cs 704 d set4distributedcomputing-1funda

MIT CS704D Advanced OS Class of 2011

39

Emulation of Existing Operating System

New developments will use the API of the

new OS

Necessary for the ability to run existing

applications

Backward compatibility