itec801 distributed systems

29
1 ITEC801 Distributed Systems Goals of a Distributed System

Upload: marshall-walter

Post on 30-Dec-2015

21 views

Category:

Documents


1 download

DESCRIPTION

ITEC801 Distributed Systems. Goals of a Distributed System. Important Things. Things to get from this set of slides What are some of the possible goals to aim for when designing a distributed system Some understanding of each one - PowerPoint PPT Presentation

TRANSCRIPT

1

ITEC801Distributed Systems

Goals of a Distributed System

ITEC801 Goals 2

Important Things

Things to get from this set of slides What are some of the possible goals to aim

for when designing a distributed system Some understanding of each one Some understanding of why achieving

some goals might make it harder to achieve others

ITEC801 Goals 3

Goals

openness

transparency

flexibility

reliability

performance

scalability

ITEC801 Goals 4

Openness

openness: Offering services according to standard rules that describe the syntax and semantics of those services example: network protocol rules

in distributed systems services specified through interfaces Eg., Interface definition language (IDL) IDL: specifies names of available functions

together with types of parameters, return values, possible exceptions that can be raised, and so on

ITEC801 Goals 5

Openness

interface specifications must be complete and neutralinterface specifications must support: interoperability portability

openness must permit flexibilityachieving flexibility: system composed of small, easily replaceable

components separation of policy and mechanism

ITEC801 Goals 6

Transparency

Making the user believe that there is only a single, undivided systemie, not distributedOf course, it is not quite as simple as thatPerhaps more accurate is Trying to make the user less aware that

there is not a single, undivided system

ITEC801 Goals 7

Transparency

transparency can be achieved at different levels hide the distribution from the users hide the distribution from programs

the latter is harder

what does transparency really mean?

there are different kinds of transparency

ITEC801 Goals 8

Transparency

Location Transparency: The users cannot tell where the resources are located

Migration Transparency: Resources can move at will without changing their users

Replication Transparency:The users cannot tell how many copies exist

Concurrency Transparency: Multiple users can share resources automatically

ITEC801 Goals 9

Transparency

Parallelism Transparency: Activities can happen in parallel without the user's knowing

Failure Transparency: Hide from the users the failure and recovery of a resource

Persistence Transparency: Hide from the users whether a (software) resource is in memory or on disk

ITEC801 Goals 10

Tradeoff:

High degree of transparency versus performance of a system.

ITEC801 Goals 11

Flexibility

it is important that distributed systems be flexible, as we are still learning about them - so any system may need to be changedwhile the need for flexibility may seem self-evident, the best means of achieving it are open to discussionno-one is going to argue for an inflexible system, but...just what does it mean to be flexible?

ITEC801 Goals 12

Flexibility

Easily changed?

Highly functional?

Broadly useable?

ITEC801 Goals 13

Reliability

one of the original ideas behind distributed systems was that if one machine went down another could do its jobgiven that there are many machines, the chance of them all being unavailable is drastically less than that of a single machine going downso distributed systems should be more reliableunfortunately, again it is not that simple

ITEC801 Goals 14

More Points of Failure

if a service depends upon a number of specific machines being available, then reliability may be less than in a non-distributed system

a distributed system isone on which I cannot get any work done because some machine I have never heard of has crashed

Leslie Lamport

ITEC801 Goals 15

Availability

a highly reliable system is one in which the services are highly available

availability can be enhanced by a design which does not depend on the simultaneous functioning of a substantial number of critical components

ITEC801 Goals 16

Availability, etc

availability also applies to data - it must be available and consistentsecurity is another aspect of reliabilityyet another is fault tolerance - specifically, what happens in the case of crashes, to the information in server or to a communication if either or both ends crash

ITEC801 Goals 17

Performance

it is said that users buy only two things - upward compatibility and performancea system that is flexible, transparent, and reliable will not be used if it is slower than a snail on barbituratesan application running on a distributed system should not be noticeably slower than on a uni-processor system

ITEC801 Goals 18

Performance Measures

there are various measures of performance response time throughput system utilisation network capacity used

performance in a distributed system is obviously affected by communication, especially protocol handling at each end

ITEC801 Goals 19

Scalability

Scalable System: System that can handle additional of users/resources without suffering noticeable loss of performance or increase in administrative complexity.

Three metrics of a scalable system No. of users/objects that are part of system Distance between farthest nodes in the system. Number of organisations that exert administrative

control over pieces of the system.

ITEC801 Goals 20

Scalability Examples

Issues w.r.t Size Centralised services, data algorithm limitations.

Centralised Services: Single server for all users. Often necessary.

Centralised Data: Single database repository. Saturation of communication lines. DNS scalability problems.

Centralised Algorithms: Doing routing based on complete information.

ITEC801 Goals 21

Decentralised Algorithms

decentralised algorithms have the following characteristics no machine has complete information about the

system state machines make decisions based only on locally

available data failure of one machine does not abort execution of

the algorithm there is no assumption of a global system clock

ITEC801 Goals 22

Scalability Issues

Other issues with Geographical scalability Problems due to Synchronous communication. Unreliable WANs. Geographical scalability versus centralised

solutions.

Scaling the system across multiple independent administrative domains. Conflicting policies w.r.t to resource usage

(payment), management and security.

ITEC801 Goals 23

Scaling Techniques

Hiding communication latencies:Promoting asynchronous communication. Reduce overall communication for interactive

applications.

Distribution:Allows information maintained by a distributed service to be spread across multiple servers. Example: DNS zones.

ITEC801 Goals 24

Scaling & Distribution Issues

Placement of servers information held close to users who often access it names of nearby objects obtained from local name

servers

Finding the right server. Mounts [SUN NFS, Locus, Plan 9] Broadcast [Sprite] Domain-based queries [Grapevine, X.500]

Replication: having multiple instances or copies of components across the distributed system

ITEC801 Goals 25

Replication Issues

placement of Replicas: depends on purpose for replicating the resource. Case One: Improving availability in case of

network partitions/reducing network delays: Replicas scattered.

Case Two: users local, improving reliability and availability: replicas placed close to each other.

note: Placement of replicas affects choice of mechanism that mains consistency of replicas

ITEC801 Goals 26

Replication Issues

consistency A replicated object logically a single object. At any given instant of time, replicas must

be consistent.

ITEC801 Goals 27

Replication techniques

replication of read only information

replication of Immutable information

Replication of other information updates sent to all replicas: Ordering of

updates essential.

ITEC801 Goals 28

Scaling Techniques

inconsistencies tolerated depending on the usage of a resource.This observation exploited by grapevine, allowing it to guarantee only loose consistency. Updates allowed even when network is

partitioned. Conflicting updates resolved using

timestamps.

ITEC801 Goals 29

Conclusions

unfortunately these design considerations often conflict

For example fault tolerance exacts its price on performance making a flexible system reliable is not trivial

however, none of these considerations can really be sacrificed for the others