Distributed Memory Programming

5.1 Multicomputers

Multicomputers are a subclass of distributed memory systems that have basically two defining characteristics:

  1. they generally have only a single type of processor, and
  2. the interconnect is not random, and is probably optimized.
Simple, here, is more a matter of comparison than an objective claim, as some members of this class of distributed memory architectures have very sophisticated components, both processor and network. Still, compared to the "showboats", these might be considered by some to be the "tugs".

  1. Multiple disjoint address spaces

    No frills, here: each processor controls its own main memory, and there's no overlying virtual address space to make the situation any less complicated that what it is: if you want a piece of data, you'd better know which processor to ask for it.

  2. Simplified node and interconnection network design

    What's simplified here is generally that:

    1. you could pull a processor out of the network, and set it up on its own without too much trouble; i.e., there's nothing special about processors of this type that make it a part of a multicomputer except for its connection to all of the others; and
    2. the interconnect is usually straightforward, generally some form of crossbar switch without a whole lot of glitz in terms of newfangled designs: lots of connectivity, with an emphasis on low latency and high bandwidth.

  3. Examples:

    • IBM SP-2