Upload
others
View
23
Download
0
Embed Size (px)
Citation preview
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)