
368 CHAPTER 7 Multiprocessors
7.3.3 Buffering and Performance
Moving data in a multiprocessor can incur significant and sometimes unpredictable
costs. When we move data in a uniprocessor, we are copying from one part of
memory to another, we are doing so within the same memory system. When we
move data in a multiprocessor,we may exercise several different parts of the system,
and we have to be careful to understand the costs of those transfers.
Consider, as an example, copying an array. If the source and destination are
in different memories, then the data transfer rate will be limited by the slowest
element along the path: the source memory, the bus, ...