itec801 distributed systems
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 PresentationTRANSCRIPT
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 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 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 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.