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

Module 1

The document discusses key characteristics of distributed systems including resource sharing, openness, concurrency, scalability, fault tolerance, and transparency. It also covers different models of distributed systems such as physical models, architectural models, and fundamental models like SISD, SIMD, MISD, and MIMD. Examples of centralized, decentralized, and distributed systems as well as network operating systems, distributed operating systems, and middleware are provided.

Uploaded by

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

Module 1

The document discusses key characteristics of distributed systems including resource sharing, openness, concurrency, scalability, fault tolerance, and transparency. It also covers different models of distributed systems such as physical models, architectural models, and fundamental models like SISD, SIMD, MISD, and MIMD. Examples of centralized, decentralized, and distributed systems as well as network operating systems, distributed operating systems, and middleware are provided.

Uploaded by

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

Distributed Systems

UNIT I 8L

Characterization of Distributed Systems: Examples of Distributed Systems, Trends in Distributed


Systems, Focus on resource sharing, Challenges.

System models: Physical models, Architectural models, Fundamental models

Case study: World Wide Web.


Distributed systems
A distributed system consists of a collection of autonomous computers, connected
through a network and distribution middleware, which enables computers to coordinate
their activities and to share the resources of the system, so that users perceive the
system as a single, integrated computing facility.
Centralised System Characteristics

Centralized systems are systems that use client/server architecture where one or more client nodes
are directly connected to a central server.

•One component with non-autonomous parts


•Components shared by users all the time
•All resources accessible
•Software runs in a single process
•Single point of control
•Single point of failure
Key characteristics of distributed systems

1.Resource sharing

2.Openess

3.Concurrency

4.Scalability

5.Fault Tolerance

6.Transparency
Resource sharing
Resource:
hardware - disks and printers
software - files, windows, and data objects

Hardware sharing for:


convenience
reduction of cost

Data sharing for:


consistency - compilers and libraries
exchange of information - database
cooperative work - groupware
Openess
How it can be extended.

Openness is concerned with extensions and improvements of distributed systems. The distributed system must be open in
terms of Hardware and Softwares. In order to make a distributed system open,

UNIX was a relatively open operating system

C language readily available

System calls documented

New hardware drivers were easy to add

Applications were hardware independent

IPC allowed extension of services and resources


Concurrency
Multi-programming
Multi-processing

Parallel executions in distributed systems

1. Many users using the same resources, application interactions


2. Many servers responding to client requests
Scalability
How the system handles growth

Small system - two computers and a file server on a single network


Large system - current Internet

Mostly we scale the distributed system by adding more computers in the network.
Fault Tolerance

In a distributed system hardware, software, network anything can fail. The system must be designed in such a way
that it is available all the time even after something has failed.

Fault tolerance is achieved by

• recovery

• redundancy
Transparency
Transparency ensures that the distributes system should be perceived as the single entity by the users or
the application programmers rather than the collection of autonomous systems, which is cooperating.
The user should be unaware of where the services are located and the transferring from a local machine
to a remote one should be transparent.
 Access Transparency
Enables local and remote information objects to be accessed using identical operations.
• Example: File system operations in NFS.
• Example: Navigation in the Web.
• Example: SQL Queries

 Location Transparency
Enables information objects to be accessed without knowledge of their location.
• Example: File system operations in NFS
• Example: Pages in the Web
• Example: Tables in distributed databases

 Concurrency Transparency
Enables several processes to operate concurrently using shared information objects without
interference between them.
• Example: NFS
• Example: Automatic teller machine network
• Example: Database management system
 Failure Transparency
• Enables the concealment of faults
• Allows users and applications to complete their tasks despite
the failure of other
components.
• Example: Database Management System

 Migration Transparency
Allows the movement of information objects within a system
without affecting the operations of
users or application programs
• Example: NFS
• Example: Web Pages

 Performance Transparency
Allows the system to be reconfigured to improve performance
as loads vary.

• Example: Distributed make


Key design goals

• High performance
• Reliability
• Scalability
• Consistency
• Security
• Identify the real time examples of distributing systems?
• Identify the real time examples of centralised systems?
• Centralised vs decentralised vs distributed
• Uni processorsystem
• Multiprocessor
• Multi programming
• Instruction stream
• datastream
Hardware concepts
• Even though all the distributed systems consists of multiple CPU’s
there are several different ways the hardware can be organised,
especially in terms of how they are interconnected and how they
are communicated.
1) SISD (Single Instruction Single Data Stream)

Single instruction: Only one instruction stream is being acted or


executed by CPU during one clock cycle.
Single data stream: Only one data stream is used as input during one
clock cycle.
                    

A SISD computing system is a uniprocessor machine that is capable of executing a single instruction
operating on a single data stream. 
SIMD (Single Instruction Multiple Data Stream)

A SIMD system is a multiprocessor machine, capable of executing the same instruction on all the CPUs but
operating on the different data stream.

IBM 710 is the real life application of SIMD.

       
MISD (Multiple Instruction Single Data stream)

An MISD computing is a multiprocessor machine capable of executing different instructions on


