Multipath Protocol for Delay-Sensitive Traffic Jennifer Rexford Princeton University

Download Report

Transcript Multipath Protocol for Delay-Sensitive Traffic Jennifer Rexford Princeton University

Multipath Protocol for
Delay-Sensitive Traffic
Jennifer Rexford
Princeton University
Joint work with Umar Javed, Martin Suchara, and Jiayue He
http://www.cs.princeton.edu/~jrex/papers/comsnets09.pdf
Clean-Slate Network Architecture
 Network architecture
 More than designing a single protocol
 Definition and placement of function
 Clean-slate design
 Without the constraints of today’s artifacts
 To have a stronger intellectual foundation
 And move beyond the incremental fixes
 But, how do we do clean-slate design?
Protocols as Distributed Optimizers
 Example: TCP congestion control
 Additive increase, multiplicative decrease
 Implicitly maximizes aggregate utility
 TCP variants have different utility functions
 Optimization for “forward” engineering
 Start with a central optimization problem
 Decompose to divide the computation
 … among the sources and the links
Research by Frank Kelly, Steven Low, Mung Chiang, and others
Our Focus: Delay-Sensitive Traffic
 Interactive applications
 Voice over IP (VoIP)
 Online gaming
 IP television
 Path-selection goals
 Paths with low propagation delay
 … as long as paths are not overloaded
For now, assume the network carries only delay-sensitive traffic
Strawman: Min Propagation Delay
Operator:
Sets weights to
propagation delay
3
2
1
4
3
2
2
2
Routers:
Link-state routing
But links may become congested, causing packet loss and delay…
Our Goal: Adaptive Load Balancing
 Division of functionality
 Links: feedback on network conditions
 Edge routers: balance load over paths
Distributed protocol that automatically minimizes delay
Multiple Paths With Flexible Splitting
 Multiple paths between edge nodes
 Paths with low propagation delay
 Flexible traffic-splitting ratio
 Traffic rate xi for src-dest pair i
 Traffic rate zij over path j
z1
x1 = z11 + z12 + z13
1
z21
z31
Objective: Minimize Average Delay
 Minimize average delay
 End-to-end delay on each path
 Weighted by the traffic on the path
 Delay for link l
 Propagation delay pl
 Congestion penalty f(load on link l)
ilink
i(p+
if()
Delay
l:i z
p
Summed:
Weighted:
∑for
∑
z
∑
R
R
f())
i j l lj lj l +
lj (p
l+
f())
Constraints
 Carry the offered load for each source
 ∑j zij = xi
 Avoid overloading each link
 ∑i ∑j zij Rilj ≤ cl
 Carry non-negative traffic on each path
i
0 ≤ z j
Optimization Decomposition
 Deriving source and link algorithms
 Prices: penalties for violating a constraint
 Path rates: updates driven by prices
 Example: TCP congestion control
 Link prices: packet loss or delay
 Source rates: AIMD based on prices
 Our problem is more complicated
 More complex objective, multiple paths
Example Decomposition: Link Capacity
 Capacity constraint
link load ≤ cl
 Subgradient feedback price update:
l l(t+1) = [ll(t) + stepsize*(link load – cl )]+
 Stepsize controls the granularity of reaction
 Link computes price l as feedback to sources
Source does similar update for “carry all offered load” constraint.
Path Rate Updates
 Each source i does a local optimization
 To update the path rates zij
 Based on
 The “prices” of violating constraints
 … and the objective function
 Closed-form expression
 With piecewise-linear queuing function f()
 See the paper for the exact equation
Derived by taking the Lagrangian and applying KKT conditions.
Distributed Multipath Protocol
Operator: Select function f
Tune step sizes
Edge node:
Update path rates z
Split traffic over paths
Routers:
Set up multiple paths
Measure link load
Update link prices
Theoretical Results
 Optimality and stability
 Provably optimal
 Provably converges for diminishing step sizes
 Practical limitations
 Must have well-chosen step sizes
 … to achieve fast convergence
 Matlab experiments to sweep parameters
 Good heuristics for setting (constant) step sizes
Converting to Packet-Level Protocol
 Packets rather than fluid
 Links compute load over a time interval
 Counting the sizes of the packets
 Feedback delay of round-trip time
 Multiple paths have different RTTs
 Path rate updates once per max of RTTs
 Implemented in ns-2 simulator
 For more realistic evaluation
Comparison With Shortest-Path Routing
 Shortest-path routing
 Link weights equal propagation delay
 Under low load
 The two protocols behave the same way
 Under higher load
 Our protocol gradually shifts traffic
 … to longer paths to avoid overload
 … while keeping end-to-end delay small
Convergence Under Dynamic Traffic
Multiple Classes of Traffic
 Satisfying multiple traffic classes
 Delay-sensitive: VoIP and gaming
 Throughput-sensitive: file transfers
 Running separate virtual networks
 Customized protocol for each traffic class
 Dynamic update to bandwidth shares
 Provably maximizes aggregate performance
 Derived using optimization theory
http://www.cs.princeton.edu/~jrex/papers/davinci.pdf
Conclusions
 Delay-sensitive applications
 VoIP, online gaming, IPTV…
 Customized routing protocol
 Load balancing over multiple paths
 Minimizing end-to-end delay
 Optimization decomposition
 Rigorous way to design new protocols
 With provable optimality and stability
 Ongoing work: network virtualization
Backup Slides
Protocol Dynamics
 Good heuristics for setting step size
 Converges quickly under range of settings
 Relatively fast convergence
 Small tens of seconds in worst case
 Better under more realistic settings
 Quick response to changes in load
 Fast adaptation to new traffic demands