Network characterized by Topology Physical structure of the
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
Things you would want a routing algorithm to have: A 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) A Deadlock and livelock prevention A Route around network faults A Balance the load on network resources
Deterministic vs. Adaptive • Deterministic—follows a pre-specified route – K-ary n-cube: dimension-order routing 110 010 • Adaptive—route determined by dynamic conditions of the network 111 011 100 001 101
Adaptive Routing Load Balancing deterministic adaptive Routing based on current network conditions gives a clear advantage in terms of load balancing
Deadlock/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.
Deadlock prevention and Wormhole routing Particularly hard with wormhole routing: – A packet could be blocking several links – Can’t assemble the packet for later transmission (buffers are too small)
Deadlock 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
Restricting Adaptivity • Greatly reduce hardware requirement for deadlock prevention
The Turn Algorithm • The Turn Model for Adaptive Routing (1992) Christopher J. Glass, Lionel M. Ni • A turn is defined 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
The Turn Algorithm 2 D example (mesh) Giving 2 possible turns Node can route in any of 4 directions (west, east, north, south)
The Turn Algorithm 2 D example (mesh) One possibility: Prevents all cycles, but doesn’t allow any adaptivness
The Turn Algorithm 2 D example (mesh) Another possibility: Allows adaptivness but:
The Turn Algorithm 2 D example (mesh) Doesn’t prevent deadlock
The Turn Algorithm 2 D example (mesh) West-first: • Prohibit all turns to the west. • Packet going west must do so before any turn is made
The Turn Algorithm In the same way, can be implemented as: - North-last - Negative-first
Chien and Kim’s algorithm • Supports adaptivity at the 2 -dimensional level • Uses Virtual channels • Fault tolerant • Deadlock preventive
Virtual 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
Virtual Channels • Used to avoid blocking (and by extension deadlocks)
Chien and Kim’s algorithm • Uses 3 virtual channels per physical channels
Chien and Kim’s algorithm • Divide k-ary n-cube into n-1 adaptive planes • Divide each plane in 2 virtual networks (increasing and decreasing)
Chien and Kim’s algorithm • In the Plane: As each plane is divided in 2 virtual networks, traffic flows in only one direction in the plane Deadlock free • Outside the planes: traffic is dimension ordered across dimensions. Deadlock free
Fault Tolerance
- Slides: 23