Evolution and Convergence
Key characteristics
- Ability to name operations, synchronization, dynamic scheduling
Problems
- Operations have locality across them, useful to group together
- Handling complex data structures like arrays
- Complexity of matching store and memory units
- Expose too much parallelism (?)
Converged to use conventional processors and memory
- Support for large, dynamic set of threads to map to processors
- Typically shared address space as well
- But separation of progr. model from hardware (like data-parallel)
Lasting contributions:
- Integration of communication with thread (handler) generation
- Tightly integrated communication and fine-grained synchronization
- Remained useful concept for software (compilers etc.)