0% found this document useful (0 votes)
7 views

2 - Lect 0 - Introduction to Distributed Systems

Uploaded by

Joseph
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views

2 - Lect 0 - Introduction to Distributed Systems

Uploaded by

Joseph
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 30

Introduction to Distributed

Computing
Definition of a distributed system
A distributed system is:
A collection of independent computers that appears
to its users as a single coherent system.
Important aspects of the definition are
1. A distributed system consists of components
(computers) that are autonomous.
2. Users think they are dealing with a single system.
• Examples:
– Network of workstations
– Distributed manufacturing system (e.g., automated
assembly line)
– Network of branch office computers
1.1 Definition of a Distributed System (2)

Figure 1-1. A distributed system organized as middleware. The


middleware layer extends over multiple machines, and offers
each application the same interface.
Characteristics of distributed system
1. One of the important characteristic is that
differences between the various computers
and the ways in which they communicate are
mostly hidden from users.
The same holds for the internal organization of
the distributed system.
2. Users and applications can interact with a
distributed system in a consistent and uniform
way, regardless of where and when interaction
takes place.
Goals
• A distributed system should
• Easily accessible
• Hide the fact that resources are distributed
across a network- distribution transparency
• Open
• Scalable
1. Making resources accessible
• The main goal of distributed system is to make it easy
for the users to access remote resources, and to
share them in a controlled and efficient way.
• Connecting users and resources also makes it easier
to collaborate and exchange information.
• The connectivity of the Internet is now leading to
numerous virtual organizations in which
geographically widely- dispersed groups of people
work together by means of groupware, ie, s/w for
collaborative editing, teleconferencing, and so on.
• As connectivity and sharing increases security
becoming important.
• System should provide protection against
intrusion on communication(passwords, credit
card number protection )
• Can lead to unwanted communication (spam)
2. Distribution Transparency
• The main goal of distributed system is to hide the fact
that its processes and resources are physically
distributed across multiple computers.
• A distributed system that is able to present itself to
users and applications as if it were only a single
computer system is said to be transparent.
Types of Transparency

Figure 1-2. Different forms of transparency in a


distributed system (ISO, 1995).
• Access transparency
• It deals with hiding differences in data
representation and the way that resources can be
accessed by users.
• At a basic level, hide differences in machine
architectures.
• For eg, a distributed system may have computer
systems that run different OS, each having their
own naming conventions, as well as how files can
be manipulated, should all be hidden from users
and applications.
• Location transparency
• It deals with the fact that users cannot tell where
a resource is physically located in the system.
• Naming plays an important role in achieving
location transparency.
• location transparency can be achieved by
assigning only logical names to resources , ie,
names in which the location of a resource is not
secretly encoded.
• An eg for such a name is the URL
http://mail.yahoo.com or http://cuk.ac.ke , which
give s no clue about the location of the main
server.
• Migration transparency.
• Distributed systems in which resources can be
moved without affecting how those resources can
be accessed are said to provide migration
transparency
• Even stronger is the situation in which resources
can be relocated while they are being accessed
without the user or application noticing anything.
In such cases, the system is said to support
relocation transparency.
• An eg for relocation transparency is when mobile
users can continue to use their wireless laptops
while moving from place to place without ever
being (temporarily) disconnected.
• Replication transparency.
• It deals with hiding the fact that several copies of
a resource exist.
• To hide replication from users, it is necessary that
all replicas have the same name.
• Consequently, a system that supports replication
transparency should generally support location
transparency as well, because it would otherwise
be impossible to refer to replicas at different
locations.
• Two independent users may each have stored their
files on the same file server or may be accessing the
same tables in a shared database.
• In such cases, it is important that each user does not
notice that other is making use of the same resource.
This phenomenon is called concurrency transparency.
• It is imp. Issue is that concurrent access to a shared
resource leaves that resource in a consistent state.
• Consistency can be achieved through locking
mechanisms, by which users are, in turn given
exclusive access to the desired resource.
• Failure transparency.
• Making a distributed system failure transparent
means that a user does not notice that a
resource(he has possibly never heard of) fails to
work properly, and that the system subsequently
recovers from that failure.
• Masking failures is the hardest issue
• Inability to distinguish between a dead resource
and slow resource
Degree of Transparency
• A trade-off between a high degree of transparency
and the performance of a system
• Full distribution transparency is simply impossible
3. Openness
• Degree to which new resource sharing services
can be added and made available to the users.
• An open distributed system is a system that
offers services according to standard rules that
describe the syntax and semantics of those
services.
• A system offer services according to standard
rules and such rules are formalized in protocols.
• In distributed systems, services are generally
specified through interfaces, which are often
described in an interface definition
language(IDL).(eg-facebook trift , protocol
buffers(googl’s IDL)
• Separating policy from mechanism
– To achieve flexibility in open distributed systems,
it is crucial that the system is organized as a
collection of relatively small and easily replaceable
or adaptable components.
Scalability
• One of the most important design goals for developers of
distributed systems
Can be measured along three different dimensions
1) With respect its size
• Means we can easily add more users and resources
to the system.
2) Geographically scalable system
• In which users and resources may lie far apart.
3) administratively scalable
• Means it can still be easy to manage even if it spans
many independent administrative organizations.
Scaling Techniques
• Three techniques for scaling
• Hiding communication latencies
• Distribution
• Replication
Hiding communication latencies

• It is imp. to achieve geographical scalability.


• Here the idea is try to avoid waiting for
responses to remote service requests as
much as possible.
• For eg, when a server has been requested at a
remote machine, an alternative to waiting for
a reply from a server is to do another useful
work at the requester’s side.
• Ie. It uses only asynchronous communication.
• When a reply comes in , the application is
interrupted and a special handler is called to
complete the previously- issued request.
• Asynchronous communication is often used in
batch- processing systems and parallel
applications.
Distribution

• It involves taking a component, splitting it into


smaller parts, and subsequently spreading
those parts across the system.
• Eg is DNS.
• The DNS name space is hierarchically
organized into a tree of domains , which are
divided into non overlapping zones.
• The names in each zone are handled by a
single name server
Distribution

Figure 1-5. An example of dividing the DNS


name space into zones.
Disadvantages of Distributed Systems
– Software: difficult to develop software for distributed
systems
– Network: saturation, lossy transmissions
– Security: easy access also applies to secrete data
Benefits of Distributed Systems
Great price/performance
– Leverage commodity components (nodes and networks)
– Use many, many of them
Incremental scalability
– Can add x% new nodes (or disks or memory) to improve performance
x%
Improved availability
– Continue operating when some nodes stop working
Improved reliability
– Deliver correct results when some nodes misbehave, corrupt data
Allow geographically-distributed individuals to share data or
cooperate
1.3 Types of Distributed Systems
1) Distributed computing systems
• Cluster computing
• Grid computing
2) Distributed information systems
• Transaction processing systems(TPS)
• Enterprise application integration(EAI)
3) Distributed pervasive systems
• Home systems
• Electronic health systems
• Sensor networks
2. Examples of Distributed Systems

• Local Area Network and Intranet


• Database Management System
• Automatic Teller Machine Network
• Internet/World-Wide Web
• Mobile and Ubiquitous Computing

28
2.1 Local Area Network
email server Desktop
computers
print and other servers

Local area
Web server network

email server
print
File server
other servers

the rest of
the Internet
router/firewall

29
2.4 Internet

intranet %
%
% ISP

backbone

satellite link

desktop computer:
server:
network link:

32

You might also like