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.
© Copyright 2026 Paperzz