0% found this document useful (0 votes)
24 views31 pages

DS Chap-01

A distributed system is defined as a collection of independent computers that presents itself as a single coherent system to users. The primary goals include making resources accessible, achieving distribution transparency, ensuring openness, and scalability. The document discusses various types of distributed systems, their characteristics, and the challenges developers face, such as false assumptions about network reliability and performance.

Uploaded by

Murtaza Yousufi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
24 views31 pages

DS Chap-01

A distributed system is defined as a collection of independent computers that presents itself as a single coherent system to users. The primary goals include making resources accessible, achieving distribution transparency, ensuring openness, and scalability. The document discusses various types of distributed systems, their characteristics, and the challenges developers face, such as false assumptions about network reliability and performance.

Uploaded by

Murtaza Yousufi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd

DISTRIBUTED SYSTEMS

Principles and Paradigms

Chapter 1
Introduction

Lecturer: Assis.Pro Iqbal Ali Sultani Email: [email protected] 1


Definition of a Distributed System
A distributed system is:
A collection of independent computers that
appears to its users as a single coherent
system.

2
Definition of a Distributed System

A distributed system organized as middleware. The middleware


layer extends over multiple machines, and offers each
application the same interface.
3
Goals of Distributed
Systems

•Making Resources Available


•Distribution Transparency
•Openness
•Scalability

4
Making Resources
Accessible
The main goal of a distributed system is to make it easy
for the users and applications to access remote
resources. And to share them in a controlled and
efficient way.
Resources examples:
◦ Printers
◦ Computers
◦ Storages
◦ Data and files
◦ Web pages
◦ Networks

5
Scalability
Observation
-Many developers of modern distributed system easily use the adjective
“scalable” without making clear why their system actually scales.
Scalability
- At least three components:
◦Number of users and / or processes(size scalability)
◦Maximum distance between nodes(geographical scalability)
◦Number of administrative domains(administrative scalability)

Observation
-Most system account only, to a certain extent, for size scalability. The
(non) solution: powerful servers. Today, the challenge lies in
geographical and administrative scalability.

6
Transparency in a Distributed
System

Different forms of transparency in a distributed system


(ISO, 1995).
7
Degree of Transparency
Observation
Aiming at full distribution transparency may be too much
-Users may be located in different continents
- Completely hiding failures networks and nodes is(Theoretically
and practically) impossible
•You cannot distinguish a slow computer from a failing one
•You can never be sure that a server actually performed a operation
before a crash
•Full transparency will cost performance, exposing distribution of
the system
•Keeping web caches exactly up-to-date with the master
•Immediately flushing write operation to disk for fault tolerance
8
Scalability Problems

Examples of scalability limitations.

9
Scalability Problems
Characteristics of decentralized
algorithms:
•No machine has complete information about the system
state.
•Machines make decisions based only on local information.

•Failure of one machine does not ruin the algorithm.

•There is no implicit assumption that a global clock exists.

10
Techniques for Scaling
Hide communication latencies
◦ Avoid waiting for responses; do something else:
◦ Make use of asynchronous communication
◦ Have separate handler for incoming response
◦ Problem: note every application fits this model
Distribution
-Partition data and computations across multiple machines
◦ Move computations to clients(Java applets and JavaScript)
◦ Decentralized naming services(DNS)
◦ Decentralized information system(www)

11
Scaling Techniques

The difference between letting (a) a server or (b)


a client check forms as they are being filled.
12
Scaling Techniques

An example of dividing the DNS


name space into zones.
13
Techniques For Scaling
Replication/caching
-Make copies of data available at different
machines:
• Replicated files servers and databases
• Mirrored web sites
• Web caches(in browsers and proxies)
• File caching (at server and client)

14
Openness of Distributed
Systems
Open distributed system
-Be able to interact with services from other open systems ,irrespective of the
underlying environment
◦ Systems should conform to well-defined interfaces
◦ Systems should support portability of applications
◦ Systems should easily interoperate

Achieving
-At least make the distributed system independent from heterogeneity of the
underlying environment
◦ Hardware
◦ Platforms
◦ Languages

15
Pitfalls when Developing Distributed
Systems
False assumptions made by first time developer:
•The network is reliable.
•The network is secure.
•The network is homogeneous.
•The topology does not change.
•Latency is zero.
•Bandwidth is infinite.
•Transport cost is zero.
•There is one administrator.

16
Types of Distributed
Systems
•Distributed Computing Systems

•Distributed Information Systems

•Distributed Pervasive Systems

17
Distributed Computing
Systems
Observation
-Many distributed systems are configured for
high- performance computing
Cluster computing
• Essentially a group of high-end systems connected
through a LAN:
• Homogeneous : same OS , near-identical hardware
• Single managing node

18
Cluster Computing Systems

An example of a cluster computing system.

19
Distributed Computing
Systems
Grid Computing
◦ The next step: lots of nodes from everywhere:
◦ Heterogeneous
◦ Dispersed across several organizations
◦ Can easily span a wide- area network

Node
To allow for collaborations, grids generally use virtual
organizations. In essence, this is a grouping of users(or
better: their IDS) that will allow for authorization on
resource allocation.
20
Grid Computing Systems

A layered architecture for grid computing systems.

21
Distributed Information systems:
Transaction Processing Systems

Characteristic properties of transactions: ACID

•Atomic: To the outside world, the transaction happens indivisibly.

•Consistent: The transaction does not violate system invariants.

•Isolated: Concurrent transactions do not interfere with each other.

•Durable: Once a transaction commits, the changes are permanent.

22
Transaction Processing Systems

A nested transaction.

23
Transaction Processing Systems

The role of a TP monitor in distributed systems.

24
Enterprise Application
Integration
A TP monitor does not separate apps from their databases. Also needed are facilities for
direct communication between apps
• Remote Procedure call(RPC)
• Remote method invocation(RMI)
• massage-oriented Middleware(MOM)

Middleware as a communication facilitator in enterprise application


integration.

25
Distributed Pervasive
Systems
Emerging next generation of distributed systems in which nodes are
small, mobile, and often embedded in a larger system.
Requirements for pervasive systems

Embrace contextual changes: the system is of an environment in


which changes should be immediately accounted for
•Encourage ad hoc composition: each node may be used in a very
different ways by different users. Required ease of configuration
•Recognize sharing as the default: nodes come and go ,
providing sharable services and information. Calls again for
simplicity

26
Distributed Pervasive
Systems
•Home Systems
• e.g. computer, TV, Smartphone, PDA
• Should be self configuring and self managing
•Electronic Health Systems
•Sensor Networks

27
Electronic Health Care
Systems

Monitoring a person in a pervasive electronic health care system, using (a) a local hub or
(b) a continuous wireless connection.

28
Sensor Networks

Organizing a sensor network database, while storing and processing data (a) only at the operator’s
site or …

29
Presentations

30
31

You might also like