processing elements but all of them operating on the same data set.
4) MIMD (Multiple Instruction Multiple Data Stream)

A MIMD system is a multiprocessor machine that is capable of executing multiple instructions


over multiple data streams. Each processing element has a separate instruction stream and data
stream.
software concept 

The software of the distributed system is nothing but selection of different


operating system platforms.

The operating system is the interaction between user and the hardware.

There are three largely used operating system types:

a) Distributed operating system


b) Network operating system
c) Middleware operating system
Distributed operating system

In distributed OS, a common set of services is shared among multiple processors in such a way that they are meant to
execute a distributed application effectively and also provide services to separate independent computers connected in
a network

It communicates with all the computer


using message passing interface(MPI)

It follows the tightly coupled architecture


pattern.

It uses Data structure like queue to manages


the messages and avoid message loss between
sender and receiver computer.

Eg Automated banking system, railway


reservation system etc.
Network operating system:

A network operating system (NOS) is an operating system that manages network


resources: essentially, an operating system that includes special functions for
connecting computers and devices into a local area network (LAN). 

Network Operating System runs on a server and gives the server the capability to manage data, users,
groups, security, applications, and other networking functions. 

It has multiple operating system running on different hardware platforms


connected in network.

It follows the loosely coupled architecture pattern which allow user to use services
provided by the local machine itself as shown in fig below.
Middle ware operating system:

It has a common set of services is provided for the local applications and independent set of services for the
remote applications.

It support heterogeneity that is it supports multiple languages and operating system where user gets
freedom to write the application using the any of the supported language under any platform.

It provide the services such as locating the objects or interfaces by their names, finding the location of objects,
maintaining the quality of services, handling the protocol information, synchronization, concurrency and
security of the objects etc.
Middleware in the context of 
distributed applications is 
software that provides services
beyond those provided by the 
operating system to enable the
various components of a
distributed system to
communicate and manage
data. Middleware supports and
simplifies complex 
distributed applications.
Distributed Computing system models 
• Minicomputer model
• Workstation model
• Workstation - server model
• Processor - pool model
• Hybrid model
.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 interconnected by a communication network were each
minicomputer usually has multiple users simultaneously logged on to
it.
• Several interactive terminals are connected to each
minicomputer.Each user logged on to one specific minicomputer has
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.

Types of minicomputer
The types of minicomputer are- tablet PC, Desktop minicomputers, cell phones, notebooks,
high-end mP3 players, etc.

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.
How does Mini Computer model look like?
WORKSTATION MODEL
• A distributed computing system based on the workstation model
consists of several workstations interconnected by a communication
network.
• An organization may have several workstations located throughout a
building or campus, each workstation equipped with its own disk
and serving as a single-user computer.
•In such an environment,at any one
time a significant proportion of the
workstations are idle which results
in the waste of large amounts of
CPU time.
WORKSTATION – SERVER MODEL

• The workstation model is a network of personal workstations, each


with its own disk and a local file system.
• A workstation with its own local disk is usually called a diskful
workstation and a workstation without a local disk is called a diskless
workstation.
• With the proliferation of high-speed networks, diskless workstations
have become more popular in network environments than diskful
workstations, making the workstation-server model more popular
than the workstation model for building distributed computing
systems.
• A distributed computing system based on the workstation-server model
consists of a few minicomputers and several workstations (most of which are
diskless, but a few of which may be diskful) interconnected by a
communication network.

• One or more of the minicomputers are used for implementing the file system.
In this model, a user logs onto a workstation
called his or her home workstation. Normal
computation activities required by the user's
processes are performed at the user's home
workstation, but requests for services provided by
special servers (such as a file server or a database
server) are sent to a server providing that type of
service that performs the user's requested activity
and returns the result of request processing to the
user's workstation. Therefore, in this model, the
user's processes need not migrated to the server
machines for getting the work done by those
machines.
PROCESSOR – POOL MODEL

• In the processor-pool model the processors are pooled together to be


shared by the users as needed.
• 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 or an application program of the distributed
computing system .
• A special server (run server) manages and allocates the processors in
the pool to different users on a demand basis.
•  This model allows better utilization of the available processing
power of a distributed computing system.
• It also provide greater flexibility than the workstation model.
Hybrid model

• The workstation-server model, is the most widely used model for


building distributed computing systems.
• This is because a large number of computer users only perform
simple interactive tasks such as editing jobs, sending electronic
mails, and executing small programs.
• However, in a working environment that has groups of users who
often perform jobs needing massive computation, the processor-pool
model is more attractive and suitable.
System Model
• Physical Model
• Architectural Model
• Fundamental model
Physical Model
• – the types of computers and devices that constitute a system
• – their interconnectivity

• Capture hardware composition in terms of computers and their


interconnecting networks.

• Most explicit description of a system


Three generations
– Early distributed systems: late 1970s and early 1980s
• typical 10 and 100 nodes of LAN

– Internet-scale distributed systems: 1990s


• network of networks

– Contemporary distributed systems: 2000s (cloud)


• mobile devices and wireless networking
Architectural model

• It deals with the

• organization of components across the network of computers, and

