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

Lesson 1

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

Lesson 1

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

Lesson 1

Introduction to Distributed Systems

Mehamed Ahmed(Ph.D.)
[email protected]
Definition of a Distributed System (1)

A distributed system is:

A collection of independent computers that appears to


its users as a single coherent system.

2
Characterization of Distributed
Systems
• One important characteristic of Dist Sys 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.

• Another important characteristic is that users and applications


can interact with a distributed system in a consistent and
uniform way, regardless of where and when interaction takes
place.

3
• In principle, distributed systems should also be relatively easy
to expand or scale. This characteristic is a direct
consequence of having independent computers, but at the
same time, hiding how these computers actually take part in
the system as a whole.

• A distributed system will normally be continuously available,


although perhaps some parts may be temporarily out of
order. Users and applications should not notice that parts are
being replaced or fixed, or that new parts are
• added to serve more users or applications.

4
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. 5
Transparency in a Distributed System
An important goal of a 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.

Figure 1-2. Different forms of transparency in a 6


distributed system (ISO, 1995).
Worldwide connectivity through the Internet is rapidly becoming as
common as being able to send a postcard to anyone anywhere around
the world.
With this in mind, scalability is one of the most important design
goals for developers of distributed systems.

7
Scalability of a system can be measured along at least
three different dimensions(Neuman, 1994).
•First, a system can be scalable with respect to its size,
meaning that we can easily add more users and
resources to the system.
•Second, a geographically scalable system is one in
which the users and resources may lie far apart.
•Third, a system can be administratively scalable,
meaning that it can still be easy to manage even if it
spans many independent administrative organizations.

8
Scalability Problems
Unfortunately, a system that is scalable in one or more of the
three dimensions often exhibits some loss of performance as
the system scales up.

Figure 1-3. Examples of scalability limitations.

9
Scalability Problems
• Only decentralized algorithms should be used.
• These algorithms generally have the following
characteristics, which distinguish them from
centralized algorithms
–No machine has complete information about the system state.

–Machines make decisions based only on local information.

–Failure of one machine does not collapse the algorithm.

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

10
Scaling Techniques (1)

Figure 1-4. The difference between letting (a) a server


or (b) a client check forms as they are being filled.
11
Scaling Techniques (2)

Figure 1-5. An example of dividing the DNS


name space into zones. 12
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.
13
Cluster Computing Systems

Figure 1-6. An example of a cluster computing system.


14
Grid Computing Systems

Figure 1-7. A layered architecture for grid computing systems.


15
Transaction Processing Systems (1)

Figure 1-8. Example primitives for transactions.


16
Transaction Processing Systems (2)

Characteristic properties of transactions:


• Atomic: To the outside world, the transaction
happens indivisibly.
• Consistent: The transaction does not violate system
invariants.
• Isolated: Concurrent transactions do not interfere /
affect with each other.
• Durable: Once a transaction commits, the changes
are permanent.

17
Transaction Processing Systems (3)

Figure 1-9. A nested transaction.


18
Transaction Processing Systems (4)

Figure 1-10. The role of a TP monitor in distributed systems.


19
Enterprise Application Integration

Figure 1-11. Middleware as a communication facilitator in


enterprise application integration. 20
Distributed Pervasive Systems
Requirements for pervasive systems

• Embrace contextual changes.


• Encourage ad hoc composition.
• Recognize sharing as the default.

21
Electronic Health Care Systems (1)
Questions to be addressed for health care systems:
• Where and how should monitored data be
stored?
• How can we prevent loss of crucial data?
• What infrastructure is needed to generate and
propagate alerts?
• How can physicians provide online feedback?
• How can extreme robustness of the monitoring
system be realized?
• What are the security issues and how can the
proper policies be enforced?
22
Electronic Health Care Systems (2)

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

23
Sensor Networks (1)

Questions concerning sensor networks:


• How do we (dynamically) set up an
efficient tree in a sensor network?
• How does aggregation of results take
place? Can it be controlled?
• What happens when network links fail?

24
Sensor Networks (2)

Figure 1-13. Organizing a sensor network database, while storing


and processing data (a) only at the operator’s site or …
25
Sensor Networks (3)

Figure 1-13. Organizing a sensor network database, while storing


and processing data … or (b) only at the sensors.
26

You might also like