|
|
|
|
|
|
|
Figure 8.44
Node and channels. |
|
|
|
|
|
|
|
|
update protocols, while high line utilization favors invalidate protocols. Combining is primarily applicable to update protocols and improves their efficiency. Overall, for these applications with comparable hardware, central directory update seems to be the best performing protocol. The worst performing protocol is the SCI. The SDD variation of the distributed invalidate protocol seems to perform better than either central directory invalidate or SCI. |
|
|
|
|
|
|
|
|
Connections between multiple processor clusters must be structured in some orderly way in order to provide efficient intercluster communications. Informally, we can think of efficiency in terms of the cost-performance of the communications interconnection network. The overall topology or structure of the interconnection network determines its efficiency in three ways: |
|
|
|
|
|
|
|
|
1. By determining the delay in connecting a requesting processor to its destination. |
|
|
|
|
|
|
|
|
2. By determining the bandwidth or the number of connections that can be carried on concurrently. |
|
|
|
|
|
|
|
|
3. By determining the cost of the network. |
|
|
|
|
|
|
|
|
There are many different types of topologies [312] and switches that can be implemented at a node in the network, and different types of communication channels between nodes. There is a necessarily large and sometimes confusing set of nomenclatures used in describing different interconnect networks. |
|
|
|
|
|
|
|
|
Consider a single processor or processor cluster. In a network, we refer to such a cluster or processor as a node. Nodes communicate with one another (Figure 8.44) via a channel (or in graph theoretic terminology, an edge of a graph). Channels may be either unidirectional or bidirectional. Channels are described by their capacity, or the number of bits per unit time that can be transmitted concurrently between nodes. Nodes can be characterized in two important ways: |
|
|
|
|
|