Distributed System Goals
Distributed System Goals
distributed system?
A distributed system is one in which the failure
of a computer you didnt even know existed
can render your own computer unusable.
CS 378
Leslie Lamport
Intro to
Distributed Computing
Lorenzo Alvisi
Anurag Agarwal
Openness
Distributed Applications
Middleware Scalability
Network
Transparency Openness
Easily interact with other open systems
Transparency Description
Access Hides differences in data representation and invocation
mechanisms
Conform to well-defined interfaces
Location Hides where an object resides
Achieve independence in heterogeneity wrt
Migration Hides from an objec that objects location
Hardware
Relocation Hides from a client the change of location of an object to
which the client is bound Platform
Replication Hides that an object may be replicated, with replicas at
different locations Languages
Concurrency Hides coordination of activities between objects
Failure Hides the failure and recovery of object Support different app/user-specific policies
Persistence Hides whether a resource is in memory or on disk
Openness Scalability
Easily interact with other open systems
e n
t
partition data and computation across multiple machine
s
Two basic approaches
i
Java applets, DNS, WWW
s
Replicate cover many interesting systems, and distill
n
make copies of data available at different machines
from them fundamental principles
o
mirrored web sites, replicated fs, replicated db
focus on a deep understanding of the
C
Cache fundamental principles, and see them
allow client processes to access local copies instantiated in a few systems
Web caches, file caching
A few intriguing
questions
How do we talk about a distributed execution?
Can we draw global conclusions from local information?
Can we coordinate operations without relying on synchrony?
For the problems we know how to solve, how do we
characterize the goodness of our solution?
Are there problems that simply cannot be solved?
What are useful notions of consistency, and how do we
maintain them?
What if part of the system is down? Can we still do useful
work? What if instead part of the system becomes
possessed and starts behaving arbitrarily: All bets are off?
Two Generals Problem
Romans win if
S.P.Q.R S.P.Q.R attack simultaneously
before bedtime