Chapter One
Chapter One
Chapter One
Systems:
By Ambachew M.
Definition of Distributed
“A
Systems
system in which hardware or software
components located at networked computers
communicate and coordinate their actions
only by message passing.” [Coulouris]
“A distributed system is a collection of
independent computers that appear to the
users of the system as a single computer.”
[Tanenbaum]
“A distributed system is one that stops you
getting any work done when a machine
you’ve never even heard of crashes.” –
[Leslie Lamport]
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
Disadvantages of Distributed Systems
– Software: difficult to develop
software for distributed systems
– Network: saturation, lossy
transmissions
– Security: easy access also applies
to secrete data
Cont..
Example Distributed Systems:
– Cluster:
• “A type of parallel or distributed processing
system, which consists of a collection of
interconnected stand-alone computers
cooperatively working together as a single,
integrated computing resource” [Buyya].
– Cloud:
• “a type of parallel and distributed system
consisting of a collection of interconnected
and virtualised computers that are
dynamically provisioned and presented as
one or more unified computing resources
based on service-level agreements
established through negotiation between the
service provider and consumers” [Buyya].
Goals of Distributed Systems
• Transparency
• Flexibility
• Reliability
• Performance
• Scalability
1. 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.
Types of Transparency
Transparency Description
Hide differences in data representation and how
Access
a resource is accessed
Location Hide where a resource is located
Hide that a resource may move to another
Migration
location
Hide that a resource may be moved to another
Relocation
location while in use
Replication Hide that a resource is replicated
Hide that a resource may be shared by several
Concurrency
competitive users
Failure Hide the failure and recovery of a resource
Hide whether a (software) resource is in
Persistence
memory or on disk
1.4
1.5
1.6
1.14
1.15
b) Situation after
CPU 1 references
page 10
c) Situation if page
10 is read only
and replication is
used
Distributed Shared Memory
Systems (2)
1.18
1-19
1-20
1-22
1.23
1.25
1-28
1-29
1-30
1-31
Thanks