Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
53 views

Lecture 09 - Paradigm Distributed Applications

This document provides an overview of parallel and distributed computing concepts. It discusses distributed applications and how tasks can be broken down and distributed across multiple nodes for parallel execution. Key aspects covered include parallelism/concurrency, inter-node communication methods like message passing, fault tolerance strategies, and client-server and distributed object models for dividing work across a network.

Uploaded by

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

Lecture 09 - Paradigm Distributed Applications

This document provides an overview of parallel and distributed computing concepts. It discusses distributed applications and how tasks can be broken down and distributed across multiple nodes for parallel execution. Key aspects covered include parallelism/concurrency, inter-node communication methods like message passing, fault tolerance strategies, and client-server and distributed object models for dividing work across a network.

Uploaded by

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

PARALLEL & DISTRIBUTED COMPUTING

PARADIGM DISTRIBUTED APPLICATIONS

• The paradigm of distributed applications refers to a set of principles,


models, and practices that guide the design, development, and deployment
of software applications in a distributed computing environment. In a
distributed application, different components of the software system are
distributed across multiple nodes or machines connected by a network.
PARALLELISM AND CONCURRENCY:

• Exploits parallel processing to execute multiple tasks simultaneously across


distributed nodes.
• Utilizes concurrency to enhance overall system throughput and
responsiveness.
INTER-NODE COMMUNICATION:

• Requires efficient communication mechanisms between nodes for data


exchange and coordination.
• May involve message passing, remote procedure calls (RPC), or other
communication protocols .
TASK DECOMPOSITION AND DISTRIBUTION:

• Breaks down large tasks into smaller sub-tasks that can be distributed
across nodes for parallel execution.
• Supports load balancing to ensure an equitable distribution of tasks among
nodes.
FAULT TOLERANCE AND REDUNDANCY:

• Implements strategies for fault tolerance, as parallel distributed systems may face node
failures or network issues.
• Incorporates redundancy and replication to ensure continued operation in the presence
of failures.
CLIENT SERVER PARADIGM :

• Client-server architecture is a computing model where tasks or processes are divided


between clients (requesters) and servers (providers), connected via a network.
• Client-server paradigm represents a computing architecture where tasks are divided
between client devices (requesters) and server systems (providers), linked through a
network. Clients request services or resources, and servers fulfill these requests,
facilitating communication and data exchange.
COMPONENTS OF CLIENT SERVER ARCHITECTURE

• Client: Devices or software that initiate requests for services or resources.


• Server: Systems or software that respond to client requests by providing services or
resources.
• Communication: Explanation of how clients and servers interact via protocols (HTTP,
TCP/IP, etc.)
ADVANTAGES OF CLIENT-SERVER PARADIGM

• Scalability: Allows for easy scaling by adding more clients or servers.


• Centralization: Facilitates centralized data storage and management.
• Resource Sharing: Enables sharing of resources among multiple clients.
• Security: Easier implementation of security protocols and access controls .
TYPES OF CLIENT-SERVER MODELS

• Two-tier Architecture: Simplest model with a client communicating directly with a server.
• Three-tier Architecture: Introduces an intermediate layer (application server) between the client and
server for better scalability and flexibility.
• N-tier Architecture: Divides tasks into multiple layers or tiers, enhancing scalability, flexibility, and
security.
REAL-WORLD APPLICATIONS

• Web-based Applications: E-commerce sites, social media platforms.


• Enterprise Systems: CRM (Customer Relationship Management), ERP (Enterprise Resource Planning).
• Networking: File servers, email servers, DNS (Domain Name System).
MESSAGE PASSING :
Message passing is a mechanism used for communication between.
• Different threads within a process.
• Different processes running on the same node.
• Different processes running on different node.
• It involves sending and receiving messages to enable communication and data exchange between processes, objects,
or systems.
• A message passing facility provides two operations:
• Send(message).
• Receive(message).
There are several methods for logically implementation a link and the send()/receive() operations:
 Direct Communication:
Each process that wants to communicate must explicitly name the recipient or sender of the communication.
Example: In a peer-to-peer network, a process directly sends a message to another process using its identifier.
 Properties of Direct Communication:
A communication link in this schemes has the following properties:
• 1) The processes need to know only each other’s identity to communicate.
• 2) A link is associated with exactly two processes.
 Symmetric Communication:
• Both the sender process and receiver process must name the each other to communicate.
• Send (Q,message) -Send a message to Process Q.
• Receive (P,message) -Receive a message from Process P.
 Asymmetric Communication:
• Here,only the sender names the recipient, the recipient is not required to name the sender.
• Send (Q,message) -Send a message to Process Q.
• Receive (id,message) -Receive a message from any process.
 InDirect Communication:
• The message are sent to and received from mailbox or ports.
• A mailbox can be viewed abstractly as an object into which messages can be placed by processes and from which
message can be removed.
• Two processes can communicate only if the processes have a shared mailbox.
• Send (A,message) -Send a message to MailBox A.
• Receive (A,message) -Receive a message from Mailbox A.
PROPERTIES OF INDIRECT COMMUNICATION:

A communication link in this schemes has the following properties:


• 1) A link is established between a pair of processes only if both members of the pair have a shared mailbox.
• 2) A link may be associated with more than two processes.
• The following types of communication link are possible through mailbox.
 One-To-One Link:
Only one sender wants to communicate with one Receiver.
The single link is established.
 Many-To-One Link:
Multiple sender wants to communicate with single Receiver.
The mailbox is here known as PORT.
 One-To-Many Link:
Only one sender wants to communicate with multiple Receivers, that is to broadcast a message.

 Many-To-Many Link:
Multiple senders wants to communicate with multiple Receivers.
THE DISTRIBUTED OBJECT MODEL

• The distributed object model refers to a programming paradigm where objects, which
are instances of classes in object-oriented programming, are distributed across multiple
computers in a network. In a parallel distributed computer system, this model is
designed to handle parallel processing across multiple nodes .
OBJECT DISTRIBUTION:

• In a distributed object model, objects are not confined to a single address space or a
single machine.
• Instead, they can be located on different nodes within a network. This allows for better
utilization of resources and supports parallel processing.
COMMUNICATION MECHANISM:

• Communication between distributed objects is a crucial aspect of the model. Various


communication mechanisms, such as remote method invocation (RMI) or message
passing, are used to enable objects on one node to interact with objects on another
node. This communication is essential for coordinating parallel processing tasks.
REMOTE METHOD INVOCATION (RMI):

• The model relies on RMI to enable objects to invoke methods on remote objects as if
they were local. This facilitates the distribution of processing across multiple nodes,
allowing for parallel execution of tasks while maintaining the illusion of a cohesive,
centralized system from the perspective of the application developer.
FAULT TOLERANCE AND SCALABILITY:

• Distributed object models often incorporate features for fault tolerance and scalability.
Fault tolerance mechanisms ensure that the system can continue to function even if
some nodes fail. Scalability is achieved by adding more nodes to the network, allowing
the system to handle larger workloads .
THANK YOU

You might also like