distributed systems definition. definition of a distributed system a distributed system is a...

37
Distributed Systems Definition

Upload: paula-dickerson

Post on 18-Jan-2016

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Distributed Systems Definition. Definition of a Distributed System  A distributed system is a collection of independent computers that appears to its

Distributed Systems

Definition

Page 2: Distributed Systems Definition. Definition of a Distributed System  A distributed system is a collection of independent computers that appears to its

Definition of a Distributed System

A distributed system is a collection of independent computers that appears to its users as a single system.

Page 3: Distributed Systems Definition. Definition of a Distributed System  A distributed system is a collection of independent computers that appears to its

A definition (Coulouris, et al)

System of networked computers that

communicate and coordinate their actions only by passing messages

concurrent execution of programs components fail independently of

one another

Page 4: Distributed Systems Definition. Definition of a Distributed System  A distributed system is a collection of independent computers that appears to its

A definition (Lamport)

“You know you have a distributed system when the crash of a computer you’ve never heard of stops you from getting any work done.” inter-dependencies shared state

Page 5: Distributed Systems Definition. Definition of a Distributed System  A distributed system is a collection of independent computers that appears to its

Distributed System

Page 6: Distributed Systems Definition. Definition of a Distributed System  A distributed system is a collection of independent computers that appears to its

Operating System types Centralized Systems

Process management Network System

Share resources Remote access Telnet / FTP No direct control from machine to another

Distributed system Global view of files system Global name Global time….

Page 7: Distributed Systems Definition. Definition of a Distributed System  A distributed system is a collection of independent computers that appears to its

Distributed system properties

Connect users and resources

Transparency

Scalability

Openness

Page 8: Distributed Systems Definition. Definition of a Distributed System  A distributed system is a collection of independent computers that appears to its

Transparency

To hide the fact that machines are

physically distributed and how much

the distributed system appears as

single system

Page 9: Distributed Systems Definition. Definition of a Distributed System  A distributed system is a collection of independent computers that appears to its

Transparency in a Distributed System

Different forms of transparency in a distributed system.

TransparencyDescription

AccessHide differences in data representation and how a resource is accessed

LocationHide where a resource is located

Migration Hide that a resource may move to another location

RelocationHide that a resource may be moved to another location while in use

ReplicationHide that a resource may be shared by several competitive users

ConcurrencyHide that a resource may be shared by several competitive users

FailureHide the failure and recovery of a resource

PersistenceHide whether a (software) resource is in memory or on disk

Page 10: Distributed Systems Definition. Definition of a Distributed System  A distributed system is a collection of independent computers that appears to its

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

Page 11: Distributed Systems Definition. Definition of a Distributed System  A distributed system is a collection of independent computers that appears to its

Scalability

It is to able to send anything to

anyone anywhere

System scalability to size means

easily add more users & resources

Scalability of geographically

Page 12: Distributed Systems Definition. Definition of a Distributed System  A distributed system is a collection of independent computers that appears to its

Scalability A distributed system is scalable if it

remains effective as the number of users and/or resources increase

Challenges: Controlling resource costs Controlling performance loss Preventing resources from running out Avoiding performance bottlenecks

Page 13: Distributed Systems Definition. Definition of a Distributed System  A distributed system is a collection of independent computers that appears to its

Scalability Problems• No machine has complete information

about the system state.• Machines make decisions based only on

local information.• Failure of one machine does not ruin the

algorithm.• There is no implicit assumption that a

global clock exists.

Page 14: Distributed Systems Definition. Definition of a Distributed System  A distributed system is a collection of independent computers that appears to its

Openness / Flexibility

The distributed system has a clear

rules controls its services

Open distributed system is flexible

means easy to configure system for

different developers

Page 15: Distributed Systems Definition. Definition of a Distributed System  A distributed system is a collection of independent computers that appears to its

Openness When protocols are known to developers

extensibility and maintainability becomes possible

Openness allows re-implementation of different components of the system

Important factors: Specification Documentation Published interfaces (often bypassing

standards organizations)

Page 16: Distributed Systems Definition. Definition of a Distributed System  A distributed system is a collection of independent computers that appears to its

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.

Page 17: Distributed Systems Definition. Definition of a Distributed System  A distributed system is a collection of independent computers that appears to its

Security Three components:

Confidentiality (protection against disclosure to unauthorized individuals)

Integrity (protection against alteration or corruption)

Availability (protection against interference with the means of accessing the resources)

The challenge: sending sensitive information in a network message in a secure manner efficiently

Page 18: Distributed Systems Definition. Definition of a Distributed System  A distributed system is a collection of independent computers that appears to its

Security Scenario 1: Accessing exam information

via a network file system Authentication: how do we know for sure

that the user is a teacher who should have access to the data?

Scenario 2: Sending a credit card number over the Internet Confidentiality: no other than the recipient

should be able to read the data

Page 19: Distributed Systems Definition. Definition of a Distributed System  A distributed system is a collection of independent computers that appears to its

