Data Parallel Systems
Programming model
- Operations performed in parallel on each element of data structure
- Logically single thread of control, performs sequential or parallel steps
- Conceptually, a processor associated with each data element
Architectural model
- Array of many simple, cheap processors with little memory each
- Processors don’t sequence through instructions
- Attached to a control processor that issues instructions
- Specialized and general communication, cheap global synchronization
Original motivations
- Matches simple differential equation solvers
- Centralize high cost of instruction fetch/sequencing