Techniques for Designing Energy-Aware MPSoCs: Part 4Network architecture heavily influences communication energy. As hinted in the previous section, shared-medium networks (busses) are currently the most common choice, but it is intuitively clear that busses are not energy-efficient as network size scales up, as it must for MPSoCs.
In bus-based communication, data are always broadcast from one transmitter to all possible receivers, whereas in most cases messages are destined to reach only one receiver, or a small group. Bus contention, with the related arbitration overhead, further contributes to the energy overhead.
Studies on energy-efficient on-chip communication indicate that hierarchical and heterogeneous architectures are much more energy-efficient than busses. Zhang et al.  developed a hierarchical generalized mesh whereby network nodes with a high communication bandwidth requirement are clustered and connected through a programmable generalized mesh consisting of several short communication channels joined by programmable switches.
Clusters are then connected through a generalized mesh of global long communication channels. Clearly such architecture is heterogeneous because the energy cost of intra-cluster communication is much smaller than that of inter-cluster communication.
Although the work of Zhang et al.  demonstrates that power can be saved by optimizing network architecture, many network design issues are still open, and we need tools and algorithms to explore the design space and to tailor network architecture to specific applications or classes of applications.
Network architecture is only one facet of network layer design, the other major facet being network control. A critical issue in this area is the choice of a switching scheme for indirect network architectures.
From the energy viewpoint, the tradeoff is between the cost of setting up a circuit-switched connection once and for all, and the overhead of switching packets throughout the entire communication time on a packet-based connection. In the former case the network control overhead is "lumped'' and incurred once, whereas in the latter case, it is distributed over many small contributions, one for each packet.
When communication flow between network nodes is extremely persistent and stationary, circuit-switched schemes are likely to be preferable, whereas packet switched schemes should be more energy-efficient for irregular and non-stationary communication patterns. Needless to say, circuit switching and packet switching are just two extremes of a spectrum, with many hybrid solutions in between.