Chapter 1 Distributed Systems Basic Issues
Chapter 1 Distributed Systems Basic Issues
Chapter 1 Distributed Systems Basic Issues
Distributed Systems
CHAPTER 1:
Distributed Systems Basic Issues
Wilbert P. Umadhay
Instructor email:
Wilbert.Umadhay@antiquespride.edu.ph
CHAPTER GOALS
System architecture: the machines are autonomous; this means they are computers which,
in principle, could work independently;
The user’s perception: the distributed system is perceived as a single system solving a
certain problem (even though, in reality, we have several computers placed in different
locations).
In this system. the computer network connects several computer workstations with special
software forming a cluster, to act as a distributed supercomputer on a building-wide scale. -
Single file system, with all files accessible from all machines in the same way and using the
same path name.
-For a certain command the system can look for the best place (workstation) to execute it.
In this system, the system consist of a server and some Automated Teller Machines(ATM).
The server manages all users’ account information.
Primary requirements of Banking systems:
-Security and reliability.
-Consistency of replicated data.
The Cloud and Internet of Things (IoT) in Distributed Systems represent a vision in which the
internet extends into the real world embracing everyday objects. Physical items are no
longer disconnected from the virtual world, but can be remotely controlled and can act as
physical access points to the internet service.
-Computing as a utility: application, storage, computing services; pay on per-usage basis. -
Main concerns: scaling, performance, security/reliability.
Performance: very often a collection of processors can provide higher performance (and
better price/performance ratio) than a centralized computer.
Reliability (fault tolerance): if some machine crashes, the system can survive.
Networking problems: several problems are created by the network infrastructure, which
have to be dealt with: loss of messages, overloading,
Issues that arise specifically from the distributed nature of the application:
• Transparency
• Communication
• Performance & Scalability
• Heterogeneity
• Openness
• Reliability & Fault tolerance
• Security
Transparency
Transparency is defined as the concealment from the user and the application programmer
of the separation of components in a distributed system, so that the system is perceived as
a whole rather than as a collection of independent components. The implications of
transparency are a major influence on the design of the system software.
Access transparency enables local and remote resources to be accessed using identical
operations.
Failure transparency enables the concealment of faults, allowing users and application
programs to complete their tasks despite the failure of hardware or software components.
Mobility transparency allows the movement of resources and clients within a system
without affecting the operation of users or programs.
Scaling transparency allows the system and applications to expand in scale without change
to the system structure or the application algorithms.
Communication
Components of a distributed system have to communicate in order to interact.
This implies support at two levels:
1. Networking infrastructure (interconnections & network software).
2. Appropriate communication primitives and models:
Communication primitives:
- send
- receive
- remote procedure call (RPC)
Communication models
- Client-server communication: implies a message exchange between two processes: the
process which requests a service and the one which provides it;
- Group multicast: the target of a message is a set of processes, which are members of a
given group.
Scalability
The system should remain efficient even with a significant increase in the number of users
and resources connected:
-cost of adding resources should be reasonable;
-performance loss with increased number of users and resources should be controlled;
-software resources should not run out (number of bits allocated to addresses, number of
entries in tables, etc.)
Heterogeneity
When event notifications are used as a means of communication, components in a
distributed system that were not designed to interoperate can be made to work together.
The solution:
Middleware, an additional software layer to mask heterogeneity.
Openness
One important feature of distributed systems is openness and flexibility:
Fault tolerance
The system has to detect faults and act in a reasonable way:
-mask the fault: continue to work with possibly reduced performance but without loss of
data/information.
-fail gracefully: react to the fault in a predictable way and possibly stop functionality for a
short period, but without loss of data/information.
Security
Reference: George Coulouris, Jean Dollimore, Tim Kindberg, Gordon Blair: "Distributed
Systems - Concepts and Design", Addison Wesley Publ. Comp., 5th edition, 2011.
| 10