By Mary Jane Irwin, Luca Benini, N. Vijaykrishnan, and Mahmut Kandemir
Network 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. [65] 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. [65] 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.