BE Comps DC Week1
BE Comps DC Week1
2
Unit No: 1 Unit name:Introduction to Distributed Systems
LectureNo:1
Introduction to Distributed
Systems
Computer Architecture
4 Lecture 1-:Definition,Issues,Goals
Tightly Coupled System
• In these systems, there is a single system wide primary memory (address space) that
is shared by all the processors.
• If any processor writes, for example, the value 100 to the memory location x, any
other processor subsequently reading from location x will get the value 100.
• Therefore, in these systems, any communication between the processors usually
takes place through the shared memory.
100
5 Lecture 1-:Definition,Issues,Goals
Loosely coupled systems
• In these systems, the processors do not share memory, and each processor has its
own local memory.
• If a processor writes the value 100 to the memory location x, this write operation
will only change the contents of its local memory and will not affect the contents of
the memory.
• In these systems, all physical communication between the processors is done by
passing messages across the network that interconnects the processors.
100
6 Lecture 1-:Definition,Issues,Goals
Definition of a Distributed System
• Definition meaning: The first part deal with Hardware: the machine are
autonomous. A second aspect deal with Software: the user (be they people
or programs) think they are dealing with a single system.
• The operating systems used for Distributed computing systems can be
broadly classified into two type’s network operating systems and distributed
operating systems.
7 Lecture 1-:Definition,Issues,Goals
Difference between tightly coupled and loosely coupled multiprocessor
systems
Tightly coupled systems are referred to as parallel processing systems, and loosely
coupled systems are referred to as distributed computing systems, or simply distributed
systems.
(No of systems) In contrast to the tightly coupled systems, the processor of distributed
computing systems can be located far from each other to cover a wider geographical
area. Furthermore, in tightly coupled systems, the number of processors that can be
usefully deployed is usually small and limited by the bandwidth of the shared memory.
This is not the case with distributed computing systems that are more freely expandable
and can have an almost unlimited number of processors.
In short, a distributed computing system is basically a collection of processors
interconnected by a communication network in which each processor has its own local
memory and other peripherals, and the communication between any two processors of
the system takes place by message passing over the communication network.
For a particular processor, its own resources are local, whereas the other processors and
their resources are remote. Together, a processor and its resources are usually referred to
as a node or site or machine of the distributed computing system.
8 Lecture 1-:Definition,Issues,Goals
Difference between tightly coupled and loosely coupled multiprocessor
systems
9 Lecture 1-:Definition,Issues,Goals
Evolution of Distributed Computing System
Computer systems are undergoing a revolution. From 1945, when the modem Computer
era began, until about 1985, computers were large and expensive.
Starting around the mid-1980s, however, two advances in technology began to change
that situation.
The first was the development of powerful microprocessors. Initially, these were 8-bit
machines, but soon 16-, 32-, and 64-bit CPUs became common.
Many of these had the computing power of a mainframe (i.e., large) computer, but for a
fraction of the price.
The amount of improvement that has occurred in computer technology in the past half
century is truly staggering and totally unprecedented in other industries.
10 Lecture 1-:Definition,Issues,Goals
Evolution of Distributed Computing System
• The second development was the invention of high-speed computer networks. Local-area
networks or LANs allow hundreds of machines within a building to be connected.
• With mainframe software architectures all components are within a central host computer.
Users interact with the host through a terminal that captures keystrokes and sends that
information to the host.
In the 1990s, PC LAN (local area network) computing changed because the capacity of
the file sharing was strained as the number of online users grew.
graphical user interfaces (GUIs) became popular (making mainframe and terminal
displays appear out of date).
11 Lecture 1-:Definition,Issues,Goals
Evolution of Distributed Computing System
The next major step in distributed computing came with separation of software
architecture into 2 or 3 tiers.
With two tier client-server architectures, the GUI is usually located in the user's
desktop environment
The database management services are usually in a server that is a more powerful
machine that services many clients.
However, when the number of users exceeds 100, performance begins to deteriorate
and the architecture is also difficult to scale.
The three tier architecture (also referred to as the multi-tier architecture) emerged to
overcome the limitations of the two tier architecture.
In the three tier architecture, a middle tier was added between the user system
interface client environment and the database management server environment.
12 Lecture 1-:Definition,Issues,Goals
Evolution of Distributed
Computing System
1. Minicomputer
Model
• The minicomputer model is a simple extension of the centralized time sharing system, a
distributed computing system based on this model consists of a few minicomputers (they
may be large supercomputers as well) interconnected by a communication network.
• Each minicomputer usually has multiple users simultaneously logged on to it. For this,
several interactive terminals are connected to each minicomputer.
• Each user is logged on to one specific minicomputer, with remote access to other
minicomputers. The network allows a user to access remote resources that are available on
some machine other than the one on to which the user is currently logged.
13 Lecture 1-:Definition,Issues,Goals
Evolution of Distributed
Computing System
1. Minicomputer
Model
• The minicomputer model may be used when resource sharing (Such as sharing of
information databases of different types, with each type of database located on a different
machine) with remote users is desired.
14 Lecture 1-:Definition,Issues,Goals
Evolution of Distributed
Computing System
2. Workstation
Model:
It has been often found that in such an environment, at any one time (especially at night),
a significant proportion of the workstations are idle (not being used), resulting in the
waste of large amounts of CPU time.
15 Lecture 1-:Definition,Issues,Goals
Evolution of Distributed
Computing System
2. Workstation
Model:
Therefore, the idea of the workstation model is to interconnect all these workstations by a
high speed LAN so that idle workstations may be used to process jobs of users who are
logged onto other workstations and do not have sufficient processing power at their own
workstations to get their jobs processed efficiently.
In this model, a user logs onto one of the workstations called his or her “home”
workstation and submits jobs for execution.
16 Lecture 1-:Definition,Issues,Goals
Evolution of Distributed Computing System
3. The workstation –
server model
• For a number of reasons, such as higher reliability and better scalability, multiple servers
are often used for managing the resources of a particular type in a distributed computing
system.
• For better overall system performance, the local disk of a diskful workstation is normally
used for such purposes as storage of temporary files, storage of unshared files, and storage
of shared files that are rarely changed, paging activity in virtual-memory management, and
changing of remotely accessed data.
17 Lecture 1-:Definition,Issues,Goals
Evolution of Distributed
Computing System
4. Processor Pool
Model:
• The processor – pool model is based on the observation that most of the time a user does not
need any computing power but once in a while he or she may need a very large amount of
computing power for a short time.
• Therefore, unlike the workstation – server model in which a processor is allocated to each
user
18 Lecture 1-:Definition,Issues,Goals
Definition of a Distributed System
1.1
19 Lecture 1-:Definition,Issues,Goals
Definition of a Distributed System
Fig. shows four networked computers and three applications, of which application B is
distributed across computers 2 and 3. Each application is offered the same interface.
The distributed system provides the means for components of a single distributed
application to communicate with each other, but also to let different applications
communicate. At the same time, it hides, as best and reasonable as possible, the
differences in hardware and operating systems from each application.
20 Lecture 1-:Definition,Issues,Goals
Unit No: 1 Unit name:Introduction to Distributed Systems
LectureNo:2
Issues,Goals of distributed
system
Issues
1. Support of heterogeneity
2. Making Resources Accessible
3. Transparency
4. Openness
5. Scalability
6. Security
7. Lack of failure-handling
mechanism
8. Concurrency
9. Quality of service
22 Lecture 2-:Issues,Goals
Issues
1. Support of heterogeneity
The distributed system is nothing but a collection of computers which may have
different hardware operating system platforms, network protocols and languages
for implementation.
Some of the distributed systems do not support heterogeneity as they are either
platform-dependent or programming language dependent.
23 Lecture 2-:Issues,Goals
Issues
The main goal/issue 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 can be just about anything, but typical examples include things like
printers, computers, storage facilities, data, files, Web pages, and networks, to name
just a few.
There are many reasons for wanting to share resources. One obvious reason is that
of economics. For example, it is cheaper to let a printer be shared by several users
24 Lecture 2-:Issues,Goals
Issues
3. Transparency
An important issue of distributed system is to hide the fact that its processes and resources
are physically distributed across multiple computers. There are eight types of
transparencies in a distributed system:
25 Lecture 2-:Issues,Goals
Issues
4. Openness
Another important goal/issue of distributed systems is openness.
There is need to define comm on syntax, semantics and implementation
details with specification or document describing key interface details to provide
openness.
An open distributed system is a system that offers services according to standard
rules that describe the syntax and semantics of those services.
For example, in computer networks, standard rules govern the format, contents, and
meaning of messages sent and received. Such rules are formalized in protocols.
In distributed systems services are generally specified through interfaces, which are
26 Lecture 2-:Issues,Goals
Issues
5. Scalability
Scalability of a system can be measured along at least three different dimensions.
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 geographical 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.
Unfortunately, a system that is scalable in one or more of these dimensions often
exhibits some loss of performance as the system scales up.
27 Lecture 2-:Issues,Goals
Issues
6. Security
In distributed system, most of the communication occur between the client and the
servers. Therefore, vulnerability in security may bottleneck the server.
Denial of service is most common security attack in distributed system, where large
number of continous request are sent to the server such that intended user will not get access
to it.
Security can be achieved by
Authentication is used to validate the user access by the means of username and
password.
Authorization is used to check the authority, policies and the role of access.
Use of message encryption and decryption technique for security
28 Lecture 2-:Issues,Goals
Issues
29 Lecture 2-:Issues,Goals
Issues
8. Concurrency
In a distributed system, multiple users who are spatially separated use the system
concurrently. In such duration, it is economical to share the system resources (hardware
or software) among the concurrently executing user processes.
1. An event-ordering property ensures that all access requests to various system resources
are properly ordered to provide a consistent view to all users of the system.
2. A mutual-exclusion property ensures that at any time at most one process accesses a
shared resource, which must not be used simultaneously by multiple processes if program
operation is to be correct.
3. A no-starvation property ensures that if every process that is granted a resource, which
must not be used simultaneously by multiple processes, eventually releases it, every
request for that resource is eventually granted.
4. A no-deadlock property ensures that a situation will never occur in which competing
processes prevent their mutual progress even though no single one requests more
resources than available in the system
30 Lecture 2-:Issues,Goals
Issues
9. Quality of service
The quality of service is a measure of defining the performance of functional
services in the system by the client in terms of reliability, security and performance.
31 Lecture 2-:Issues,Goals
Goals
The system follows open standards so that they use standard syntax and
semantics.
The system should be capable to detect and recover from failure, it should be
fault tolerance and robust.
32 Lecture 2-:Issues,Goals
Unit No: 1 Unit name:Introduction to Distributed Systems
LectureNo:3
Types and Models of
Distributed System
Types of distributed system
Cluster computing
• Cluster computing is a form of distributed computing where a group of
computers are linked together in a network to perform a single task and act
like single entity.
• high availability and load balancing are the key feature of cluster computing.
• They ensure that the computing system will always be available by creating
redundancy in the network so that the system never fails.
• Disadvantage
• It only supports homogeneous infrastructure only.
( Same OS, Hardware, Networks)
Cluster computing
•Linux-based
•Master-slave paradigm
•One processor is the master; allocates tasks to other processors,
maintains batch queue of submitted jobs, handles interface to users
•Master has libraries to handle message-based communication or other
features (the middleware).
The first two types of systems are characterized by their stability: nodes and
network connections are more or less fixed
Built around one or more PCs, but can also include other electronic devices:
Automatic control of lighting, sprinkler systems, alarm systems, etc.
Network enabled appliances
PDAs and smart phones, etc.
53 Home System
Electronic Health Care Systems
The distributed system models are used to express functionalities between the
components have been categorized into four sub models
Distributed System
Models
1.Architectural Model
• An architecture model of distributed system defines the way in which the
components of the system interact with each other and mapped onto an
underlying network of computer.
• The client-server and peer to peer model are the parts of an architectural model.
The client server model is widely used architecture in most of the distributed
technologies, where client process interact with the server process to get access
the shared resources.
• Use RPC/RMI for communication
• Its is based on request/reply protocol implemented with send/receive primitives.
In the peer to peer model all computers in the network get same privileges and run
same program with the same set of interfaces.
• Disadvantage of P2P are the lack of scalability and high complexity
Client-Server Model
peer-to-peer Model
2. Interaction Model
• The interaction model deals with type of interaction pattern used in the
communication.
In synchronous distributed system ,both client and the server should actively
participate in the communication process
Main feature:
Execution Lower and upper bound on the execution time of process is set
Communication channel between two machines should deliver messages in FIFO order
Clocks
Each node has logical clock and it should be synchronized
In asynchronous distributed system, the sender and receiver both need not
to be activated at a time for communication because no time bound is recorded
here.
Main feature:
Execution No bound Lower and upper bound on the execution time of process is set
66
Lecture 3-:Distributed system models
Distributed System Models
3. Fault Model
In distributed system, failure may occur with both process and communication
channels.
There are three types of fault-omission fault, arbitrary fault and timing fault.
1.Omission fault-:the action is performed or omitted if fault occurs.
2.Arbitrary fault-:describes the worst possible fault semantics where any type of
error may occur.
69
Lecture 3-:Distributed system models
Distributed System Models
4. Security Model
• The security model is intended to provide security to the shared resource,
process and channel used for their interaction.
• The various cryptographic algorithms are used for encrypting and decrypting
objects and processes by using different key algorithm.
70
Lecture 3-:Distributed system models
Thank You