About The Book
Digital electronic systems of all types are rapidly becoming
commmunication limited. Movement of data, not arithmetic or control
logic, is the factor limiting cost, performance, size, and power in
these systems. At the same time, buses, long the mainstay of system
interconnect, are unable to keep up with increasing performance
requirements.
Interconnection networks offer an attractive solution to this
communication crisis and are becoming pervasive in digital systems. A
well-designed interconnection network makes efficient use of scarce
communication resources — providing highbandwidth, low-latency
communication between clients with a minimum of cost and energy.
Historically used only in high-end supercomputers and telecom
switches, interconnection networks are now found in digital systems of
all sizes and all types. They are used in systems ranging from large
supercomputers to small embedded systems-on-a-chip (SoC) and in
applications including inter-processor communication, processor-memory
interconnect, input/output and storage switches, router fabrics, and
to replace dedicated wiring.
Indeed, as system complexity and integration continues to
increase,many designers are finding it more efficient to route
packets, not wires. Using an interconnection network rather than
dedicated wiring allows scarce bandwidth to be shared so it can be
used ef.ciently with a high duty factor. In contrast, dedicated wiring
is idle much of the time. Using a network also enforces regular,
structured use of communication resources, making systems easier to
design, debug, and optimize.
The basic principles of interconnection networks are relatively simple
and it is easy to design an interconnection network that efficiently
meets all of the requirements of a given application. Unfortunately,
if the basic principles are not understood it is also easy to design
an interconnection network that works poorly if at all. Experienced
engineers have designed networks that have deadlocked, that have
performance bottlenecks due to a poor topology choice or routing
algorithm, and that realize only a tiny fraction of their peak
performance because of poor flow control. These mistakes would have
been easy to avoid if the designers had understood a few simple
principles.
This book draws on the experience of the authors in designing
interconnection networks over a period of more than twenty years.We
have designed tens of networks that today form the backbone of
high-performance computers (both message-passing and shared-memory),
Internet routers, telecom circuit switches, and I/O interconnect.
These systems have been designed around a variety of topologies
including crossbars, tori, Clos networks, and butterflies. We
developed wormhole routing and virtual-channel flow control. In
designing these systems and developing these methods we learned many
lessons about what works and what doesn't. In this book, we share with
you, the reader, the bene.t of this experience in the form of a set of
simple principles for interconnection network design based on
topology, routing, flow control, and router architecture.
Simulator
The original version of the simulator used in the book along with
documentation are available here. An updated and
improved version is maintained here.
|