|
|
|
|
|
|
|
choices, even the less expensive choices involve significant complexity in the memory management area. More elaborate design choices, while providing additional bandwidth and ease of access to more remote portions of memory, also involve significant increases in hardware cost. |
|
|
|
|
|
|
|
|
Multiprocessors may share memory by either: |
|
|
|
|
|
|
|
|
1. Sharing a common data cache. |
|
|
|
|
|
|
|
|
2. Sharing a common bus to memory. |
|
|
|
|
|
|
|
|
3. Sharing a network which interconnects the processors to all of memory. |
|
|
|
|
|
|
|
|
Clearly, shared data cache is the simplest type of multiprocessing. There are no consistency issues because data is stored in this single entity. It is also the most limiting form of multiprocessing, as rapidly the processors have to contend for a limited resource, the data cache bandwidth. A shared bus provides a small amount of additional relief; the bus bandwidth rapidly becomes a limiting resource for multiprocessor configuration. Beyond that, one can take clusters of multiprocessors which share a common bus and use these clusters as nodes in an interconnected network. While many types of networks are conceivable, and each has varying advantages in cost and performance, two issues seem to dominate determination of the most efficient network configuration. These issues are: |
|
|
|
|
|
|
|
|
2. The ratio of node size to link size. |
|
|
|
|
|
|
|
|
If applications can be arranged to have good localitya typical node communicates with a relatively small and known a priori subset of nodesthis can be used to great advantage. The use of locality favors those network arrangements where the processor is sited with a fraction of global memory and a switch at the same node. Networks whose nodes contain processing elements, memory, and switching are called direct networks. Indirect networks, where the switches are separate from the processing elements, clearly can take less advantage of locality than the direct networks. Since static direct networks tend to be one of the simpler forms of network, the potential use of locality would seem to favor this as the preferred mode of interconnection. |
|
|
|
|
|
|
|
|
As processing elements become smaller, the wire to interconnect the processors becomes a dominant feature of the multiprocessor configuration. As wire dominates the size and performance of the network, simpler lowerdimensional network arrangements are preferred over more complex, highdimensional arrangements, since they are easier to map onto the physical reality of a two-dimensional packaging service. |
|
|
|
|
|
|
|
|
Multiprocessing is an important frontier in computer architecture. The jury is still out as to the number of processing nodes that are applicable and the overall effectiveness of large arrays of multiprocessors. |
|
|
|
|
|