0% found this document useful (0 votes)
40 views12 pages

5 Software - Architectures - Detailed - PPT

The document provides an overview of four major software architectures in parallel and distributed computing: Threads & Shared Memory, Processes & Message Passing, Distributed Shared Memory (DSM), and Distributed Shared Data (DSD). Each architecture is discussed in terms of its advantages and disadvantages, highlighting aspects such as communication speed, memory management, and synchronization requirements. The conclusion emphasizes that while each architecture has unique benefits, they also come with specific challenges.

Uploaded by

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

5 Software - Architectures - Detailed - PPT

The document provides an overview of four major software architectures in parallel and distributed computing: Threads & Shared Memory, Processes & Message Passing, Distributed Shared Memory (DSM), and Distributed Shared Data (DSD). Each architecture is discussed in terms of its advantages and disadvantages, highlighting aspects such as communication speed, memory management, and synchronization requirements. The conclusion emphasizes that while each architecture has unique benefits, they also come with specific challenges.

Uploaded by

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

Software Architectures in Parallel

and Distributed Computing


Threads & Shared Memory, Processes
& Message Passing, DSM, DSD
A Detailed Overview
Introduction
• Parallel and Distributed Computing
architectures use different methods to
manage tasks and memory.
• This presentation covers four major software
architectures:
• 1. Threads & Shared Memory
• 2. Processes & Message Passing
• 3. Distributed Shared Memory (DSM)
• 4. Distributed Shared Data (DSD)
Threads & Shared Memory:
Overview
• - A thread is a lightweight process that runs
within a parent process.
• - Threads share memory space, enabling fast
communication but requiring synchronization.
• - Used in applications like web servers, AI,
gaming, and real-time processing.
Threads & Shared Memory: Pros &
Cons
• ✔ Advantages:
• - Fast communication between threads
• - Efficient memory usage
• - Good for multi-core processing

• ✖ Disadvantages:
• - Requires synchronization (mutex,
semaphores)
• - Risk of race conditions and deadlocks
Processes & Message Passing:
Overview
• - Processes are independent execution units
with separate memory.
• - Communication occurs via message passing
(e.g., MPI, sockets).
• - Used in cloud computing, microservices, and
distributed applications.
Processes & Message Passing: Pros
& Cons
• ✔ Advantages:
• - Data isolation prevents interference
• - Scales well across multiple machines
• - No need for synchronization (unlike
threads)

• ✖ Disadvantages:
• - Higher communication overhead
• - Slower than shared memory
Distributed Shared Memory (DSM):
Overview
• - DSM provides a shared memory abstraction
over distributed systems.
• - Allows processes on different machines to
share memory as if it were local.
• - Used in large-scale computing and parallel
processing clusters.
Distributed Shared Memory (DSM):
Pros & Cons
• ✔ Advantages:
• - Simplifies programming model
• - Reduces explicit message passing
complexity
• - Allows efficient parallel computing

• ✖ Disadvantages:
• - High synchronization overhead
• - Network latency may slow down
Distributed Shared Data (DSD):
Overview
• - DSD distributes data across multiple nodes
but presents it as a unified dataset.
• - Used in distributed databases, cloud storage,
and big data frameworks like Hadoop and
Cassandra.
Distributed Shared Data (DSD):
Pros & Cons
• ✔ Advantages:
• - Efficient for large-scale data storage
• - Supports fault tolerance and redundancy
• - Scales well across distributed systems

• ✖ Disadvantages:
• - Requires complex data management
• - Consistency issues may arise in real-time
applications
Comparison of Software
Architectures
• | Feature | Threads & Shared Memory |
Processes & Message Passing | DSM | DSD |
• |---------------|----------------------|--------------------
--|----|----|
• | Memory Model | Shared | Separate
| Shared (Distributed) | Shared
(Distributed) |
• | Communication | Fast, needs sync |
Slower, message-based | Implicit |
Implicit |
Conclusion
• - **Threads & Shared Memory**: Fast but
requires careful synchronization.
• - **Processes & Message Passing**: Secure
but slower due to communication overhead.
• - **Distributed Shared Memory (DSM)**:
Simplifies programming but has latency issues.
• - **Distributed Shared Data (DSD)**: Great for
big data but requires complex management.

• Each architecture has unique advantages, and

You might also like