Multiprocessor models to model Parallel Computation

Modeling a parallel Computation is more difficult because the parallel computers' organization have too much variations than sequential, and there is no consensus on a right model, neither there is sufficient understanding about the relationship between these models. The parallel models are broken into 1) multiprocessor models and 2) work-depth models.

A multiprocessor model is a generalization of RAM model, and has more than one processor. These models are classified into three basic types: 1) local memory machines, 2) modular memory machines, 3) parallel random access machines (PRAM) (see fig. [*]).

Figure: Multiprocessor machine models: a) Local memory, b) Modular memory, c) PRAM.
\includegraphics[scale=0.8]{mul-pp}

In local memory system, each processor accesses its own memory, but can access others memory by sending requests through network. Like in RAM, local operations, including memory access can unit time. But, for others memory access depends on the capability of the network, and pattern of the memory access by other processors.

In modular machine, any processor can access any memory, by sending request through the network. However, the arrangement is such that time of memory access is uniform for all the memory modules. As in PRAM single step can access number of memory locations, simultaneously.

The purpose of (b) model is that an algorithm designed for this can be modified to be run on any other model.