Nothing Special   »   [go: up one dir, main page]

Chapter 1 Distributed Systems Basic Issues

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 9

UA –Main Campus-BS Information Technology NAS 5: Distributed Systems

MODULE IN NAS 5: DISTRIBUTED SYSTEM


Effective: 1ST Semester, 2020-2021

Distributed Systems
CHAPTER 1:
Distributed Systems Basic Issues

Wilbert P. Umadhay
Instructor email:
Wilbert.Umadhay@antiquespride.edu.ph

CHAPTER GOALS

In this chapter the student should learn:


1. What is a Distributed System?

2. Advantages and Disadvantages

3. Design Issues with Distributed Systems

Lesson 1: What is a Distributed System?


A distributed system is a collection of autonomous computers linked by a computer
network that appear to the users of the system as a single computer.

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).

Wilbert P. Umadhay Page1|9


UA –Main Campus-BS Information Technology NAS 5: Distributed Systems
By running a distributed system software, the computers are enabled to:
- coordinate their activities
-share resources: hardware, software, data.

Examples of Distributed Systems

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.

Wilbert P. Umadhay Page2|9


UA –Main Campus-BS Information Technology NAS 5: Distributed Systems
-Concurrent transactions (operations which involve accounts in different banks,
simultaneous access from several users, etc).
-Fault tolerance

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.

For safety critical-physical systems such as automotive systems, absolute guarantee of


timely behavior is crucial. In modern automotive systems that can support real-time

Wilbert P. Umadhay Page3|9


UA –Main Campus-BS Information Technology NAS 5: Distributed Systems
applications, distributed architectures are commonly used, where vehicles are connecter
in a complex network system Distributed Real-Time Systems
-Synchronization of physical clocks
-Scheduling with hard time constraints
-Real-time communication
-Fault tolerance

Lesson 2: Why do we Need Distributed Systems?

Advantages of Distributed Systems

Performance: very often a collection of processors can provide higher performance (and
better price/performance ratio) than a centralized computer.

Distribution: many applications involve, by their nature, spatially separated machines


(banking, commercial, automotive system).

Reliability (fault tolerance): if some machine crashes, the system can survive.

Incremental growth: as requirements on processing power grow, new machines can be


added incrementally.

Sharing of data/resources: shared data is essential to many applications (banking,


computer-supported cooperative work, reservation systems); other resources can be also
shared (e.g. expensive printers).

Communication: facilitates human-to-human communication.

Disadvantages of Distributed Systems

Difficulties of developing distributed software: how should operating systems,


programming languages and applications look like?

Networking problems: several problems are created by the network infrastructure, which
have to be dealt with: loss of messages, overloading,

Security problems: sharing generates the problem of data security.

Lesson 3: Design Issues with Distributed Systems

Issues that arise specifically from the distributed nature of the application:

Wilbert P. Umadhay Page4|9


UA –Main Campus-BS Information Technology NAS 5: Distributed Systems

• 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.

Location transparency enables resources to be accessed without knowledge of their


physical or network location (for example, which building or IP address).

Concurrency transparency enables several processes to operate concurrently using shared


resources without interference between them.

Replication transparency enables multiple instances of resources to be used to increase


reliability and performance without knowledge of the replicas by users or application
programmers.

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.

Performance transparency allows the system to be reconfigured to improve performance as


loads vary.

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:

Wilbert P. Umadhay Page5|9


UA –Main Campus-BS Information Technology NAS 5: Distributed Systems

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.

Performance and Scalability Performance


Several factors are influencing the performance of a distributed system:
-The performance of individual workstations.
-The speed of the communication infrastructure.
-Extent to which reliability (fault tolerance) is provided (replication and preservation of
coherence imply large overheads).
-Flexibility in workload allocation: for example, idle processors (workstations) could be
allocated automatically to a user’s task.

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.

Distributed applications are typically heterogeneous:


-different hardware: mainframes, workstations, PCs, servers, etc.
-different software: UNIX, MS Windows, IBM OS/2, Real-time OSs, etc.
-unconventional devices: teller machines, telephone switches, robots, manufacturing
systems, etc.
-diverse networks and protocols: Ethernet, FDDI, ATM, TCP/IP, Novell Netware, etc.

The solution:
Middleware, an additional software layer to mask heterogeneity.

Openness
One important feature of distributed systems is openness and flexibility:

Wilbert P. Umadhay Page6|9


UA –Main Campus-BS Information Technology NAS 5: Distributed Systems
-every service is equally accessible to every client (local or remote); it is easy to implement,
install and debug new services;
-users can write and install their own services.

Key aspect of openness:


-Standard interfaces and protocols (like Internet protocols)
-Support of heterogeneity (by adequate middleware, like CORBA)

Reliability and Fault Tolerance


One of the main goals of building distributed systems is improved reliability.
Availability: If machines go down, the system should work with the reduced amount of
resources.
-There should be a very small number of critical resources (single points of failure);
-critical resources: resources which have to be up in order the distributed system to work.
-Key pieces of hardware and software (critical resources) should be replicated if one of them
fails another one takes up - redundancy.
-Data on the system must not be lost, and copies stored redundantly on different servers
must be kept consistent.
-The more copies kept, the better the availability, but keeping consistency becomes more
difficult.
-Reliable systems need to have a high degree of availability; in order to achieve this, they
need to be fault tolerant.

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

Security of information resources implies:


1. Confidentiality - Protection against disclosure to unauthorized person
2. Integrity - Protection against alteration and corruption
3. Availability - Keep the resource accessible

Wilbert P. Umadhay Page7|9


UA –Main Campus-BS Information Technology NAS 5: Distributed Systems

Reference: George Coulouris, Jean Dollimore, Tim Kindberg, Gordon Blair: "Distributed
Systems - Concepts and Design", Addison Wesley Publ. Comp., 5th edition, 2011.

Wilbert P. Umadhay Page8


UA –Main Campus-BS Information Technology NAS 5: Distributed Systems

| 10

Wilbert P. Umadhay Page9

You might also like