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(n 2 )
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”