02-11-2012, 12:25 PM
LIMITATIONS OF DISTRIBUTED SYSTEM
LIMITATIONS OF DISTRIBUTED.pdf (Size: 76.45 KB / Downloads: 29)
Introduction to Distributed Systems
• Why do we develop distributed systems?
– availability of powerful yet cheap microprocessors (PCs, workstations),
continuing advances in communication technology,
• What is a distributed system?
• A distributed system is a collection of independent computers that appear to
the users of the system as a single system.
• Examples:
– Network of workstations
– Distributed manufacturing system (e.g., automated assembly line)
– Network of branch office computers
Advantages of Distributed Systems
over Centralized Systems
• Economics: a collection of microprocessors offer a better price/performance than
mainframes. Low price/performance ratio: cost effective way to increase computing power.
• Speed: a distributed system may have more total computing power than a mainframe. Ex.
10,000 CPU chips, each running at 50 MIPS. Not possible to build 500,000 MIPS single
processor since it would require 0.002 nsec instruction cycle. Enhanced performance through
load distributing.
• Inherent distribution: Some applications are inherently distributed. Ex. a supermarket chain.
• Reliability: If one machine crashes, the system as a whole can still survive. Higher availability
and improved reliability.
• Incremental growth: Computing power can be added in small increments. Modular
expandability
• Another deriving force: the existence of large number of personal computers, the need for
people to collaborate and share information.
Advantages of Distributed Systems
over Independent PCs
– Data sharing: allow many users to access to a common
data base
– Resource Sharing: expensive peripherals like color printers
– Communication: enhance human-to-human
communication, e.g., email, chat
– Flexibility: spread the workload over the available
machines
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
o rlogin machine
o rcp machine1:file1 machine2:file2
• 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
(Fig. 9-11)
• a few system-wide requirements: format and
meaning of all the messages exchanged
(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.”
Transparency
• How to achieve the single-system image,
i.e., how to make a collection of computers
appear as a single computer.
• Hiding all the distribution from the users as
well as the application programs can be
achieved at two levels:
1) hide the distribution from users
2) at a lower level, make the system look
transparent to programs.
1) and 2) requires uniform interfaces such as
access to files, communication.
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
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.
Scalability
• Systems grow with time or become obsolete. Techniques that
require resources linearly in terms of the size of the system
are not scalable. e.g., broadcast based query won't work for
large distributed systems.
• Examples of bottlenecks
o Centralized components: a single mail server
o Centralized tables: a single URL address book
o Centralized algorithms: routing based on complete
information
Communication Networks
• Computers are connected through a
communication network
– Wide Area Networks (WAN)
connect computers spread over a wide geographic
area
point-to-point or store-and-forward -- data is
transferred between computers through a series
of switches
switch -- a special purpose computer responsible
for routing data (to avoid network congestion)
data can be lost due to: switch crashes,
communication link failures