• their interrelationship, i.e., how these components communicate


with each other
Architectural elements
1. What are the entities that are communicating in the distributed
system?
2. How do they communicate or what communication paradigm is
used?
3. What roles and responsibilities do they have in the overall
architecture?
4. How are they mapped on to the physical distributed infrastructure?
(What is their placement?
Communicating entities
• From system perspective: processes
• in some cases we can say that:
-> nodes(sensors)
->threads (endpoints of communication):
Programming perspective:
• more problem-oriented abstractions have been proposed, such as
distributed objects, components, Web services.

• distributed objects: introduced to enable and encourage the use of object-


oriented approaches in distributed systems.
• objects are accessed via interfaces, with an associated interface definition
language providing a specification of the methods defined on an object.

• A Web service supports direct interactions with other software agents


using XML-based message exchanges via Internet-based protocols.
Communication paradigms
What is:
•interprocess communication?
•remote invocation?
•indirect communication?
IPC
• low level support for communication between processes in the
distributed system,
• including message-passing primitives, socket programming, multicast
communication.
Socket Programming
Multicast Communication
Remote invocation
Covering a range of techniques based on a two-way exchange between communicating
entities.
RPC & RMI
• In distributed computing, a remote procedure call (RPC)
is when a computer program causes a procedure
(subroutine) to execute in a different address
space (commonly on another computer on a shared network),
which is coded as if it were a normal (local) procedure call.

• The RMI (Remote Method Invocation) is an API that provides a


mechanism to create distributed application in java. The RMI allows
an object to invoke methods on an object running in another JVM.
-space uncoupling: senders do not need to know who they are
sending to.

- time uncoupling: senders and receivers do not need to exist


at the same time.
Message queues
Message queues offer a point-to-point service whereby producer
processes can send messages to a specified queue and consumer
processes can receive messages from the queue or being notified
Publish-subscribe-systems (or event-based
communication)
[Architectural Models] Roles &
Responsibilities
Client-Server Architectural Style
Client-Server Interaction
Main Technological Components
Fundamental Model
• Fundamental properties in processes and communication, shared
among different architectures discussed previously.

The aspects of DS that we wish to capture:

– Interaction: communication (i.e. information flow) and coordination


(synchronization and ordering of activities) between processes.
– Failure: analysis of potential effects whenever a fault occurs.
– Security: analysis of threats to a system.
Interaction model
• Latency: the delay between the start of a message’s transmission
from one process and the beginning of its receipt by another.
Bandwidth
• The bandwidth of a computer network is the total amount of
information that can be transmitted over it in a given time
• When a large number of communication channels are using the same
network, they have to share the available bandwidth.

Jitter
• Variation in the time taken to deliver a series of messages.
Fault Model
• The failure model defines ways in which failure may occur in order to
provide an understanding of the effects of failure.

• Taxonomy of failures of processes and communication channels


(Hadzilacos & Toueg, 1994)
• Omission failures
• Arbitrary failures
• Timing failures
Layered Protocols
A protocol is a set of rules and conventions that describe how information is to be exchanged between two entities. 

Networking tasks often require more than one protocol to perform a task, such as file transfer.
OSI (Open System Interconnection)
1. Physical Layer (Layer 1) :
The lowest layer of the OSI reference model is the physical layer.

It is responsible for the actual physical connection between the devices.

The physical layer contains information in the form of bits..

this layer will get the signal received and convert it into 0s and 1s and send them
to the Data Link layer, which will put the frame back together.

Hub, Repeater, Modem, Cables are


Physical Layer devices.
Data Link Layer (DLL) (Layer 2) :

Packet in Data Link layer is referred as Frame.

Switch & Bridge are Data Link Layer devices.


Framing: Framing is a function of the data link layer. It provides a way for a sender to
transmit a set of bits that are meaningful to the receiver. This can be accomplished by
attaching special bit patterns to the beginning and end of the frame.

Physical addressing: After creating frames, Data link layer adds physical addresses (MAC
address) of sender and/or receiver in the header of each frame.

Error control: Data link layer provides the mechanism of error control in which it detects and
retransmits damaged or lost frames.

Flow Control: The data rate must be constant on both sides else the data may get corrupted
thus , flow control coordinates that amount of data that can be sent before receiving
acknowledgement.

Access control: When a single communication channel is shared by multiple devices, MAC
sub-layer of data link layer helps to determine which device has control over the channel at a
given time.
3. Network Layer (Layer 3) :
Network layer works for the transmission of data from one host to the other located in different
networks. It also takes care of packet routing i.e. selection of the shortest path to transmit the packet,
from the number of routes available. The sender & receiver’s IP address are placed in the header by the
network layer.

The functions of the Network layer are :

Routing: The network layer protocols determine which route is suitable from source to destination. This
function of network layer is known as routing.

Logical Addressing: In order to identify each device on internetwork uniquely, network layer defines an
addressing scheme. The sender & receiver’s IP address are placed in the header by network layer. Such
an address distinguishes each device uniquely and universally.

* Segment in Network layer is referred as Packet.

You might also like