Variable domain q kp. Q. â {0,...,Q}, zk. Q â {0,1} ... Using the same amount of buckets for each demand is not the
Global Optimization for Hash-based Splitting Paolo Medagliani, Jérémie Leguay, Mohammed Abdullah, Mathieu Leconte, Stefano Paris Mathematics and Algorithmic Sciences Lab Huawei Technologies France Boulogne-Billancourt, 92100, France
Hash-based flow splitting in a nutshell
Problem Formulation of flow splitting Routing
Admission
z
max
ζ
Npk K X X
}| X
{
yskpk v −
z }| Npk K XX X
k=1 p=1 (sk ;v)∈E
s.t.
X
X
kp cuv yuv
← Routing + admission cost
xkp usk = 0,
← Flow conservation
xkp utk = 1,
← Flow conservation
(u;sk )∈E
(sk ;v)∈E
X
xkp tk v = 0,
(tk ;v)∈E
X
{
k=1 p=1 (u,v)∈E
xkp sk v = 1,
X
An iterative approach
(u;tk )∈E
xkp uv −
X
xkp vu = 0,
∀u ∈ V \ {sk , tk },
← Flow conservation
(v;u)∈E
(u,v)∈E Npk
K X X
kp ≤ buv , yuv
← Capacity constraint
k=1 p=1 kp yuv
=
dk xkp uv
kp θ X qQ Q=1
Q
k
Np X
kp qQ
=
p=1 θ XX
k zQ
Improvement N° 1: scale down network capacity ← Only 1 bucket configuration is feasible
= 1,
Q=1 k
k QzQ +
k∈K: Q=1 sk =u kp hkp uv ≤ xuv ,
Np XX X
hkp uv ≤ τu ,
← TCAM memory capacity constraint
k∈K: p=1 (u,v)∈E sk 6=u kp hkp uv ≤ qQ ,
kp xkp uv , huv ∈ {0, 1}, kp ∈ {0, . . . , Q}, qQ
Compute a set of paths for each demand I Relax integrality constraint I Linearize the MINLP and solve the corresponding LP problem I Round the solution of the LP solver in order to compute the feasible bucket profile However: I In the rounding phase some bandwidth can be moved from one path to another (due to the use of buckets) I When links are close to saturation, it may turn out that some demands are rejected. I Using the same amount of buckets for each demand is not the best choice.
← Bandwidth as multiple of buckets
, θ X
k QzQ ,
Solving the flow splitting problem
hkp uv ≥
kp yuv , dk
← Forwarding a flow consumes 1 bucket per demand
kp yuv ∈ R, k zQ ∈ {0, 1}
I Applied only in the LP resolution phase I Leave some space for the rounding to avoid exceeding link capacity Improvement N° 2: Use a bucket oracle
← Variable domain ← Variable domain
I Part of the TCAM is reserved to traversing flows I Larger amount of buckets for the rounding phase of larger demands
Flow splitting algorithm
Results
(a) Accepted bandwidth
(b) Cost of the solution
(c) Running time