Global Optimization for Hash-based Splitting - Google Sites

1 downloads 142 Views 899KB Size Report
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