- It is natural: the number of operations executed per one cycle on p processors is at most p.
- It is strong: any processor can read or write any shared memory cell in unit time.
- It is simple: it abstracts from any communication or synchronization overhead, which makes the complexity and correctness analysis of PRAM algorithms easier. Therefore,
- It can be used as a benchmark: If a problem has no feasible/efficient solution on PRAM, it has no feasible/efficient solution on any parallel machine.
- It is useful: it is an idealization of existing (and nowaday more and more abundant) shared memory parallel machines.
| The PRAM corresponds intuitively to the programmers' view of a parallel computer: it ignores lower level architectural constraints, and details, such as memory access contention and overhead, synchronization overhead, interconnection network throughput, connectivity, speed limits and link bandwidths, etc. |
Constrained PRAM models
- Bounded number of shared memory cells. This may be called a small memory PRAM. If the input data set exceeds the capacity of the shared memory, the input and/or output values can be distributed evenly among the processors.
- Bounded size of a machine word and/or memory cell. This parameter is usually called word size of PRAM.
- Bounded number of processors. This may be called a small PRAM. If the number of threads of execution is higher, processors may interleave several threads.
- Constraints on simultaneous access to shared memory cells: handling access conflicts.
Limiting the amount of PRAM shared memory corresponds to restricting the amount of information that can be communicated between processors in one step. For example, a distributed memory machine with processors interconnected by a shared bus can be modeled as a PRAM with one shared memory cell.
Comments
Post a Comment