Hardware Reference
In-Depth Information
Thus multiprocessors have a single physical address space shared by all the CPUs,
whereas multicomputers have one physical address space per CPU.
Since the CPUs on a multicomputer cannot communicate by just reading and
writing the common memory, they need a different communication mechanism.
What they do is pass messages back and forth using the interconnection network.
Examples of multicomputers include the IBM BlueGene/L, Red Storm, and the
Google cluster.
M
M
M
M
Private memory
P
P
P
P
CPU
P
P
P
P
CPU
M
P
P
M
P
P
Message-
passing
interconnection
network
Message-
passing
interconnection
network
M
P
P
M
P
P
M
P
P
M
P
P
M
P
P
M
P
P
PPPP
PPPP
MMMM
(a)
(b)
Figure 8-20. (a) A multicomputer with 16 CPUs, each with its own private mem-
ory. (b) The bit-map image of Fig. 8-19 split up among the 16 memories.
The absence of hardware shared memory on a multicomputer has important
implications for the software structure. Having a single virtual address space with
all processes being able to read and write all of memory by just executing LOAD
and STORE instructions is impossible on a multicomputer. For example, if CPU 0
(the one in the upper left-hand corner) of Fig. 8-19(b) discovers that part of its ob-
ject extends into the section assigned to CPU 1, it can nevertheless just continue
reading memory to access the tail of the airplane. On the other hand, if CPU 0 in
Fig. 8-20(b) makes the same discovery, it cannot just read CPU 1's memory. It has
to do something quite different to get the data it needs.
In particular, it has to discover (somehow) which CPU has the data it needs
and send that CPU a message requesting a copy of the data. Typically it will then
block until the request is answered. When the message arrives at CPU 1, software
there has to analyze it and send back the needed data. When the reply message
gets back to CPU 0, the software is unblocked and can continue executing.
On a multicomputer, communication between processes often uses software
primitives such as send and receive . This gives the software a different, and far
more complicated, structure than on a multiprocessor. It also means that correctly
 
Search WWH ::




Custom Search