Features
- Threads or forked processes
- Locks, semaphores
- Shared data
Advantages
- Familiar, lots of literature
- Data transfer is often very fast
- New threads or processes can be created during runtime
Disadvantages
- Poor scalability
- Data corruption is easy
- Many different implementations (and even styles) with different features and interfaces
|
Features
- Several independent processes
- No shared data
- Messages used for communication
Advantages
- Highly scalable
- Widely used
- Standardized interface (MPI)
- Distributed memory provides some protection against corruption
Disadvantages
- Data transfer can be slow
- In MPI-1, no new processes can be spawned during runtime
- Not yet well-addressed formally in schools
|