5 Software - Architectures - Detailed - PPT
5 Software - Architectures - Detailed - PPT
• ✖ 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.