< previous page page_590 next page >

Page 590
(fetched) could be decomposed at the intermediate node and returned to their sources, significantly reducing the overall traffic to the hot node.
Suppose two requests are combined at a node that precedes a hotspot. Suppose these requests each wish to fetch a value and increment the value by one. The original value is fetched from memory and incremented by two after the requests are combined at the intermediate node. The original value then is returned to the intermediate node where one of the requests (the original) receives the initial value, while the subsequent request receives the value plus one.
For example, suppose a synchronization cell in memory has a value = 3 and two update requests targeted for that cell are combined at a network switch. Each request expects to fetch the current cell state and update the cell by "1." The combined request will fetch the value "3" and replace it with "5" in the cell. Then one requestor will get the return value "3" and the other will get "4.''
8.18 Other Characterizations of Multiprocessors
There are a number of informal characterizations of shared-memory multiprocessor systems, which are widely used in the literature. The reader should be familiar with these terms and also the lack of precision that many of them engender.
Consider the following terms:
UMAuniform memory access.
NUMAnonuniform memory access.
UMA and NUMA are attempts to categorize networked shared-memory systems by the variance in the access time from processor to shared memory data. Usually, one would think that UMA would be preferred over NUMA, but this is not necessarily so, especially if the decrease in variance has come at the expense of latency. After all, one can take a NUMA network and pad out all of the fast paths to guarantee that the system will be UMA but all access will occur at the worst possible delay. Further, UMA and NUMA can be largely in the eye of the beholder. While a dynamic indirect network will generally provide a uniform access time to remote memory nodes, access to its local memory node may be significantly shorter. Is this NUMA, then, or UMA?
Other terms in common usage include the following:
NORMAno remote memory access, to describe message-based multiprocessors that communicate over an interconnection network.
CC-NUMAthis represents a NUMA system with cache coherence.
COMAcache-only memory architecture. Examples include DDM-1 [115] and the [59].
CC-NUMA could describe any of the networked systems that we looked at in the previous sections. In COMA, the nodal main memory is regarded as an enormous cache by adding a tag to each memory line and allowing memory lines to replicate. Notice that COMAis a natural progression in protocols that do not update the main memory. If the main memory need

 
< previous page page_590 next page >