Title: Acyclic orientations do not lead
1Acyclic orientations do not lead to optimal
deadlock-free packet routing algorithms.
Daniel Å tefankovic
2Packet routing
6
1
2
4
5
7
8
3
3Routing one packet
6
1
to 6
2
4
5
7
8
3
Where should I forward the packet?
4Routing one packet
6
1
to 6
2
4
5
7
8
3
5Routing one packet
to 6
6
1
2
4
5
7
8
3
6Routing more packets
to 6
6
1
2
4
5
7
to 1
8
3
to 8
to 2
7Routing more packets
6
1
to 6
2
4
5
7
to 1
to 2
to 8
8
3
8Routing more packets
6
1
to 6
2
4
5
7
to 1
to 2
to 8
8
3
We need to store the packets
9Buffers
6
1
2
4
5
7
8
3
10Routing with buffers
to 6
6
1
2
4
5
7
to 1
to 2
to 8
8
3
11Storeforward deadlock
6
1
2
4
5
7
to 6
to 1
to 8
to 2
8
3
12The 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 storeforward deadlock?
13Yes, we can
we control to which buffer the packet goes
2
4
5
7
14How many buffers per node suffice?
diam(G)1 buffers are enough (always move from
buffer i to buffer i1)
Can we do better?
15Can we do better?
16Acyclic orientations
17Acyclic orientations
18Acyclic 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.
19Orientation 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
20Orientation cover of a grid
1.
2.
3.
4.
21The 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
O(log N/log log N).
22The graph G
0
0
1
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.
23Shortest paths in G
24Solution with 8 buffers
1
2
3
2
3
4
shuffle a?a
25The 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
26The 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?
27The lower bound
Everybody sends packet to everybody. We are
going to observe the system after each
orientation.
28d-active vertex
x
y
v
d
If for each vertex u of the form uxz 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 gt it is active.
29The lower bound
Let klog2 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.
30Qi ? Qi1
x
w
k
ki
Aw ki-active vertices after phase i Nw
k(i1)-passive vertices after phase i1
2l gt Nw gt 2l-1
31Qi ? Qi1
x
w
k
ki
2lgtNwgt2l-1
a
0
a
1
Cannot both be in Aw
Both are in Nw
z1
e
0
e
1
Awlt2k-l
32Qi ? Qi1
Nw-(2k-Aw)lt 2l2k-l-2k lt1
( k(i1)-passive vertices in Qi after
(i1)-st phase ) - ( ki-passive vertices in in
Qi after i-th phase) lt 2n-k(i1)
M
M/2n-ki ? ((M 2n-k(i1))/2k)/2n-k(i1)
(1/2k)
33Questions
Can the gap be improved? Better lower bound for
plain-buffer technique?