Advanced Networking Wickus Nienaber Daniel Beech Today’s Topics • Routing Algorithms (Dan) – Up/Down routing (Wickus) – L-turn routing (Wickus) – Descending layers (Dan) – Path Selection (Dan) • Autonet (both) Routing Algorithms • • • • Select a “path” between two machines Minimal Cost (least amount of hops) Balance network traffic Avoid Congestion Routing in High Performance Networks • • • • • • • Usually local area networks High bandwidth, low latency Wormhole or Virtual Cut Routing is used Deadlock free Used in high performance computing or SANs Strict/High network requirements Internet or Ethernet routing fails Regular vs. Irregular Topologies • Regular – Network has graph structure (ring, meshes, hypercube, etc) – Easier to optimize • Irregular – Abnormal shape – Discovering topology is a challenge Up/Down Routing • Prevents Deadlock • Assigns a direction to links • Use of spanning tree Up/Down Routing (cont) • Non-minimal paths • Leads to congestion L-turn Routing • Attempts to solve unbalanced traffic issue • Adaptive Routing • Used in Irregular networks Building a L-R tree • Build a BFS spanning Tree – Like up/down • Assign width to every node – Increasing number is order of visit (width) – Width is horizontal distance from root Building L-R (cont) • Assign horizontal directions to channels – Left Direction: the channel with the largest width – Right Direction to the rest • Assign vertical directions to channels – Up down direction (vertical direction). Done based on distance from root. • Channels that are not in the spanning tree are added to the L-R tree (dotted lines) L-R routing • Channel that faces left is called LEFT • Channel that faces right is called RIGHT • Don’t use the LEFT channel after using RIGHT channel – Deadlock free – Guarantees any path between any pair of nodes No Root Traversal • Node 3 – 8: – L-R (3 7 6 8) 4 hops – Up/Down (3 1 0 2 6 8) 6 hops • Node 7 – 2: – Up/Down (7 6 2) 3 hops – L-R (7 1 3 0 2) or (7 3 1 4 2) 4 hops L-turn routing • LU/LD/RU/RD – Left up/down is channels facing up/down in L-R tree – Right up/down is channels facing up/down in L-R tree – Same depth channels: the right hand side node is assumed closer to the root. Restrictions in L-turn routing • No left-up channel after using the channel except left up channel. • Cyclic dependencies not including any left-up channels, does not allow the turn from left-down channel to the right direction in the cyclic channel Cyclic Dependence detection • Algorithm: – Nodes with: • a. Two or more right-up channels • b. One or more right up channels and one or more right down channel exists – Search these nodes for cycles and mark the channels prohibited – Algorithm runs in 0(n2) Analysis • Deadlock free • Guarantees any path between any pair on nodes Descending Layer Routing • • • • For use in SANs Implements deadlock free routing Reduces non-minimal paths Reduces traffic congestion Descending Layer Routing (cont) • Divide target network in layers • Impose deadlock avoidance conditions • Select deterministic paths Descending Layer Routing (cont) • Deadlock Avoidance Methods – (UD)* Up down scheme (down to up not allowed) – (UD-DU)* if sub network is even down to up not allowed, if odd up to down not allowed – UD-(DU)* In network 0 down to up not allowed on all other networks up to down not allowed Path Selection Algorithm • Pick the paths between nodes • Choose a path among set of valid paths • Goal is to select the optimal path • Random Selection • Smaller port-UID selection (low port first) • Sancho’s traffic balancing algorithm Path Selection (cont) • Selection of deterministic path • Algorithms use Virtual Channels • • • • High virtual-channel first High physical-channel first Low virtual-channel first Low physical-channel first AutoNet • • • • • 100 Mbits LAN Packet Switched Network Cut-through forwarding 30 switches , 100 hosts Low latency, 2 microseconds per switch Autonet (cont) • • • • • Point to point links Distributed Spanning Tree UP/Down routing Flow control via “start/stop” commands “Idhy” (I don’t hear you) and “Panic”