optimal network flow allocation - stanford...
TRANSCRIPT
-
Optimal NetworkFlow Allocation
EE 384YAlmir Mutapcic and Primoz Skraba27/05/2004
-
Problem StatementOptimal network flow allocation
Find flow allocation which minimizes certain performance criterion
Lowest average delay through the networkMinimize maximum link utilizationFair bandwidth allocation and QoS agreements
Trade-off between optimality and simplicityDevise practical schemes with low computational complexity and guaranteed performance bounds
-
Motivation
Internet backbone and PoPs are over-engineeredOvercome link failuresUnderutilized (multiple routes exist)
Current ProtocolsTypically find shortest path(s)Do not directly minimize delay through PoPs
-
BackgroundIS-IS & OSPF
Link-state routing protocolsLimited load balancingManually tuned to a few routes (traffic engineering)
MPLSRe-labels packets in the internal network
Previous workResource Allocation (minimize max link utilization)Routing Heuristics
-
Informal FormulationOptimal network flow allocation
Decide how to distribute packets from a particular flow across the network links (x variables)Satisfy conservation laws
Definition of a flowAggregate flow to each destination (sink) nodeEvery other node can be a source to the sink nodeSource-sink vector
-
Mathematical Formulation
Convex cost function for each link iTotal link i traffic (x is flow’s traffic)Node-link incidence matrix – A Link capacity vector – C
-
Piece-wise Linear ApproximationGoal: Convert problem into LP
Approximate convex function by K (PWL) segmentsEpigraph minimization (p variables)
-
Cost Function
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.90
1
2
3
4
5
6
7
8
9
10
Minimize delay over all links
Delay for one linkM/M/1 queue delay
A convex functionProblem
Complex algorithms Slow convergence
-
PWL ApproximationHow to approximate?
UniformMSEMin-Max
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.90
1
2
3
4
5
6
7
8
Uniform s plit
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.90
1
2
3
4
5
6
7
8
9
10Min-Max s plit
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.90
1
2
3
4
5
6
7
8
9
10MS E s plit
-
PWL Optimization AlgorithmCentralized “one-shot” algorithm (K > 100)
Computational intensiveVery accurate results for underutilized networks
Centralized iterative algorithm (K < 10)Solve LP for the given K (start)Identify link segment k = 1,…,K* that contains traffic flowSplit marked link segment into K more segmentsUpdate LP constraints (slopes and intercepts)Repeat until stopping criteria satisfied
-
Algorithm SimulationExperimental Setup
MATLAB linprog()Sprint IP backbone network topologyTraffic matrix
Uniform trafficSparsity pattern
-
ResultsUniform traffic, unit capacities, (K = 2, 3, 5)
1 2 3 4 5 6 7 860
62
64
66
68
70
72
74objective value
1 2 3 4 5 6 7 810
-2
10-1
100
101
102
optimality gap
-
Results
1 2 3 4 5 6 7 80
50
100
150
200
250total cumulative iterations
Iterations (how many?)Stopping criteria
Feasability10E-6
ConvergenceAlways findsfeasible solution(if one exists)
-
More Results
1 2 3 4 5 6 7 810-4
10-3
10-2
10-1
100optimality gap
Gaussian traffic withsparsity pattern, unit C
1 2 3 4 5 6 7 828.7
28.8
28.9
29
29.1
29.2
29.3
29.4
29.5
29.6objective value
1 2 3 4 5 6 7 80
20
40
60
80
100
120
140
160
180
200total cumulative iterations
-
Even More Results
1 2 3 4 5 6 710
-1
100
101
102
optimality gap
Heavy Gaussian traffic with sparsity, random C
1 2 3 4 5 6 760
65
70
75
80
85objective value
1 2 3 4 5 6 70
20
40
60
80
100
120
140
160
180
200total cumulative iterations
-
Traffic Distribution
-3 -2 -1 0 1 2 3-3
-2
-1
0
1
2
3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Total flow allocation
-
Computational ComplexityLP interior-point algorithms
number of arithmetic operationsnumber of iterations
M is number of variables + inequality constraintsFor our problem:
M = LF + LK + LFor i iterations = iL(K+F+i/2+3/2)
-
Storage ComplexityMemory storage requirements
F – FlowsL – LinksN – NodesK – number of segments
(KLFN + N + KLF)α ≈ KLF(N + 1)αith iteration: (K + i)LF(N + 1)α
-
Distributed algorithmCentralized implementationEasily distributed (especially PWL approximation)Dual methods
Subgradient ascentLagrangian relaxation
Path augmentation approach
-
Protocol ImplementationRouting protocols
MPLS-like labelingAt most M flowsM – Number of edge routers or PoPsDEST determines pi
DEST IP PACKETp1
p2
p3
-
Edge RoutersFull look-up
DEST – ID of edge router where packet leaves PoPIdentifies flows within PoP
Congestion ControlAll congestion control can be done at the edgesDetect when traffic not admissible – not feasible
Drop packets at edgeEstimate flows – recalculation at substantial changeShould not occur often – large aggregation of flows
-
ConclusionMost links underutilized (IP backbone)But still cannot guarantee performance (e.g. delay)Optimal network flow allocation could helpWe suggest a practical algorithm
Converges to near optimal solutionsFew iterationsStandard LPCan make it distributed
Special thanks to Yashar Ganjali for all his help!!
-
Questions?
-
PWL Approximation (1)Convert PWL problem into LP
Optimal Network Flow AllocationProblem StatementMotivationBackgroundInformal FormulationMathematical FormulationPiece-wise Linear ApproximationCost FunctionPWL ApproximationPWL Optimization AlgorithmAlgorithm SimulationResultsResultsMore ResultsEven More ResultsTraffic DistributionComputational ComplexityStorage ComplexityDistributed algorithmProtocol ImplementationEdge RoutersConclusionPWL Approximation (1)