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

BE Comps DC Week1

This document discusses the introduction and evolution of distributed systems. It defines a distributed system as a collection of independent computers that appear to users as a single coherent system. The document compares tightly coupled and loosely coupled multiprocessor systems, noting that distributed systems are loosely coupled and involve message passing between processors with local memory. It outlines the evolution of distributed computing from mainframes to minicomputer models to workstation models interconnected by networks.

Uploaded by

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

BE Comps DC Week1

This document discusses the introduction and evolution of distributed systems. It defines a distributed system as a collection of independent computers that appear to users as a single coherent system. The document compares tightly coupled and loosely coupled multiprocessor systems, noting that distributed systems are loosely coupled and involve message passing between processors with local memory. It outlines the evolution of distributed computing from mainframes to minicomputer models to workstation models interconnected by networks.

Uploaded by

Tejas Bhanushali
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 67

Subject Name: DISTRIBUTED COMPUTING

Unit No: 1 Unit Name: Introduction to


distributed System
Index

Lecture 1 – Introduction to distributed System:Definition,Goals,Issues 4

Lecture 2 – Introduction to distributed System:Types of distributed system 10

Lecture 3 –Introduction to distributed System:Distributed system models 16

Lecture 4 – Introduction to distributed System:Hardware and software concepts 22

Lecture 5-Introduction to distributed System:Models of middleware system,services offered by


41
middleware system

Lecture 6 –Introduction to distributed System:Client-server model 47

2
Unit No: 1 Unit name:Introduction to Distributed Systems

LectureNo:1
Introduction to Distributed
Systems
Computer Architecture

Computer architectures consisting of interconnected, multiple processors are basically


of two types:
• Tightly coupled systems

• Loosely coupled systems

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

A distributed system is:

A collection of independent computers that appears to its users as a single


coherent 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

S.No Parallel system Distributed System


1 Memory Tightly coupled shared Distributed memory.
memory UMA,NUMA Message passing, RPC
and/or DSM
2 Control Global clock control No global clock control,
SIMD MIMD Synchronization
algorithms needed
3 Main focus Performance scientific Performance (cost and
computing scalability) Reliability/
Availability.
Information/ Resource
sharing.

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.

• The early ARPAnet is an example of a distributed computing system based on the


minicomputer model.

14 Lecture 1-:Definition,Issues,Goals
Evolution of Distributed
Computing System

2. Workstation
Model:

 a distributed computing system based on the workstation model consists of several


workstations interconnected by a communication network.

 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

• The pool of processors consists of a large number of microcomputers and minicomputers


attached to the network. Each processor in the pool has its own memory to load and run a
system program.

18 Lecture 1-:Definition,Issues,Goals
Definition of a Distributed System

1.1

A distributed system organized as middleware. The middleware layer extends over


multiple machines, and offers each application the same interface.

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

2. Making Resources Accessible

 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

often described in an Interface Definition Language (IDL).

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

7. Lack of failure-handling mechanism


Most of the distributed systems have lack of a built-in fault-tolerant mechanism,

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

 Support of heterogeneous hardware and software.

 Resources are easily accessible across the network.

 It should hide the fact about the resources in terms of transparencies.

 Distributed system should be scalable.

 The system follows open standards so that they use standard syntax and
semantics.

 The system should be independent of geographical locations of servers and


easily manageable or the administrators

 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

Based on functionality the distributed system is broadly classified into three


types:

Types of Distributed System

Distributed Distributed Distributed


Computing Information Pervasive
System System System

34 Lecture 3-:Types of Distributed system


Types of Distributed Systems

•Distributed Computing Systems


•Clusters
•Grids

•Distributed Information Systems


•Transaction Processing Systems
•Enterprise Application Integration

•Distributed Embedded Systems


•Home systems
•Health care systems
•Sensor networks

Lecture 3-:Types of Distributed system


35
Types of distributed system

1. Distributed Computing system


• The distributed system uses a group of computers that share a common
computation problem among them so as to generate an efficient results in
short time span.
• The time is an important entity in distributed computing, which can be
reduced by increasing the number of computing nodes.
• The system uses special kind of software application to manage different
task performed on multiple computer simultaneously
• It help in the interaction of different computer through the exchange of
message.

• It has two subclasses- cluster computing and grid computing

36 Lecture 3-:Types 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)

Lecture 3-:Types of Distributed


37
system
Cluster Types & Uses

•High Performance Clusters (HPC)


•run large parallel programs
•Scientific, military, engineering apps; e.g., weather modeling

•Load Balancing Clusters


•Front end processor distributes incoming requests

•High Availability Clusters (HA)


•Provide redundancy – back up systems
•May be more fault tolerant than large mainframes

Lecture 3-:Types of Distributed system


38
Types of distributed system

Cluster computing

Lecture 3-:Types of Distributed


39
system
Clusters – Beowulf model

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

40 Lecture 3-:Types of Distributed system


Cluster Computing Systems

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

Figure 1-6. An example of a (Beowolf) cluster computing


system
Lecture 3-:Types of Distributed system
Grid Computing

•A characteristic feature of cluster computing is its homogeneity.


•In most cases, the computers in a cluster are largely the same, they all have
the same operating system, and are all connected through the same network.
•In contrast, grid computing systems have a high degree of heterogeneity:
--- no assumptions are made concerning hardware, operating systems,
networks, administrative domains, security policies, etc

•Grids support virtual organizations:


•Resources from different organizations are brought together to allow the
collaboration of a group of people or institutions. Such a collaboration is
realized in the form of a virtual organization.
•People belonging to the same virtual organization have access rights to the
resources that are provided to that organization.

Lecture 3-:Types of Distributed system


42
Grid Computing

