The dichotomy of parallel computing platforms can be summarized as follows:
- Shared-memory systems:
- Also known as symmetric multiprocessing (SMP) systems.
- All processors have access to a shared memory pool.
- Processors communicate through shared memory.
- Advantages include low latency communication, ease of programming, and shared memory for data exchange.
- Disadvantages include scalability limitations, contention for shared resources, and the need for memory coherence protocols.
- Distributed-memory systems:
- Also known as message-passing systems.
- Each processor has its own local memory.
- Processors communicate through message-passing.
- Advantages include scalability, fault tolerance, and the ability to handle large-scale problems.
- Disadvantages include high latency communication, complex programming models, and the need for explicit communication management.
Overall, the choice between shared-memory and distributed-memory systems depends on the specific requirements of the application, the size of the problem, the number of processors involved, and other factors. Both types of systems have their own advantages and disadvantages, and the choice between them is often a trade-off between performance, ease of programming, and scalability.