110 likes | 126 Views
This lecture notes discusses packet routing in multi-casting networks, including spreading, distributing data, one-to-one routing, and packet routing algorithms. Examples and models are also provided.
E N D
Packet Routing Moon Jung Chung CSE838 Lecture notes copy right: Moon Jung Chung
One to many (multi-casting) (i) Spread (ii) Distribute data (iii) One-to-one route Example: A -> {2,3,4}, B={6}, C -> {7}, D -> {0,5} Spread: A B C D distribute: A A A B C D D Route CSE838 Lecture notes copy right: Moon Jung Chung
Packet Routing Packets (si,di) M: number of packets N: number of nodes One to one: each destination different spreading (unpacking): s1 =1, s2 = 2, ..., sk =k and d1 d2 ... dk One-to-many (multi-casting: each node receive at most one message) Model: Store and Forward each packet unit time to travel for each hop a special case of wormhole routing. each packet : each flit Wormhole routing: each packet is divided into flits each flit advances across the wire at most one flit at a time all the flits in the same packet uses the same routing CSE838 Lecture notes copy right: Moon Jung Chung
One to One Packet If M=N and 1:1, then it is a permutation problem If M N, one-one sort packets based on destination spread packets to destination Complexity T + O(logn) T: time to sort CSE838 Lecture notes copy right: Moon Jung Chung
Butterfly Network Butterfly network CSE838 Lecture notes copy right: Moon Jung Chung
Greedy on Butterfly • Greedy Algorithm: adjust bit 1, bit 2,..., bit k • O(sqrt(N)) congestions possible • example: bit reversal permutation (<x,i>): x: node number, i level • assume that logn is odd (<u1... u(logn-1)/2 0 0, 0 >) <u1... u(logn-1)/2 0 0, logn> Consider <u1,..., u(logn-1)/2 , 0, 0, 0> <u(logn-1)/2 ... u1, logn> <u1... u(logn-1)/2 0 0, 0> <0 u2 u3... u(logn-1)/2 0 0, 1> <0 0 u3... u(logn-1)/2 0 0, 1> .... <0 0 0 ... u(logn-1)/2 0 0 0, (logn-3)/2> <0 0 0 ... 0 0 0 0, (logn-1)/2> <0 0 0 ... 0 0 0 0, (logn+1)/2> <0 0 0 ... u(logn-1)/2 ... 0 0, (logn+3)/2> ..... <0 0 0 ... u(logn-1)/2 ... u1, logn> For all u1... u(logn-1)/2 , they uses link <0 0 0 ... 0 0 0 0, (logn-1)/2> <0 0 0 ... 0 0 0 0, (logn+1)/2> CSE838 Lecture notes copy right: Moon Jung Chung
Max delay of a permutation on Butterfly network Theorem: Given any one-one routing problem on a logN dimension butterfly, one packet for each level 0, greedy algorithm can do in O(sqrt(N)) steps. (Proof) Assume that logN is odd. Let e be any edge at level i. ni: # of greedy paths that traverse the edge e. ni 2i-1 for all i (from level 0 to level i) ni 2logN-i (from destination to level i) Packet passing through level 0,.., level logN : at most O(sqrt(N)) CSE838 Lecture notes copy right: Moon Jung Chung
Hypercube Packet Routing • Broadcasting CSE838 Lecture notes copy right: Moon Jung Chung
0000 0001 0010 0011 0100 0101 0111 0110 1000 1001 1010 1011 1100 1101 1111 1110 Hypercube Broadcasting Tree with root node x can be constructed by for each node, xy CSE838 Lecture notes copy right: Moon Jung Chung
Sorting and Permutation • Sorting: O(log2n) • Permutation O(log2n), some O(logn) CSE838 Lecture notes copy right: Moon Jung Chung
Data Movement on hypercube • Reversing the order • Packing • Unpacking CSE838 Lecture notes copy right: Moon Jung Chung