Title: Network characterized by:
1- Network characterized by
- Topology
- Physical structure of the graph
- Routing Algorithm
- What paths through network can a message follow
- Switching Strategy
- How data in message traverses its route
- (Circuit Switched vs Packet Switched)
- Flow Control
- When does a packet (or portions of it) move along
its route
2Things you would want a routing algorithm to have
- Minimize the number of hops that are required for
the packet to reach its destination (ideally,
forces the packet to get closer to its
destination on every hop) - Deadlock and livelock prevention
- Route around network faults
- Balance the load on network resources
3Deterministic vs. Adaptive
- Deterministicfollows a pre-specified route
- K-ary n-cube dimension-order routing
- Adaptiveroute determined by dynamic conditions
of the network
4Adaptive Routing Load Balancing
adaptive
deterministic
- Routing based on current network conditions gives
- a clear advantage in terms of load balancing
5Deadlock/Livelock prevention
- Livelock Packet can't progress towards its
destination because it is forever denied of the
resources it needs to progress - Deadlock Packet is blocked by packets that are
blocked. There is a cycle of blockings.
6Deadlock prevention and Wormhole routing
- Particularly hard with wormhole routing
- A packet could be blocking several links
- Cant assemble the packet for later transmission
(buffers are too small)
7Deadlock preventive schemes
- Deterministic
- Easy Make sure algorithm is acyclic.
- Hard Detect deadlock (timer). Backpressure flow
- Adaptive
- Restrict adaptivity. Still adaptive, but in a way
that's proven to be acyclic. - Maybe add virtual channels to expand adaptivity
once all cycles have been eliminated
8Restricting Adaptivity
- Greatly reduce hardware requirement for deadlock
prevention
9The Turn Algorithm
- The Turn Model for Adaptive Routing (1992)
- Christopher J. Glass, Lionel M. Ni
- A turn is defined as a specific as a specific
pair of input output links around a node - In order to break all the cycles in a network, it
is sufficient to prohibit a subset of all
possible turns - Adaptivity is restricted, but deadlock freedom is
achieved
10The Turn Algorithm2D example (mesh)
Giving 2 possible turns
Node can route in any of 4 directions (west,
east, north, south)
11The Turn Algorithm2D example (mesh)
One possibility
Prevents all cycles, but doesnt allow any
adaptivness
12The Turn Algorithm2D example (mesh)
Another possibility
Allows adaptivness but
13The Turn Algorithm2D example (mesh)
Doesnt prevent deadlock
14The Turn Algorithm2D example (mesh)
- West-first
- Prohibit all turns to the west.
- Packet going west must do so before any turn is
made
15(No Transcript)
16The Turn Algorithm
- In the same way, can be implemented as
- North-last
17Chien and Kims algorithm
- Supports adaptivity at the 2-dimensional level
- Uses Virtual channels
- Fault tolerant
- Deadlock preventive
18Virtual Channels
- Virtual channel consists of a buffer that can
hold one or more flits of a pkt and associated
state information - Several VCs share the bw of a single physical
channel - Virtual channels decouple allocation of buffers
from allocation of channels by providing multiple
buffers for each channel in the network
19Virtual Channels
- Used to avoid blocking (and by extension
deadlocks)
20Chien and Kims algorithm
- Uses 3 virtual channels per physical channels
21Chien and Kims algorithm
- Divide k-ary n-cube into n-1 adaptive planes
- Divide each plane in 2 virtual networks
(increasing and decreasing)
22Chien and Kims algorithm
- In the Plane
- As each plane is divided in 2 virtual networks,
traffic flows in only one direction in the plane - Outside the planes
- traffic is dimension ordered
- across dimensions.
Deadlock free
Deadlock free
23Fault Tolerance