• Grid computing is another


computing form where
heterogeneity is the key
advantage.
• It allows multiple
computers with diverse
hardware ,operating system
and network to solve
computation problem.
• All the computer in a grid
network have a common
goal and work on single
task.

Lecture 3-:Types of Distributed


43
system
A Proposed Architecture for Grid Systems*
• Fabric layer: interfaces to local
resources at a specific site
• Connectivity layer: protocols to
support usage of multiple
resources for a single application;
e.g., access a remote resource or
transfer data between resources;
and protocols to provide security
• Resource layer manages a single
resource, using functions supplied
by the connectivity layer
• Collective layer: resource
discovery, allocation, scheduling,
etc.
• Applications: use the grid
resources Figure : A layered architecture for grid
• The collective, connectivity and computing systems
resource layers together form the
middleware layer for a grid

Lecture 3-:Types of Distributed system


Distributed Information System :
Transaction Processing Systems

Figure 1-8. Example primitives for transactions.

Lecture 3-:Types of Distributed system


Transaction Processing Systems

•Let us concentrate on database applications


•Operations on a database are usually carried out in the form of transactions
•Obey the ACID properties:
Atomic: all or nothing
Consistent: invariants are preserved
Isolated: Concurrent
Durable: committed operations can’t be undone

Lecture 3-:Types of Distributed


46
system
Nested Transaction

•So far, transactions have been defined on a single database.


•A nested transaction is constructed from a number of sub transactions

Fig: A nested transaction.

Lecture 3-:Types of Distributed


47
system
Enterprise Application Integration

•Enterprise application integration is an integration framework composed of a


collection of technologies and services which form a middleware or
"middleware framework" to enable integration of systems and applications
across an enterprise.
•Many types of business software such as supply chain
management applications, ERP systems, CRM applications for managing
customers, business intelligence applications, payroll, and human
resources systems typically cannot communicate with one another in order to
share data or business rules.
•Enterprise application integration is the process of linking such applications
within a single organization together in order to simplify and automate business
processes
•Applications can be linked either at the back-end via APIs and the front-end
(GUI).

Lecture 3-:Types of Distributed


48
system
EAI can be used for different purposes:

Data integration: Ensures that information in multiple systems is kept


consistent. This is also known as enterprise information integration (EII).

Vendor independence: Extracts business policies or rules from applications and


implements them in the EAI system, so that even if one of the business
applications is replaced with a different vendor's application, the business rules
do not have to be re-implemented.

Common facade: An EAI system can front-end a cluster of applications,


providing a single consistent access interface to these applications and
shielding users from having to learn to use different software packages.

Lecture 3-:Types of Distributed


49
system
Distributed Pervasive Systems

The first two types of systems are characterized by their stability: nodes and
network connections are more or less fixed

•Three requirements for pervasive applications:


1. Embrace contextual changes.
2. Encourage ad hoc composition.
3. Recognize sharing as the default.

This type of system is likely to incorporate small, battery-powered, mobile


devices
Home systems
Electronic health care systems – patient monitoring
Sensor networks – data collection, surveillance

Lecture 3-:Types of Distributed system


Home System

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

Figure 1-12. Monitoring a person in a pervasive electronic


health care system, using (a) a local hub or (b) a
continuous wireless connection.

Lecture 3-:Types of Distributed system


Sensor Networks

A collection of geographically distributed nodes consisting of a comm. device,


a power source, some kind of sensor, a small processor…
Purpose: to collectively monitor sensory data (temperature, sound, moisture
etc.,) and transmit the data to a base station
“smart environment” – the nodes may do some rudimentary processing of the
data in addition to their communication responsibilities.

Lecture 3-:Types of Distributed system


Sensor Networks

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


storing and processing data (a) only at the operator’s site
or …

Lecture 3-:Types of Distributed system


Sensor Networks

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


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

Lecture 3-:Types of Distributed system


Distributed System Models

The distributed system models are used to express functionalities between the
components have been categorized into four sub models

Distributed System
Models

Architectural Interaction Security


Fault model
Model model model

59 Lecture 3-:Distributed system 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

60 Lecture 3-:Distributed system models


Distributed System Models

Client-Server Model

61 Lecture 3-:Distributed system models


Distributed System Models

peer-to-peer Model

62 Lecture 3-:Distributed system models


Distributed System Models

2. Interaction Model
• The interaction model deals with type of interaction pattern used in the
communication.

• The two variants of the interaction model are synchronous distributed


system and asynchronous distributed system.

63 Lecture 3-:Distributed system models


Synchronous distributed system

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 Transmitted messages are received within known bounded time

Ordered Message Delivery

Communication channel between two machines should deliver messages in FIFO order

Clocks
Each node has logical clock and it should be synchronized

Lecture 3-:Distributed system models


64
Asynchronous distributed system

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

Communication No bounded on transmission delay (No assumption on speed,load,etc

Ordered Message Delivery

Message can be delayed for an arbitrary period of time


Clocks
Clocks of different nodes in a distributed system can drift apart

65 Lecture 3-:Distributed system models


Distributed System Models

Blocking communication (synchronous)


– Send blocks until message is actually sent
– Receive blocks until message is actually received

Non-blocking communication (asynchronous)


– Send returns immediately
– Return does not block either

66
Lecture 3-:Distributed system models
Distributed System Models

Blocking Vs Non- Blocking

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

3.Timing Fault-:time limit is exceeded.

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.

• It Provide security to the shared object by means of encryption and


decryption.

• The various cryptographic algorithms are used for encrypting and decrypting
objects and processes by using different key algorithm.

• Combination of authentication and encryptions is widely used to secure the


communication channel.

70
Lecture 3-:Distributed system models
Thank You

You might also like