The Turn Model For Adaptive Routing


Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • The Turn Model for Adaptive Routing Christopher J. Glass and Lionel M. Ni
  • The Turn Model For Adaptive Routing

    1. 1. The Turn Model for Adaptive Routing Christopher J. Glass Lionel M. Ni
    2. 2. Summary <ul><li>Introduction to Direct Networks. </li></ul><ul><li>Deadlocks in Wormhole Routing. </li></ul><ul><li>System Model. </li></ul><ul><li>Partially Adaptive Routing Algorithms in </li></ul><ul><li>2D Meshes. </li></ul><ul><li>p-cube routing in Hypercube </li></ul><ul><li>Analysis. </li></ul><ul><li>Conclusion and Future Work. </li></ul>
    3. 3. What is Direct Network? <ul><li>Each node has a point-to-point, or direct, connection to some number of other nodes. </li></ul><ul><li>Offers massive parallelism and scalability. </li></ul><ul><li>Popular architecture for constructing massively parallel computers. </li></ul><ul><li>Communicates by passing messages </li></ul>
    4. 4. Generic Architecture
    5. 5. Evaluation of Direct Network <ul><li>Communication latency: </li></ul><ul><ul><li>Start-up latency + Network latency + Blocking time </li></ul></ul><ul><ul><li>Start-up latency: </li></ul></ul><ul><ul><ul><li>It is the time to handle the packet at source & destination nodes. </li></ul></ul></ul><ul><ul><li>Network latency: </li></ul></ul><ul><ul><ul><li>It is the time between a packet leaving the source and arriving at </li></ul></ul></ul><ul><ul><ul><li>the destination. </li></ul></ul></ul><ul><ul><li>Blocking time </li></ul></ul><ul><ul><ul><li>All possible delays encountered during the life-time of packet. </li></ul></ul></ul><ul><li>Communication latency depends on the type of switching technique -> Wormhole routing </li></ul>
    6. 6. Switching Technique Switching Technique Circuit Switching Virtual Cut Through Packet Switching Wormhole Switching Switching Technique Virtual Cut Through
    7. 7. Packet Routing <ul><li>There are two basic approaches to routing packets, based on what a switch does with a packet as its flits begin to arrive. </li></ul><ul><li>Store-and-forward </li></ul><ul><li>Cut-through </li></ul><ul><ul><li>Virtual cut-through </li></ul></ul><ul><ul><li>Wormhole </li></ul></ul>
    8. 8. Wormhole Switching <ul><li>A packet is divided into a number of flits </li></ul><ul><li>The header flit of a packet governs the route </li></ul><ul><li>The remaining flits following in a pipeline </li></ul><ul><li>fashion </li></ul><ul><li>Thus a message resembles worm borrowing </li></ul><ul><li>through the network </li></ul>
    9. 9. Transmission <ul><li>Packet is transmitted from a node as flit( smallest unit on which flow control can be performed). </li></ul><ul><li>Two kinds of Flits Header flit and Data flit. </li></ul><ul><li>Header Flit tries to get the another channel while the data flits are transmitted through the already obtained channels. </li></ul><ul><li>A channel is released only when the last flit of the message is passed though it. </li></ul><ul><li>Flits of two messages cannot be interleaved. </li></ul>
    10. 10. Wormhole Routing <ul><li>Based on cut-through concept </li></ul><ul><ul><li>Relatively independent of path length </li></ul></ul><ul><li>Overcome: </li></ul><ul><ul><li>Store-and-forward and Virtual cut-through ’s buffer size problem </li></ul></ul><ul><ul><li>Circuit switching ’s channel reservation and release problem </li></ul></ul><ul><li>Two positive effect: </li></ul><ul><ul><li>The absence of network contention makes the network latency relatively insensitive to path length </li></ul></ul><ul><ul><li>Large packet buffers at each intermediate node are obviated </li></ul></ul>
    11. 11. Wormhole Routing <ul><li>Advantages: </li></ul><ul><li>reduced buffering </li></ul><ul><li>Low latency </li></ul>Wormhole Packet: Flit Flit Flit Flit (routing info) Flit Flit
    12. 12. Characteristics of Routing Algorithms <ul><li>A good routing algorithm: </li></ul><ul><ul><li>Reduce the network latency </li></ul></ul><ul><ul><li>Easily implemented in hardware </li></ul></ul><ul><ul><li>High network throughput </li></ul></ul>
    13. 13. Deadlock <ul><li>Packets are allowed to hold a resource (channel) while waiting for another resource </li></ul><ul><li>Deadlock free routing algorithm </li></ul>
    14. 14. Deadlocks in Wormhole Switching <ul><li>Header Flit contains all the routing information that is required to move data flits across the network. If the header flit cannot move any further then there will a congestion which causes a chained block in the network which leads to Deadlocks. </li></ul>
    15. 15. The Turn Model <ul><li>Basis: </li></ul><ul><ul><li>Analyze directions in which packets can turn in the network </li></ul></ul><ul><ul><li>Determine the cycles that such turns can form </li></ul></ul><ul><ul><li>Prohibit just enough turns to break all cycle </li></ul></ul><ul><li>Resulting routing algorithms are: </li></ul><ul><ul><li>Deadlock and livelock free </li></ul></ul><ul><ul><li>Minimal/Non-minimal </li></ul></ul><ul><ul><li>Highly Adaptive. </li></ul></ul>
    16. 16. The Turn model (contd..) <ul><li>Deadlock free </li></ul><ul><li>Livelock free </li></ul><ul><li>livelock occurs when the routing of a packet never lead </li></ul><ul><li>it to its destination. </li></ul><ul><li>Adaptive </li></ul><ul><li>from A to B determines the path based on the Network load. </li></ul><ul><li>Minimal </li></ul><ul><li>restricts packets to shortest paths. </li></ul><ul><li>Non-minimal </li></ul><ul><li>Although minimal routing may initially sound more promising, non-minimal routing provides more choices. </li></ul>
    17. 17. The Turn Model (contd…) <ul><li>Classify channels according to the direction in which they route packets. </li></ul><ul><li>Identify the turns that occur between one direction and another, omitting 0-degree and 180-degree turns. </li></ul><ul><li>Identify the simple cycles these turns can form. </li></ul><ul><li>Prohibit one turn in each cycle. </li></ul><ul><li>In the case of k -ary n -cubes, incorporate as many turns as possible that involve wraparound channels. </li></ul><ul><li>Add 180-degree and 0-degree turns if there are multiple channels in the same direction. </li></ul>
    18. 18. The Turn Model (contd.) <ul><li>Simple Illustration: </li></ul><ul><li>- The possible turns and simple cycles in a two-dimensional mesh. </li></ul><ul><li>-The four turns allowed by the xy routing algorithm. </li></ul><ul><li>-Six turns that complete the cycles and allows deadlock. </li></ul>
    19. 19. Turn Model (contd.) <ul><li>West-First Routing Algorithm </li></ul><ul><li>Prohibited turns are the </li></ul><ul><li>two to the west. </li></ul><ul><li>Route a packet first west if necessary, and then adaptively south , east, and north. </li></ul><ul><li>Both minimal and non-minimal paths are shown. </li></ul><ul><li>[Dally and Seitz] proof show that a routing algorithm is deadlock free if the channels in the interconnection network can be numbered so that the algorithm routes every packet along channels with strictly decreasing numbers. </li></ul>
    20. 20. S D Deadlock Free Routing West First Algorithm
    21. 21. S D Deadlock Free Routing West First Algorithm
    22. 22. D S Deadlock Free Routing West First Algorithm
    23. 23. Turn Model (contd.) <ul><li>North-Last Routing Algorithm </li></ul>
    24. 24. D S Deadlock Free Routing North Last Algorithm
    25. 25. Turn Model (contd.) <ul><li>Negative-First Routing Algorithm </li></ul><ul><li>If the packet in +ve direction </li></ul><ul><li>it will never turn –ve. </li></ul>+y -x -y +x
    26. 26. Turn Model (contd.) <ul><li>n – Dimensional meshes </li></ul><ul><ul><li>Prohibit n(n-1) 90 degree turns to prevent deadlock. </li></ul></ul><ul><ul><li>One half of all possible 180 degree turns must be prohibited </li></ul></ul><ul><ul><li>Resulting algorithms: </li></ul></ul><ul><ul><ul><li>All-but-one-negative-first </li></ul></ul></ul><ul><ul><ul><li>All-but-one-positive-last </li></ul></ul></ul><ul><ul><ul><li>Negative-first </li></ul></ul></ul><ul><li>k-ary n-cubes </li></ul><ul><ul><ul><li>Allows to use the wraparound channels </li></ul></ul></ul><ul><ul><ul><li>Assigns the wraparound channels a number. </li></ul></ul></ul><ul><li>Negative first algorithm </li></ul><ul><ul><ul><li>Classify wraparound channel according to the direction in which it routes packets </li></ul></ul></ul><ul><ul><ul><li>Apply the algorithm </li></ul></ul></ul>
    27. 27. p-cube Routing in Hypercubes <ul><li>Hypercubea are special case of both n-dimensional meshes and k-ary n-cube. </li></ul><ul><li>S =the binary address of the source node for a packet </li></ul><ul><li>C=binary address of the node the header flits currently occupy </li></ul><ul><li>D=binary address of the destination node. </li></ul><ul><li>Two Phase: </li></ul><ul><li>Phase 1: route packets along a dimension i for which ci=1 and di=0 in minimal </li></ul><ul><li>Phase 2:when no such dimension then , route packet along i such that ci=0 and di=1 in minimal. </li></ul>
    28. 28. The minimal p -cube …. Example : 10-cube S=1011010100 D=0010111001 h0=3 and h1=3 so h=6 36 possible shortest paths. Phase 1: C=1011010100 = C9 C8 C7 C6 C5 C4 C3 C2 C1 C0 C=1011010100 ;( ci=1 and di=0) ‘ D=1101000110 ^ ------------------------------ R = 1001000100 ( 3 choices) dimension taken d2 C= 1011010000 ‘ D= 1101000110 ------------------------------ R= 1001000000 (2 Choices) dim. taken d9 C= 0011010000 ‘ D=1101000110 ------------------------------ R= 0001000000 (1 choice) dim d6 C= 0010010000 ‘ D=1101000110 ----------------------- R= 000000000
    29. 29. The minimal p -cube …. Example : 10-cube S=1011010100 D=0010111001 h0=3 and h1=3 so h=6 36 possible shortest paths. Phase 2: C= 0010010000 D=0010111001 ‘ C=1101101111 D=0010111001 ------------------------ R=0000101001 Choices = 3 Dim=d5 C=0010110000 ( 0 to 1) ‘ C=1101001111 D=0010111001 ------------------------ R= 0000001001 choices= 2 Dim=d0 C= 0010110001 ‘ C= 1101001110 D= 0010111001 --------------------------- R= 0000001000 Choice=1 Dim =d3 C=0010111001 = D
    30. 30. The nonminimal p- cube algo. <ul><li>It is desired , because of its increased adaptive ness </li></ul><ul><li>The first phase can route the packet along any dimension i for which ci=1 and di=1. </li></ul><ul><li>p : last hop was in the </li></ul><ul><li>+ve direction. </li></ul><ul><li>Expect more choices </li></ul>
    31. 31. The nonminimal p- cube algo <ul><li>(0,0,0) (1,0,0) </li></ul>(0,0,1) (0,1,1) ( 1,1,1) (1,0,1) (1,1,0) The meaning of the algorithm's steps are with Dr. Pfeiffer’s help (example): 2- if last hop from +ve . Take the +ve only. If S=011 , D=111 One choice 011 -> 111 3- else if last hop was –ve and if destination not any more –ve go –ve or +ve. S=011 , D=111 Choice 1 : 011-> 111 Choice 2: 011 -> 001 Choice 3: 011 -> 010 4- else going -ve (0,1,0)
    32. 32. Simulation Experiments <ul><li>Comparison of the partially adaptive with a non adaptive routing algorithms </li></ul><ul><li>Simulation of a 16x16 mesh and a binary 8-cube for three different traffic patterns </li></ul><ul><li>Each of these contains 256 nodes </li></ul><ul><li>Bandwidth is equal to 20 flits/microsec </li></ul><ul><li>For uniform traffic in the mesh and the hypercube the nonadaptive routing algorithms have lower latencies at high throughputs than the partially adaptive algorithms </li></ul>
    33. 33. Simulation experiments (contd.) <ul><li>At low throughputs ,the algorithms performs about the same. </li></ul><ul><li>For the non-uniform traffic patterns the partially adaptive routing algorithms have lower latencies at high throughputs </li></ul><ul><li>For the negative-first algo. </li></ul><ul><li>The degree of adaptive ness higher than the other . According to the hamming distance or if we measure S( algo.)/S( fully adaptive). </li></ul>
    34. 34. Conclusion <ul><li>The turn model produces deadlock free, livelock free, minimal or non-minimal and maximally adaptive algorithms. </li></ul><ul><li>These algorithms perform better than nonadaptive algorithms for nonuniform patterns of message traffic. </li></ul>
    35. 35. A Peek into the Future <ul><li>To investigate the effects of different input and output selection policies on network performance. </li></ul><ul><li>To illustrate the application of the turn model to networks that include extra physical or virtual channel. </li></ul><ul><li>To apply the turn model to other topologies, such as, hexagonal, octagonal and cube connected cycle networks. </li></ul><ul><li>Identification of realistic workload distributions. </li></ul>
    36. 36. References <ul><li>The Turn Model for adaptive routing </li></ul><ul><li>Wormhole Routing in Parallel Computers </li></ul><ul><li>A processor architecture for multiprocessing multiprocessor </li></ul>