• No results found

Network Performance Metrics

In order to analyze and evaluate the performance of evolved network with heteroge-neous link types (i.e., different types of links), we need to measure the performance metrics that are of interest. We considered network performance metrics such as the wiring cost, the average shortest path length, the throughput, and the en-ergy dissipation. In this section, we will provide brief definitions of these metrics, which are inspired by [127]. For our purpose, we do not consider packet lengths or flits. We simply consider a packet as an abstract unit that is communicated on the network. However, to validate our results, we also ran additional performance sim-ulations in Section 4.7 by using the GEM5 framework, which uses realistic traffic scenarios and flits.

3.2.1 Network Wiring Cost

Ogras and Marculescu [121] showed that inserting long-range links on top of stan-dard mesh network improves the performance of NoC. These long-range connec-tions can dramatically reduce the average number of hops between any two nodes.

Moreover, using high bandwidth communication links can lead to high through-put and low network latency. However, these interconnect fabrics are expensive because of the additional links. There are trade-offs between the network per-formance and network cost, therefore, total cost of the network is an important metric that needs to be considered to evaluate the network and find optimal ways to use additional long-range links.

We define the network wiring cost as the sum of the cost of all wires in the net-work between a source node i and a destination node j that are directly connected.

W iringCostnetwork = X

i,j∈G

Costwire(i,j) (3.1)

The cost of each wire is defined as a function of the pre-defined cost of a link type multiplied by the actual length plus a constant c,

Costwire = (a × W ireLengthb) + c, (3.2)

where a, b, and c are user-defined parameters. For example, the network wiring cost for the 4 × 4-node network shown in Figure 3.1(b) is 15, where the pre-defined cost of link type is 1 (a = 1) and the technology cost is 0 (c = 0). Increasing the network size or adding additional links will increase the total number of links in

the network, and hence the wiring cost. Note that we have only used an additional fixed cost factor in Section 4.6.3.

3.2.2 Network Average Shortest Path

As the number of cores increases, the number of hops of a packet traveling from a source to a destination in the network also increases. Finding the shortest path between source and destination node is an important metric to measure to improve the network performance. This eventually reduces the maximum number of hops that a packet needs to travel on the network and increases the network throughput and reduces the network energy.

The Average Shortest Path (ASP) [116] is defined as the average number of hops in the shortest path for all possible i, j pairs of the network nodes with i 6= j.

ASPnetwork = X

i,j∈G

distance(i, j)

N (N − 1) , (3.3)

where N is the number of nodes. The distance between every pair of nodes in the network is calculated by using Dijkstra’s algorithm [53]. The ASP measures how efficiently packets can be transported on the network. In an uncongested network with shortest path routing, the ASP is proportional to the packet latency. The ASP for the 4 × 4-node network shown in Figure 3.1(b) is 3.87. When we add additional long-range links on the mesh network, the ASP will drop quickly while the clustering coefficient (i.e., how well a node is connected with its neighbor nodes) stays high. This is commonly called the small-world property of a network [159].

We will measure this property in Section 5.3.

3.2.3 Network Throughput

Throughput is one of the most important performance metrics to evaluate the performance of the network. This metric measures the total amount of data that can be sent across an interconnect fabric within a given time. When simulating traffic on the networks, packets will be injected into specific nodes with a given injection rate. The injection rate iR is defined as the average number of packets injected into a node per clock cycle [127].

The network throughput is defined as the total number of packets arrived at their destination per node per cycle T [127]:

T Pnetwork = T otal packets arrived

(N × T otal time) (3.4)

N is the number of nodes, and T otal time is the time (in clock cycles) that elapses between the occurrence of the first message generation and the last message recep-tion.

3.2.4 Network Energy Dissipation

Energy is also an important metric that needs to be measured to evaluate the overall performance of the network. When a data packet travels on the network, the energy is consumed by the routers and interconnect fabrics [1]. As the number of cores increases, the total number of hops needed for a packet to travel to its destination increases. As a result, it will increase the total energy dissipation in the network. Therefore, minimizing the energy consumption in the network is one of the NoC design goals, especially for embedded architectures.

The network energy is defined as the sum of the energy required to move pack-ets on the network across links divided by the number of cycles a simulation is run. On each link from source i to destination j, the number of packets sent will require an energy of Epacket(i, j) [127]. We use the realistic energy estimates per packet as shown in Table 4.1.

In a network, data (information) moves around from one node to another node until it reaches its destination. This data is split and formed into packets and the packets are then further split into flits (flow control digits). In our framework, packet traffic is simulated in a cycle-accurate manner. We consider a packet as an abstract unit that is communicated on the network. We do not simulate flits and do not use sophisticated flow control because they are not essential to obtain our results. However, we validate our results in Section 4.7 by using the GEM5 framework, which uses flits. As a matter of fact, our findings are independent of these details.

When a network is generated, we first check for network connectivity to see whether the links and nodes in a network correspond to a connected graph. If a network is not connected, there is no way packets can be routed well, on some parts of the network. Therefore, a network must be connected to run a traffic simulation.

In this dissertation, traffic is routed by means of a shortest path algorithm.

Related documents