Distributed memory

[1] Computational tasks can only operate on local data, and if remote data are required, the computational task must communicate with one or more remote processors.

Processors do not have to be aware where data resides, except that there may be performance penalties, and that race conditions are to be avoided.

The network topology is a key factor in determining how the multiprocessor machine scales.

Depending on the problem solved, the data can be distributed statically, or it can be moved through the nodes.

As an example, if a problem can be described as a pipeline where data x is processed subsequently through functions f, g, h, etc.

An illustration of a distributed memory system of three computers.