Title: Constructions of Optical Priority Queues
1Constructions of Optical Priority Queues
- Jay Cheng
- Department of Electrical Engineering
- Institute of Communications Engineering
- National Tsing Hua University
- Hsinchu, Taiwan 30013, R.O.C.
- E-mail jcheng_at_ee.nthu.edu.tw
- The slides are made by using MS PowerPoint 2007
2Outline
- Motivation
- Definition of Priority Queues
- The Operations of a Priority Queue (Electronic
Random Access Memory (RAM) is used to Buffer
Packets) - Our Previous SDL Construction
- An Improved SDL Construction
- Conclusion and Future Works
3Outline
- Motivation
- Definition of Priority Queues
- The Operations of a Priority Queue (Electronic
Random Access Memory (RAM) is used to Buffer
Packets) - Our Previous SDL Construction
- An Improved SDL Construction
- Conclusion and Future Works
4Motivation
- One of the well-recognized key problems for
all-optical packet-switched networks is the lack
of optical buffer for contention resolution among
packets competing for the same resources
- As photons cannot be easily stopped, stored, and
forwarded, the only known way to store optical
packets without converting them into other media
is to direct optical packets through optical
Switches and fiber Delay Lines (SDL) so that
packets appear at the right place and at the
right time
- The key idea in the SDL constructions is to
design different types of optical buffers for
different types of network elements that do not
need buffers with random-access capability
- Recent advances in SDL constructions have shown
that there exist systematic methods for
constructing various types of optical queues,
including buffered switches, FIFO multiplexers,
FIFO queues, LIFO queues, priority queues, linear
compressors, non-overtaking delay lines, and
flexible delay lines
- The purpose of the slides is to help the audience
understand our SDL constructions of priority
queues (for simplicity, only the single-input
single-output case is presented here).
5Outline
- Motivation
- Definition of Priority Queues
- The Operations of a Priority Queue (Electronic
Random Access Memory (RAM) is used to Buffer
Packets) - Our Previous SDL Construction
- An Improved SDL Construction
- Conclusion and Future Works
6Basic Assumptions
- Packets are of the same size.
- Time in all optical links is slotted and
synchronized so that a packet can be transmitted
within a time slot.
- A fiber delay line with delay d is an optical
link that requires d time slots for a packet to
traverse through.
- An M x M crossbar switch is a network element
with M input links and M output links that
realizes all the M! permutations between its
inputs and outputs.
7Definition of Priority Queues
Buffer size
Departure link
Arrival link
Loss link
Control input link
(P1) Flow conservation
Arriving packets from the arrival link are either
stored in the buffer or transmitted through the
departure link or the loss link.
If c(t)1, then there is always a departing
packet if there are packets in the buffer or
there is an arriving packet.
(P2) Non-idling
If there is a departing packet at time t, then
the departing packet is the one with the highest
priority among all the packets in the queue at
time t.
(P3) Priority departure
If c(t)0, then there is a lost packet only when
buffer is full and there is an arriving packet.
(P4) Maximum buffer usage
If there is a lost packet at time t, then the
lost packet is the one with the lowest priority
among all the packets in the queue at time t.
(P5) Priority loss
8Outline
- Motivation
- Definition of Priority Queues
- The Operations of a Priority Queue (Electronic
Random Access Memory (RAM) is used to Buffer
Packets) - Our Previous SDL Construction
- An Improved SDL Construction
- Conclusion and Future Works
9The Operations of a Priority Queue (B9)
RAM
c(t)
10The Operations of a Priority Queue (B9)
t 1
c(t)
c(t)0
11The Operations of a Priority Queue (B9)
t 1
1
c(t)0
(P1) Flow conservation Arriving packets from the
arrival link are either stored in the
buffer or transmitted through the departure link
or the loss link
12The Operations of a Priority Queue (B9)
t 1
t 2
2
1
c(t)0
c(t)1
(P2) Non-idling If c(t)1, then there is always
a departing packet if there are packets
in the buffer or there is an arriving packet
(P3) Priority departure If there is a departing
packet at time t, then the departing
packet is the one with the highest priority among
all of the packets in the queue at time t
13The Operations of a Priority Queue (B9)
t 2
t 3
1
1
2
c(t)1
c(t)0
14The Operations of a Priority Queue (B9)
t 3
t 4
3
1
2
c(t)0
c(t)0
15The Operations of a Priority Queue (B9)
t 4
t 5
4
1
2
c(t)0
c(t)0
3
16The Operations of a Priority Queue (B9)
t 5
t 6
4
1
4
4
5
2
c(t)0
c(t)0
3
17The Operations of a Priority Queue (B9)
t 6
t 7
1
1
5
2
6
2
4
3
5
c(t)0
c(t)0
3
4
18The Operations of a Priority Queue (B9)
t 7
t 8
5
2
6
7
3
5
6
c(t)0
c(t)0
4
1
19The Operations of a Priority Queue (B9)
t 8
t 9
8
2
7
5
3
6
c(t)0
c(t)0
4
1
20The Operations of a Priority Queue (B9)
t 9
t 10
8
2
7
5
3
6
8
9
c(t)0
c(t)0
4
1
21The Operations of a Priority Queue (B9)
t 10
t 11
5
2
7
5
6
8
3
6
9
10
7
c(t)0
c(t)0
4
1
8
9
(P4) Maximum buffer usage If c(t)0, then there
is a lost packet only when buffer is
full and there is an arriving packet
(P5) Priority loss If there is a lost packet at
time t, then the lost packet is the one
with the lowest priority among all of the packets
in the queue at time t
22Outline
- Motivation
- Definition of Priority Queues
- The Operations of a Priority Queue (Electronic
Random Access Memory (RAM) is used to Buffer
Packets) - Our Previous SDL Construction
- An Improved SDL Construction
- Conclusion and Future Works
23Our Previous SDL Construction
24An Example of Our Previous SDL Construction (B9)
9
10
t 0
t 1
8
7
9
8
6
5
4
7
6
5
2
3
3
4
1
2
1
c(t) 0
The key is to view empty time slots as fictitious
packets that have priorities lower than those of
real packets.
Moreover, the priorities among the fictitious
packets are decreasing in the order of their
arrival times.
Note that both the packet with the highest
priority and the packet with the lowest priority
appear at the inputs of the sorter at the
beginning of each time slot.
(P1) Flow conservation is satisfied
25An Example of Our Previous SDL Construction (B9)
8
9
t 1
t 2
5
9
6
10
3
7
6
4
8
7
4
2
3
5
1
2
1
c(t) 0
c(t) 1
(P2) Non-idling and (P3) Priority departure are
satisfied
26An Example of Our Previous SDL Construction (B9)
9
10
t 2
t 3
8
5
9
6
6
3
7
7
4
8
2
4
5
3
1
2
1
c(t) 1
c(t) 0
27An Example of Our Previous SDL Construction (B9)
8
9
t 3
t 4
6
9
7
10
3
7
4
4
8
5
5
2
6
2
1
1
3
c(t) 0
c(t) 0
28An Example of Our Previous SDL Construction (B9)
9
10
t 4
t 5
6
7
7
8
5
4
8
6
5
9
2
3
2
3
1
1
4
c(t) 0
c(t) 0
29An Example of Our Previous SDL Construction (B9)
9
10
t 5
t 6
8
7
9
8
4
6
5
5
7
6
3
2
3
2
1
1
4
c(t) 0
c(t) 0
30An Example of Our Previous SDL Construction (B9)
8
9
t 6
t 7
6
9
7
10
4
5
7
5
6
8
2
3
3
4
1
2
1
c(t) 0
c(t) 0
31An Example of Our Previous SDL Construction (B9)
9
10
t 7
t 8
8
7
9
8
3
5
6
3
6
7
4
2
4
2
1
1
5
c(t) 0
c(t) 0
32An Example of Our Previous SDL Construction (B9)
8
9
t 8
t 9
7
9
7
10
5
3
6
5
3
6
2
4
2
4
1
1
8
c(t) 0
c(t) 0
33An Example of Our Previous SDL Construction (B9)
9
10
t 9
t 10
8
7
9
8
6
5
3
6
5
3
4
2
4
2
1
1
7
c(t) 0
c(t) 0
34An Example of Our Previous SDL Construction (B9)
8
9
t 10
t 11
7
9
8
10
4
6
5
4
7
6
2
3
2
3
1
1
5
c(t) 0
c(t) 0
(P4) Maximum buffer usage and (P5) Priority loss
are satisfied
35Outline
- Motivation
- Definition of Priority Queues
- The Operations of a Priority Queue (Electronic
Random Access Memory (RAM) is used to Buffer
Packets) - Our Previous SDL Construction
- An Improved SDL Construction
- Conclusion and Future Works
36An Improved SDL Construction
- The key to the success of our previous SDL
construction is we make sure that the following
condition is satisfied - (A1) Both the highest priority packet and
the lowest priority packet appear at
the inputs of the sorter at the beginning of each
time slot -
In other words, all the
packets stored in the fiber delay lines
cannot be either the highest priority
packet or the lowest priority
packet until they appear at the inputs of the
sorter
- Our improvement is made possible by the
observation that the following condition (A2)
implies that (A1) holds -
(A2) When a packet enters the ith delay
line, there are at least di-1 packets
with priorities higher than its priority, and
there are at least di-1 packets with
priorities lower than its priority
37An Improved SDL Construction
38An Improved SDL Construction
39The Concept of the Cells of the Fiber Delay Lines
d11
d22
m
dmm
M-2m
dM1-mm
m
dM-12
dM1
40Example (M7, m3)
- We view a fiber delay line with delay d as a
sequential buffer that consists of d cells with
each cell capable of holding a packet.
j1
j2
j3
(1,1)
- The (i,j)th cell, i1,2,M, j1,2,,di, is the
jth cell of the ith fiber delay line.
i1
j4
(2,2)
(2,1)
i2
m3
- A packet entering the ith delay line at time t
will be stored in the (i,j)th cell at time
tj-1.
(3,3)
(3,2)
(3,1)
i3
(4,4)
(4,3)
(4,2)
(4,1)
M-2m1
i4
(5,3)
(5,2)
(5,1)
i5
(6,2)
(6,1)
i6
m3
(7,1)
i7
41 1, if the priority of the packet in cell (i,j)
at time t is higher than
or equal to the priority of the tagged
packet
Tagged packet
Let pi,j(t)
We consider a packet that enters the i th delay
line at some time t0 and call it the tagged
packet
0
0, otherwise.
1
1
1
1
2
3
1
1
1
4
6
5
0
0
1
1
8
7
10
9
0
0
0
13
12
11
0
0
14
15
0
16
42Properties of pi,j(t)
At time t-1
At time t-1
At time t
1
1
1
1
1
1
1
1
1
1
1
2
3
2
3
3
Monotonically decreasing
1
1
1
1
1
1
1
4
6
5
4
6
5
5
1
0
0
1
1
0
0
1
1
i4
i4
8
7
10
9
8
7
10
8
9
11
9
0
0
0
0
0
0
0
13
12
11
13
12
11
10
13
14
0
0
0
0
0
14
15
14
15
12
15
0
0
0
16
16
16
43The total number of packets in the cells of the
jth column that have properties higher than or
equal to that of the tagged packet at time t
44At time t-1
At time t
1
1
1
1
1
1
1
1
3
2
2
3
1
1
1
1
1
1
5
4
6
4
6
5
0
1
1
1
0
0
1
1
8
9
7
11
8
7
10
9
0
0
0
0
0
0
10
14
13
13
12
11
0
0
0
0
12
15
14
15
0
0
16
16
45The total number of packets in the cells of the
jth column that have properties higher than or
equal to that of the tagged packet at time t
46At time t-1
At time t
1
1
1
1
1
1
1
1
3
2
2
3
1
1
1
1
1
1
5
4
6
4
6
5
0
1
1
1
0
0
1
1
8
9
7
11
8
7
10
9
0
0
0
0
0
0
10
14
13
13
12
11
0
0
0
0
12
15
14
15
0
0
16
16
47- p1(t) is the total number of packets in the first
column at time t that have priorities higher than
or equal to that of the tagged packet
- These M packets can only come from the arriving
packet at time t and those packets stored at
time t-1 in the cells (i,i) and (M1-i,i) for
i1,2,,m, and (i,di) for im1,m2,,M-m
At time t-1
At time t
1
1
1
1
1
1
1
1
3
2
2
3
1
1
1
1
1
1
5
4
6
4
6
5
0
1
1
1
0
0
1
1
M-2m
8
9
7
11
8
7
10
9
0
0
0
0
0
0
10
14
13
13
12
11
0
0
0
0
12
15
14
15
0
0
16
16
Arriving packet
48(No Transcript)
49(No Transcript)
50Outline
- Motivation
- Definition of Priority Queues
- The Operations of a Priority Queue (Electronic
Random Access Memory (RAM) is used to Buffer
Packets) - Our Previous SDL Construction
- An Improved SDL Construction
- Conclusion and Future Works
51Conclusion and Future Works
- We have considered the construction of an optical
priority queue with a single (M1) (M1) switch
and M fiber delay lines, and have shown that such
a construction can be operated as a priority
queue with O(M3) buffer size
- Further studies are needed to go beyond the O(M3)
buffer size and march toward the exponential
upper bound O(2M) for a construction of an
optical priority queue with a single (M1)
(M1) switch and M fiber delay lines
52Thank you!