Post on 21-Dec-2015
Scheduling in Delay Graphswith Applications to Optical Networks
Isaac Keslassy (Stanford University), Murali Kodialam, T.V. Lakshman, Dimitri Stiliadis (Bell-Labs)
Problem Motivation
MAN WDM optical ring with N nodes
For each node i, one tunable transmitter, and one fixed receiver at wavelength λi.
1 23
i
Nλ1 λ2
λ3
λi
λN
When and how can we guarantee 100% throughput?
Outline
Introduction: Scheduling with no Delays
Bipartite Delay Graph
TSS Algorithm
Theorems on Separable Architectures
Non-Separable Architectures
Assume no propagation delays (each packet transmitted is immediately received)
A single transmitter and receiver per node => when i sends to j, i cannot send to j’≠j and j cannot receive from i’≠i
Slotted time, fixed-size packets
Scheduling with no Delays
Input:
Birkhoff-von Neumann (BvN) schedule: A frame of F matrices S1,…,SF such that Arrivals ≤ Services: R’ ≤ S1 + .. + SF
{Si}’s are permutation matrices: any node sends and receives at most one packet per time-slot
Known result: decomposition always exists
Frame-Based Scheduling
.j,
i,
matrix,integer integer,
: with,1
matrix rate Arrival
iij
jij
FR'
F,R'
R'F
RF
R
Example of BvN Schedule
,...
001
100
010
,
010
001
100
,
010
001
100
,
001
100
010
,
010
001
100
,
010
001
100
:Schedule
001
100
010
010
001
100
010
001
100
':ionDecomposit
021
102
210
3
1'
3
1:matrix Rate
R
RR
No transmitter conflicts
No receiver conflicts
Frame Frame
Propagation delays << time-slot ?
Example: MAN WDM ring 30km ring, 10Gbps, 1kb packets Time-slot = 1kb/(10Gb/s) = 100ns Max propagation delay = 30km/(3.108 m/s)
= 100μs
Clearly impossible to neglect delays
Neglecting Delays?
Outline
Introduction: Scheduling with no Delays
Bipartite Delay Graph
TSS Algorithm
Theorems on Separable Architectures
Non-Separable Architectures
Question: Can we extend Birkhoff-von Neumann (BvN) to general case of WDM mesh with delays
Method:
1. Provide simple model for mesh
2. Use model to extend BvN
Question
General WDM Mesh Architecture
2
λ2
λ11
N λN
i λi
Star Coupler
Examples of WDM Architectures
1
2
N
λ1
λ2
λN
i
λi
1 23
i
Nλ1 λ2
λ3
λi
λN
Ring
Arbitrary mesh with constant delays Arbitrary routing policy such that all paths to a
given node form a spanning tree
Mesh Model
di
sλd
Property: if packets collide on the path, they would also have collided at the receiver
Mesh Model
di
sdd
dd λd
Property: if packets collide on the path, they would also have collided at the receiver
No collision at receiver no collision on path
We need to prevent only two types of collision: At the transmitter At the receiver
Mesh Model
Bipartite delay graph: bipartite graph with weights ij (delay from i to j)
Bipartite Delay Graph
i
j
ij
Example of Bipartite Delay Graph
1
3 2
λ1
λ3 λ2
12=1
23=1
31=12
3
1
2
3
1312
23
1
1 23
Using the Bipartite Delay Graph in the Schedule
,...
001
100
010
,
010
001
100
,
010
001
100
,
001
100
010
,
010
001
100
,
010
001
100
:Schedule
transmitter conflicts
receiver conflicts
2
3
1
2
3
1312
23
1123
1
3 2
λ1
λ3 λ2
12=1
23=1
31=1
Conflict
Delay Graph of a Star Coupler
i
N
1
j
N
1u1
ui
uN
v1
vj
vN
jiij vu
Delay in a star coupler:
Delay Graph of a Ring
Tvu jiij mod
Delay in a ring:
1 2k
i
N
j TvuT
vu
vu
T
ijiij
ikiik
iii
j11
k11
1i1
,
of RTT
ui
vi
Outline
Introduction: Scheduling with no Delays
Bipartite Delay Graph
TSS Algorithm
Theorems on Separable Architectures
Non-Separable Architectures
Birkhoff-von Neumann ScheduleExample with 3 nodes
3
1
2
3
1
2
2
3
1
3
1
2
3
1
2
2
3
1
3
1
2
3
1
2
2
3
1
3
1
2
3
1
2
2
3
1
Frame
Sender 1
Sender 2
Sender 3
time
Frame Frame Frame
2
3
1
2
3
1u1u2
u3
v1
v2
v3
Time-Shifted Scheduling (TSS) in a Star Coupler
2
3
1
2
3
1u1u2
u3
v1
v2
v3
Sender 1
Sender 2
Sender 3
time (at senders)
u1
u2
u3
3 3 2 3 3 2 3 3 2 3 3 2
1 1 3 1 1 3 1 1 3 1 1 3
2 2 1 2 2 1 2 2 1 2 2 1
time (at star coupler)
Time-Shifted Scheduling (TSS) in a Star Coupler
2
3
1
2
3
1u1u2
u3
v1
v2
v3
Sender 1
Sender 2
Sender 3
3 3 2 3 3 2 3 3 2 3 3 2
1 1 3 1 1 3 1 1 3 1 1 3
2 2 1 2 2 1 2 2 1 2 2 1
time (at star coupler)
Time-Shifted Scheduling (TSS) in a Star Coupler
2
3
1
2
3
1u1u2
u3
v1
v2
v3
Sender 1
Sender 2
Sender 3
1 1 1 1 1 1 1 1
1 1 1 1
time (at star coupler)
v1
time (at node 1)
Time-Shifted Scheduling (TSS) in a Star Coupler
In a star coupler, TSS works:
In a ring with RTT T, and a schedule of frame length F=T, TSS also works (shifting time by T doesn’t matter):
and the schedule is modulo F=T.
TSS in a Star Coupler and in a Ring
Tvu jiij mod
jiij vu
Separable architecture:
T-Separable architecture:
A separable architecture is T-separable for all T
F-rate matrix: Rate matrix for which (optimal) BvN decomposition has frame length F
Definitions (more general setting)
Tvu jiij mod
jiij vu
Properties
Property 1: Using the TSS algorithm, an F-separable architecture can schedule any F-rate matrix. Example: ring of RTT F
Property 2: Using the TSS algorithm, a separable architecture can schedule any rate matrix. Example: star coupler
Outline
Introduction: Scheduling with no Delays
Bipartite Delay Graph
TSS Algorithm
Theorems on Separable Architectures
Non-Separable Architectures
Can we always extend BvN?
No! Even for simple matrices… Example: ring
With cyclical scheduling of two matrices, each of the 3 pairs has to be associated to either matrix, but there are at most 3 elements ( one pair) per matrix BvN impossible here
1
3 2
1
1
1
011
101
110
'R ???
010
100
010
001
001
100
011
101
110
'R
Theorems (Necessity and Sufficiency)
Theorem 1: An architecture can schedule any F-rate matrix iff the architecture is F-separable. Proof: if not F-separable, exhibit counter-example
Theorem 2: An architecture can schedule any rate matrix iff the architecture is separable. Proof: needs to be F-separable for all F
Corollary (Negative result): Guaranteed frame-based scheduling cannot be achieved in non-separable architectures.
Outline
Introduction: Scheduling with no Delays
Bipartite Delay Graph
TSS Algorithm
Theorems on Separable Architectures
Non-Separable Architectures
Non-Separable Delay Graphs
Guaranteed schedule in non-separable architecture? need to make it separable
Assume we can add delay lines ij between nodes.
How to minimize the sum of these delay lines?
0
ˆ
:s.t. min,
ij
jiijijij
jiij
vu
Non-Separable Delay Graphs
Dual formulation of Maximum Weight Matching Problem in Bipartite Delay Graph
Separable architecture: all matches are MWM Non-separable architecture: solving MWM
gives minimum amount of additional delay lines
ijji
jj
ii
vu
vu
:s.t. min
Summary
The bipartite delay graph can model any mesh architecture
An architecture can schedule any F-rate matrix iff it is F-separable (e.g. ring of RTT=F)
An architecture can schedule any rate matrix iff it is separable (e.g. star coupler)
Non-separable architectures can schedule any rate matrix at minimum cost by adding delay lines and using maximum weight matching
Thank you.