Hardware concept of DS

Distributed system may be

multi-processor or multi-computers

Page 20: Distributed Systems Definition. Definition of a Distributed System  A distributed system is a collection of independent computers that appears to its

Hardware Concepts

Tightly Coupled versus Loosely Coupled Tightly coupled systems (multiprocessors)

o shared memoryo intermachine delay short, data rate high

Loosely coupled systems (multicomputers)o private memoryo intermachine delay long, data rate low

Page 21: Distributed Systems Definition. Definition of a Distributed System  A distributed system is a collection of independent computers that appears to its

11/14/00

Multicomputers

Bus-Based Multicomputers 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 interconnection networks: E.g., grid,

hypercube hypercube: n-dimensional cube

Page 22: Distributed Systems Definition. Definition of a Distributed System  A distributed system is a collection of independent computers that appears to its

Hardware Concepts

1.6

Multi-processor Multi-computers

Page 23: Distributed Systems Definition. Definition of a Distributed System  A distributed system is a collection of independent computers that appears to its

Multiprocessors

1.7

Page 24: Distributed Systems Definition. Definition of a Distributed System  A distributed system is a collection of independent computers that appears to its

11/14/00

Switched Multiprocessors

for connecting large number (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 building a large, tightly-coupled, shared

memory multiprocessor is possible, but is difficult and expensive

Page 25: Distributed Systems Definition. Definition of a Distributed System  A distributed system is a collection of independent computers that appears to its

Multiprocessors (2)

1.8

Page 26: Distributed Systems Definition. Definition of a Distributed System  A distributed system is a collection of independent computers that appears to its

Multicomputer Systems

Grid Hypercube

1-9

Page 27: Distributed Systems Definition. Definition of a Distributed System  A distributed system is a collection of independent computers that appears to its

Software Concepts

DOS (Distributed Operating Systems) NOS (Network Operating Systems) Middleware

SystemDescriptionMain Goal

DOSTightly-coupled operating system for multi-processors and multicomputers

Tries to maintain global view of resources

NOSLoosely-coupled operating system for multicomputers (LAN and WAN)

Manages collection of machines with local services and OS

MiddlewareAdditional layer atop of NOS implementing general-purpose services

Provide distribution transparency

Page 28: Distributed Systems Definition. Definition of a Distributed System  A distributed system is a collection of independent computers that appears to its

11/14/00

Software Concepts• Software more important for users• Three types:

1. Network Operating Systems

2. (True) Distributed Systems

3. Multiprocessor Time Sharing

Page 29: Distributed Systems Definition. Definition of a Distributed System  A distributed system is a collection of independent computers that appears to its

Uniprocessor Operating Systems

Separating applications from operating system code through a microkernel.

1.11

Page 30: Distributed Systems Definition. Definition of a Distributed System  A distributed system is a collection of independent computers that appears to its

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 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

Page 31: Distributed Systems Definition. Definition of a Distributed System  A distributed system is a collection of independent computers that appears to its

Multicomputer Operating Systems (1) General structure of a multicomputer operating

system

1.14

Page 32: Distributed Systems Definition. Definition of a Distributed System  A distributed system is a collection of independent computers that appears to its

Positioning Middleware General structure of a distributed system as

middleware.

1-22

Page 33: Distributed Systems Definition. Definition of a Distributed System  A distributed system is a collection of independent computers that appears to its

(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.”

Page 34: Distributed Systems Definition. Definition of a Distributed System  A distributed system is a collection of independent computers that appears to its

Comparison between Systems

A comparison between multiprocessor operating systems, multicomputer operating systems, network operating systems, and middleware based distributed systems.

ItemDistributed OS

Network OS

Middleware-based OS Multiproc

.Multicomp.

Degree of transparency

Very HighHighLowHigh

Same OS on all nodesYesYesNoNo

Number of copies of OS

1NNN

Basis for communication

Shared memory

MessagesFilesModel specific

Resource management

Global, central

Global, distributed

Per nodePer node

ScalabilityNoModeratelyYesVaries

OpennessClosedClosedOpenOpen

Page 35: Distributed Systems Definition. Definition of a Distributed System  A distributed system is a collection of independent computers that appears to its

Distributed object architecture

Software bus

o1 o2 o3 o4

o5 o6

S (o1) S (o2) S (o3) S (o4)

S (o5) S (o6)

Page 36: Distributed Systems Definition. Definition of a Distributed System  A distributed system is a collection of independent computers that appears to its

A data mining system

Database 1

Database 2

Database 3

Integrator 1

Integrator 2

Visualiser

Display

Report gen.

Page 37: Distributed Systems Definition. Definition of a Distributed System  A distributed system is a collection of independent computers that appears to its

Data mining system

The logical model of the system is not one of service provision where there are distinguished data management services

It allows the number of databases that are accessed to be increased without disrupting the system

It allows new types of relationship to be mined by adding new integrator objects