Scheduling in Delay Graphs (with Applications to Optical Networks)

Scheduling in Delay Graphs
with 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
N
 For each node i, one
λN
tunable transmitter, and
one fixed receiver at
wavelength λi.

 When
1
λ1
2
λ2
3
λ3
λi
i
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
Scheduling with no Delays

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
Frame-Based Scheduling
1
 Input: Arrival rate matrix R 
R, with :
F
F integer, R' integer matrix,
i,  R' ij  F,
j
j,  R' ij  F .
i

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
Example of BvN Schedule
 0 1 2

1
1
Rate matrix : R  R '   2 0 1 
3
3

1 2 0
0 0 1 0 0 1 0 1 0

 
 

Decomposit ion : R '   1 0 0    1 0 0    0 0 1 
 0 1 0  0 1 0 1 0 0

 
 

 0 0 1   0 0 1   0 1 0   0 0 1   0 0 1   0 1 0 


 




Schedule :  1 0 0 ,  1 0 0 ,  0 0 1 ,  1 0 0 ,  1 0 0 ,  0 0 1 ,...
 0 1 0   0 1 0   1 0 0   0 1 0   0 1 0   1 0 0 


 




Frame
No transmitter conflicts
No receiver conflicts
Frame
Neglecting Delays?

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
Outline

Introduction: Scheduling with no Delays

Bipartite Delay Graph

TSS Algorithm

Theorems on Separable Architectures

Non-Separable Architectures
Question

Question: Can we extend Birkhoffvon Neumann (BvN) to general case
of WDM mesh with delays

Method:
Provide simple model for mesh
Use model to extend BvN
1.
2.
General WDM Mesh Architecture
λ2
2
λ1
i λi
1
N λ
N
Examples of WDM Architectures

1
λ1
N

Ring
λN
2
λ2
3
λ3
Star Coupler
λ2
2
λ1
1
λi
i
N λN
λi
i
Mesh Model


Arbitrary mesh with constant delays
Arbitrary routing policy such that all paths to a
given node form a spanning tree
i
s
d λd
Mesh Model

Property: if packets collide on the path,
they would also have collided at the
receiver
i
d
s
d
d λ
d
Mesh Model

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
Bipartite Delay Graph

Bipartite delay graph: bipartite graph
with weights ij (delay from i to j)
i
ij
j
Example of Bipartite Delay Graph
1
λ1
12=1
31=1
3
λ3
λ2
23=1
3
1
2
2
2 13
1 2
3
1
2
3
1
2
3
Using the Bipartite Delay Graph
in the Schedule
 0 0 1   0 0 1   0 1 0   0 0 1   0 0 1   0 1 0 

Conflict

 




Schedule :  1 0 0 ,  1 0 0 ,  0 0 1 ,  1 0 0 ,  1 0 0 ,  0 0 1 ,...
 0 1 0   0 1 0   1 0 0   0 1 0   0 1 0   1 0 0 


 




transmitter conflicts
receiver conflicts
1
λ1
1
31=1
12=1
3 λ3
λ2 2
2
23=1
3
3
1
2
2
3
1
1
2
3
1
2
3
Delay Graph of a Star Coupler
1 u1
i
v1 1
ui
vj
uN
vN
N
N

j
Delay in a star coupler:
 ij  ui  v j
Delay Graph of a Ring
1
RTT of T
2
N
k
ui   i1 , vi   1i
i
 ik   i1   1k  ui  vk
 ij   i1   1 j  T  ui  v j  T
vi
ui
j

Delay in a ring:
 ij  ui  v j mod T
Outline

Introduction: Scheduling with no Delays

Bipartite Delay Graph

TSS Algorithm

Theorems on Separable Architectures

Non-Separable Architectures
Birkhoff-von Neumann Schedule
Example with 3 nodes
Sender 1
Sender 2
3 3 2 3 3 2 3 3 2 3 3 2
1 1 3 1 1 3 1 1 3 1 1 3
Sender 3
2 2 1 2 2 1 2 2 1 2 2 1
Frame Frame Frame Frame
time
Time-Shifted Scheduling (TSS)
in a Star Coupler
2
3
u3
u2
1 u1
v1
1
v2
2
v3
3
Time-Shifted Scheduling (TSS)
in a Star Coupler
u2
2
3
Sender 1
Sender 2
Sender 3
1 u1
v1
1
v2
2
v3
u3
3
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
time
(at (at
starsenders)
coupler)
Time-Shifted Scheduling (TSS)
in a Star Coupler
2
3
Sender 1
Sender 2
Sender 3
u3
u2
1 u1
v1
1
v2
2
v3
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
Sender 1
Sender 2
Sender 3
u2
1 u1
v1
1
v2
2
v3
u3
3
1 1
1 1
1
1 1
1
1 1
1
1
v1
time
time
(at(at
star
node
coupler)
1)
TSS in a Star Coupler and in a Ring

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):
 ij  ui  v j
 ij  ui  v j mod T
and the schedule is modulo F=T.
Definitions (more general setting)

Separable architecture:

T-Separable architecture:
 ij  ui  v j
 ij  ui  v j mod T
 A separable
architecture is T-separable for
all T

F-rate matrix:
Rate matrix for which (optimal) BvN
decomposition has frame length F
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…
1
Example: ring
1
1
3
2
1
0 1 1


R'   1 0 1 
1 1 0


 0 0 1  0 1 0

 

  1 0 0    0 0 1  ???
 1 0 0  0 1 0

 

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
Theorems (Necessity and Sufficiency)

Theorem 1: An architecture can schedule any
F-rate matrix iff the architecture is F-separable.


Theorem 2: An architecture can schedule any
rate matrix iff the architecture is separable.


Proof: if not F-separable, exhibit counter-example
Proof: needs to be F-separable for all F
Corollary (Negative result): Guaranteed framebased scheduling cannot be achieved in nonseparable 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?



min    ij  s.t. :
 i, j 
ˆij   ij   ij  ui  v j
 ij  0
Non-Separable Delay Graphs


 min   ui   v j  s.t. :
j
 i

ui  v j   ij

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

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.