The most popular parallel computers are those that implement programs in MIMD mode. There are two major types of parallel computers such as shared memory multiprocessor & message-passing multi computers. The main difference between multiprocessors & multicomputer lies in memory sharing and the structure used for interprocessor communication.
The processor in the multiprocessor system communicates with each other through a shared variable in common memory. Each computer node in a multicomputer system has local memory, unshared with different nodes. Inter-process communication is done through message passing among nodes.
Three shared memory multiprocessor models are as follows −
UMA stands for Uniform memory access Model. In this model, the physical memory is consistently joined by all the processors. All processors have the same access time to all memory words, that’s why it is known as uniform memory access. Each processor can use a private cache. Peripherals are also shared.
UMA model is applicable for time-sharing applications by various users. It can be used to speed up the implementation of a single high program in time-critical applications. When all processors have similar access to all peripheral devices, the system is known as a symmetric multiprocessor. In this method, all the processors are uniformly adequate for the running program, including the kernel.
NUMA stands for Non-uniform memory access model. A NUMA multiprocessor is a shared memory system in which the access time diverges with the area of the memory word. There are two NUMA machine models are shown in the figure.
The shared memory is physically shared to all processors, known as local memories. The set of all local memories forms a global address area approachable by all processors.
It is quicker to create a local memory with a local processor. The approach of remote memory connected to other processors takes higher because of the added delay through the interconnection network.
COMA stands for Cache Only Memory Architecture. This model is a unique method of a NUMA machine where shared main memories are replaced with cache memory. At the individual processor node, there is no memory chain of command (hierarchy). All cache made a global address space.
Depending on the interconnection network used, directories can be used to support in locating duplicates of cache blocks. An example of COMA includes the Swedish Institute of Computer Science‘s Data Diffusion machine (DDM).