Upload
madlyn-campbell
View
216
Download
0
Embed Size (px)
Citation preview
Constructions of Optical Priority Queues
Jay Cheng
Department of Electrical Engineering & Institute of Communications Engineering
National Tsing Hua UniversityHsinchu, Taiwan 30013, R.O.C.
E-mail: [email protected]
The slides are made by using MS PowerPoint 2007
Outline
• 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
Outline
• 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
Motivation
• 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
• 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).
• 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
• 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
Outline
• 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
Basic Assumptions
• Time in all optical links is slotted and synchronized so that a packet can be transmitted within a time slot.
• Packets are of the same size.
• 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.
Control input link
Arrival link
Buffer size
Departure link
Loss link
Definition of Priority Queues
Priority queuewith buffer B
B
a(t)
c(t)
d(t)
(t)
(P1) Flow conservation
(P2) Non-idling
(P3) Priority departure
(P4) Maximum buffer usage
(P5) Priority loss
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.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.
If c(t)=0, then there is a lost packet only when buffer is full and there is an arriving packet.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.
Outline
• 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
The Operations of a Priority Queue (B=9)
Priority queue with buffer B
d(t)
l (t)
a(t)
c(t)
B
c(t)
RAM
Priority queue with buffer B
d(t)
l (t)
a(t)
c(t)
B
The Operations of a Priority Queue (B=9)
t = 1
c(t)c(t)=0
Priority queue with buffer B
d(t)
l (t)
a(t)
c(t)
B
The Operations of a Priority Queue (B=9)
(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
c(t)=0
1
t = 1
Priority queue with buffer B
d(t)
l (t)
a(t)
c(t)
B
The Operations of a Priority Queue (B=9)
t = 1t = 2
12
(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
c(t)=0c(t)=1
Priority queue with buffer B
d(t)
l (t)
a(t)
c(t)
B
The Operations of a Priority Queue (B=9)
t = 2t = 3
1
1
2
c(t)=1c(t)=0
Priority queue with buffer B
d(t)
l (t)
a(t)
c(t)
B
The Operations of a Priority Queue (B=9)
t = 3t = 4
1
2
3
c(t)=0c(t)=0
Priority queue with buffer B
d(t)
l (t)
a(t)
c(t)
B
The Operations of a Priority Queue (B=9)
t = 4t = 5
1
2
3
4
c(t)=0c(t)=0
Priority queue with buffer B
d(t)
l (t)
a(t)
c(t)
B
The Operations of a Priority Queue (B=9)
t = 5t = 6
1
2
3
4 445
c(t)=0c(t)=0
Priority queue with buffer B
d(t)
l (t)
a(t)
c(t)
B
The Operations of a Priority Queue (B=9)
t = 6t = 7
1
2
3
1 5
4
2
3
4
6
5
c(t)=0c(t)=0
Priority queue with buffer B
d(t)
l (t)
a(t)
c(t)
B
The Operations of a Priority Queue (B=9)
t = 7t = 8
2
3
4
5 6
5
1
6
7
c(t)=0c(t)=0
Priority queue with buffer B
d(t)
l (t)
a(t)
c(t)
B
The Operations of a Priority Queue (B=9)
t = 8t = 9
2
3
4
8 7
6
1
5
c(t)=0c(t)=0
Priority queue with buffer B
d(t)
l (t)
a(t)
c(t)
B
The Operations of a Priority Queue (B=9)
t = 9t = 10
2
3
4
8 7
6
1
5
89
c(t)=0c(t)=0
Priority queue with buffer B
d(t)
l (t)
a(t)
c(t)
B
The Operations of a Priority Queue (B=9)
t = 10t = 11
2
3
4
5 7
6
1
5
9
8
6
10
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
7
8
c(t)=0c(t)=0
Outline
• 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
Our Previous SDL Construction
• Theorem If for all , then the following construction can be operated as a priority queue with buffer
Sorter Shifter
d1d2
dM
Arrival link
Departure link
Control input
lowest
highest1
2
M
M+1
1
2
M
M+1
1
2
M
M+1
1
2
M
M+1
Loss link
Sorter Shifter
11 d
22d
33 d
24 d15 d
highest
lowest
1
2
3
4
5
6
c(t)=0
d(t)
l(t)
a(t)
An Example of Our Previous SDL Construction (B=9)
1
2 3
654
87
9
2
3 4
765
98
10
1
t = 0t = 1
(P1) Flow conservation is satisfied
c(t) = 0The 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.
Sorter Shifter
11 d
22d
33 d
24 d15 d
highest
lowest
1
2
3
4
5
6
c(t)=1
d(t)
l(t)
a(t)
An Example of Our Previous SDL Construction (B=9)
1
4 2
376
59
8
3
48
6t = 1t = 2
(P2) Non-idling and (P3) Priority departure are satisfied
c(t) = 0c(t) = 1
2
5
7
10
9
1
Sorter Shifter
11 d
22d
33 d
24 d15 d
highest
lowest
1
2
3
4
5
6
c(t)=0
d(t)
l(t)
a(t)
An Example of Our Previous SDL Construction (B=9)
1
2 4
637
85
9
5
74
9t = 2t = 3
c(t) =1c(t) = 0
2
3
8
6
10
1
Sorter Shifter
11 d
22d
33 d
24 d15 d
highest
lowest
1
2
3
4
5
6
c(t)=0
d(t)
l(t)
a(t)
An Example of Our Previous SDL Construction (B=9)
1
5 2
374
69
8
1
6 2
485
710
9
3
t = 3t = 4
c(t) = 0c(t) = 0
Sorter Shifter
11 d
22d
33 d
24 d15 d
highest
lowest
1
2
3
4
5
6
c(t)=0
d(t)
l(t)
a(t)
An Example of Our Previous SDL Construction (B=9)
1
2 3
548
67
9
1
2 3
659
78
10
4
t = 4t = 5
c(t) = 0c(t) = 0
Sorter Shifter
11 d
22d
33 d
24 d15 d
highest
lowest
1
2
3
4
5
6
c(t)=0
d(t)
l(t)
a(t)
An Example of Our Previous SDL Construction (B=9)
1
3 2
465
87
9
1
3 2
576
98
10
4
t = 5t = 6
c(t) = 0c(t) = 0
Sorter Shifter
11 d
22d
33 d
24 d15 d
highest
lowest
1
2
3
4
5
6
c(t)=0
d(t)
l(t)
a(t)
An Example of Our Previous SDL Construction (B=9)
1
2 3
457
69
8
2
3 4
568
710
9
1
t = 6t = 7
c(t) = 0c(t) = 0
Sorter Shifter
11 d
22d
33 d
24 d15 d
highest
lowest
1
2
3
4
5
6
c(t)=0
d(t)
l(t)
a(t)
An Example of Our Previous SDL Construction (B=9)
1
4 2
356
87
9
1
4 2
367
98
10
5
t = 7t = 8
c(t) = 0c(t) = 0
Sorter Shifter
11 d
22d
33 d
24 d15 d
highest
lowest
1
2
3
4
5
6
c(t)=0
d(t)
l(t)
a(t)
An Example of Our Previous SDL Construction (B=9)
1
2 4
536
79
8
1
2 4
536
710
9
8
t = 8t = 9
c(t) = 0c(t) = 0
Sorter Shifter
11 d
22d
33 d
24 d15 d
highest
lowest
1
2
3
4
5
6
c(t)=0
d(t)
l(t)
a(t)
An Example of Our Previous SDL Construction (B=9)
1
4 2
653
87
9
1
4 2
653
98
10
7
t = 9t = 10
c(t) = 0c(t) = 0
Sorter Shifter
11 d
22d
33 d
24 d15 d
highest
lowest
1
2
3
4
5
6
c(t)=0
d(t)
l(t)
a(t)
An Example of Our Previous SDL Construction (B=9)
1
2 3
465
79
8
1
2 3
476
810
9
5
t = 10t = 11
(P4) Maximum buffer usage and (P5) Priority loss are satisfied
c(t) = 0c(t) = 0
Outline
• 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
(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
An 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
• Our improvement is made possible by the observation that the following condition (A2) implies that (A1) holds:
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
An Improved SDL Construction
An Improved SDL Construction
The Concept of the Cells of the Fiber Delay Lines
(1,1)
(2,2) (2,1)
(m,1)(m,2)(m,m)
(m+1,1)(m+1,2)(m+1,m)(m+1,dm+1)
(M,1)
(M-1,2) (M-1,1)
(M+1-m,1)(M+1-m,2)(M+1-m,m)
(M-m,1)(M-m,2)(M-m,m)(M-m,dM-m)
m
m
M-2m
d1=1
d2=2
• • •
dm=m
dM+1-m=m
••
•
dM=1
dM-1=2
• The (i,j)th cell, i=1,2,…M, j=1,2,…,di, is the jth cell of the ith fiber delay line.
Example (M=7, m=3)
(4,4)
(1,1)
(2,2) (2,1)
(3,3) (3,2) (3,1)
(4,3) (4,2) (4,1)
(7,1)
(6,2) (6,1)
(5,3) (5,2) (5,1)
i=1
i=2
i=3
i=4
i=5
i=6
i=7
m=3
m=3
M-2m=1
j=1
j=3
j=4
j=2
• 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.
• A packet entering the ith delay line at time t will be stored in the (i,j)th cell at time t+j-1.
0
1
1 1
1 1 1
0 1 1
0
0 0
0 0 0
1
2
4
8
13
14
16
3
6
7
12
5
10
11
9
15
Tagged packet
We consider a packet that enters the i th delay line at some time t0 and call it the tagged packet
0Let pi,j(t)=
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 0, otherwise.
Properties of pi,j(t)
At time t-1
Properties of pi,j(t)
0
1
1 1
1 1 1
0 1 1
0
0 0
0 0 0
1
2
4
8
13
14
16
3
6
7
12
5
10
11
9
15
0
1
1 1
1 1 1
00 1 1
0
0 0
0 0 0
1
2
4
8
13
14
16
3
6
7
12
5
10
11
9
15
1
3
5
8
10
12
16
At time t-1At time t
i=4 i=4
1
1
1
1
0
0
0
15
13
9
14
11
Monotonicallydecreasing
(1,1)
(2,2) (2,1)
(m,1)(m,2)(m,m)
(m+1,1)(m+1,2)(m+1,m)(m+1,dm+1)
(M,1)
(M-1,2) (M-1,1)
(M+1-m,1)(M+1-m,2)(M+1-m,m)
(M-m,1)(M-m,2)(M-m,m)(M-m,dM-m)
1
,( ) ( )M j
j i ji j
p t p t
The 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
0
1
1 11
1 1 1
1 1 1
0
0 0
0 0 0
1
3
5
8
10
12
16
2
4
9
14
6
7
13
11
15
0
1
1 1
1 1 1
0 1 1
0
0 0
0 0 0
1
2
4
8
13
14
16
3
6
7
12
5
10
11
9
15
At time t-1At time t
,3 ,2( ) ( 1)i ip t p t
(1,1)
(2,2) (2,1)
(m,1)(m,2)(m,m)
(m+1,1)(m+1,2)(m+1,m)(m+1,dm+1)
(M,1)
(M-1,2) (M-1,1)
(M+1-m,1)(M+1-m,2)(M+1-m,m)
(M-m,1)(M-m,2)(M-m,m)(M-m,dM-m)
1
,( ) ( )M j
j i ji j
p t p t
,1
( ) ( )m
i ii
x t p t
The 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
3
,1( ) ( ) 3i ii
x t p t
3
,1( 1) ( 1) 3i ii
x t p t
, , 1( ) ( 1)i j i jp t p t
0
1
1 1
1 1 1
1 1 1
0
0 0
0 0 0
1
3
5
8
10
12
16
2
4
9
14
6
7
13
11
15
0
1
1 1
1 1 1
0 1 1
0
0 0
0 0 0
1
2
4
8
13
14
16
3
6
7
12
5
10
11
9
15
At time t-1At time t
0
1
1 1
1 1 1
1 1 1
0
0 0
0 0 0
1
3
5
8
10
12
16
2
4
9
14
6
7
13
11
15
0
1
1 1
1 1 1
0 1 1
0
0 0
0 0 0
1
2
4
8
13
14
16
3
6
7
12
5
10
11
9
15
At time t-1At time t
• 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 (M+1-i,i) for i=1,2,…,m, and (i,di) for i=m+1,m+2,…,M-m
Arriving packet
M-2m
Outline
• 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
Conclusion and Future Works
• We have considered the construction of an optical priority queue with a single (M+1) × (M+1) 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 (M+1) × (M+1) switch and M fiber delay lines
Thank you!