1 / 33

Acyclic Orientations for Optimal Deadlock-Free Packet Routing

This article explores the use of acyclic orientations to design optimal deadlock-free packet routing algorithms. It discusses the concept of orientation covers and the role of buffers in packet routing. The article also presents lower bounds and challenges in designing optimal solutions using acyclic orientations.

krystlew
Télécharger la présentation

Acyclic Orientations for Optimal Deadlock-Free Packet Routing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Acyclic orientations do not lead to optimal deadlock-free packet routing algorithms. Daniel Štefankovič

  2. Packet routing 6 1 2 4 5 7 8 3

  3. Routing – one packet 6 1 to 6 2 4 5 7 8 3 Where should I forward the packet?

  4. Routing – one packet 6 1 to 6 2 4 5 7 8 3

  5. Routing – one packet to 6 6 1 2 4 5 7 8 3

  6. Routing – more packets to 6 6 1 2 4 5 7 to 1 8 3 to 8 to 2

  7. Routing – more packets 6 1 to 6 2 4 5 7 to 1 to 2 to 8 8 3

  8. Routing – more packets 6 1 to 6 2 4 5 7 to 1 to 2 to 8 8 3 We need to store the packets

  9. Buffers 6 1 2 4 5 7 8 3

  10. Routing with buffers to 6 6 1 2 4 5 7 to 1 to 2 to 8 8 3

  11. Store&forward deadlock 6 1 2 4 5 7 to 6 to 1 to 8 to 2 8 3

  12. The model (buffer reservation) • the packets must go along some shortest route • the devil controls the race conditions • we control to which buffer the packet goes Can we avoid store&forward deadlock?

  13. Yes, we can we control to which buffer the packet goes 2 4 5 7

  14. How many buffers per node suffice? diam(G)+1 buffers are enough (always move from buffer i to buffer i+1) Can we do better?

  15. Can we do better?

  16. Acyclic orientations

  17. Acyclic orientations

  18. Acyclic orientations If all packets are travelling along acyclic orientation then there cannot be deadlock. Split rounting into phases, in each phase packets would travel along an acyclic orientation.

  19. Orientation cover of a set of paths P Set of acyclic orientations A1 A2 ....A k such that each shortest path pP can be written as p1p2...pk where pi is the longest prefix of pi...pk which can be traversed in Ai. P – for any two vertices u,v at least one shortest path between u,v

  20. Orientation cover of a grid 1. 2. 3. 4.

  21. The question: Is it always possible to design (assymptotically) optimal solution using acyclic orientations? There is a graph G with N vertices which has buffer reservation scheme with 8 buffers per vertex but any orientation cover of G has size Ω(log N/log log N).

  22. The graph G 0 1 0 1 1 1 Machine M consists of a tape with n cells and a head which can be positioned above any cell. In one step head can either change the content of the occupied cell or move to the left or to the right.

  23. Shortest paths in G

  24. Solution with 8 buffers 1 2 3 2 3 4 shuffle aa’

  25. The lower bound 1. Concentrate only on the orientation of the shuffle edges, the other edges are free. 2. Consider only paths from vertices having head on the leftmost cell to vertices having head on the rightmost cell. unique shortest paths

  26. The lower bound A path in hypercube Qn is monotone if the bits are changed from left to right. What is the minimal size of a cover of the set of all monotone paths in the hypercube Qn?

  27. The lower bound Everybody sends packet to everybody. We are going to observe the system after each orientation.

  28. d-active vertex x y v= d If for each vertex u of the form u=xz there is a packet in the system destined to u which has to pass through v. (i.e. it was sent by somebody of the form wy.) If u has not yet received a packet from somebody of the form wy => it is active.

  29. The lower bound Let k=log2 n. We will construct a sequence of hypercubes Q0,Q1...Qn/k such that after moving according to the i-th orientation the ratio of ki-passive vertices in Qi is at most i/2k. Qi will have dimension n-ki and will consist of vertices starting with some string of length ki.

  30. Qi  Qi+1 x w k ki Aw ki-active vertices after phase i Nw k(i+1)-passive vertices after phase i+1 2l >= |Nw |> 2l-1

  31. Qi  Qi+1 x w k ki 2l>=|Nw|>2l-1 a 0 a 1 Cannot both be in Aw Both are in Nw z1 e 0 e 1 |Aw|<=2k-l

  32. Qi  Qi+1 |Nw|-(2k-|Aw|)<= 2l+2k-l-2k <=1 #( k(i+1)-passive vertices in Qi after (i+1)-st phase ) - #( ki-passive vertices in in Qi after i-th phase) <= 2n-k(i+1) M M/2n-ki ((M+ 2n-k(i+1))/2k)/2n-k(i+1) +(1/2k)

  33. Questions: Can the gap be improved? Better lower bound for plain-buffer technique?

More Related