slides
DESCRIPTION
TRANSCRIPT
DaVinci:
Dynamically Adaptive Virtual Networks for a Customized Internet
Jennifer RexfordPrinceton University
With Jiayue He, Rui Zhang-Shen, Ying Li, Cheng-Yen Lee, and Mung Chiang
Serving Diverse Applications
One network does not fit all Throughput-sensitive applications
Prefer high-bandwidth paths Keep queues occupied
Delay-sensitive applications Prefer low-propagation delay paths Keep queues small
An ISP can run multiple virtual networks Customized routing and congestion control Each VN maximizes its own notion of utility
2
Motivation for Separate Queues and Routing
Two traffic classes: Delay-sensitive traffic (DST): fixed demand Throughput-sensitive traffic (TST): elastic
3
21
Single queue TST can fill up both
links DST may not be
satisfied
Shared routing DST chooses shorter
path Bandwidth wasted
5ms, 100 Mbps
10ms, 1000 Mbps
4
Running Multiple Virtual Networks
Multiple virtual networks share substrate node/link resources
Substrate network
Virtual Network 1
Virtual Network 2
ISP’s Problem
How to allocate resources to maximize the aggregate performance of multiple applications with diverse requirements?
5
How to Allocate Bandwidth?
Static partitioning Simple, but can be inefficient One virtual network could be congested
while another is idle
Dynamic partitioning based on demand
Can be unstable
Customization may result in worse performance
6
Desired Properties of the Solution
System is stable Aggregate utility of all VNs is maximized Each VN independently runs distributed
protocols to maximize its utility The substrate links use simple local rules
to adapt bandwidth allocation
7
DaVinci: a resource allocation scheme derived using optimization theory
Optimization Decomposition
Many network problems can be formulated as utility maximization problems E.g., TCP:
Optimization decomposition: technique for deriving a distributed protocol Links calculate prices s (penalty for violating
bandwidth constraint): packet loss or delay Sources update rates x given prices: AIMD
8
maximize U(x) = ∑i
ui(xi)subject to Rx ≤ C
happiness of user i, a function of flow rate
routing matrix
link bandwidths
The Master Optimization Problem: Maximizing aggregate utility
Objective: maximize weighted sum of utilities E.g., w1U1(x1,y1) + w2U2(x2,y2) The weights reflect tradeoff between the
VNs
Constraint: allocated bandwidth to the VNs cannot exceed link bandwidth E.g., yl
1 + yl2 · Cl , for all l
9
1
3
2
Primal Decomposition
10
maximize w1U1(x1,y1) + w2U2(x2,y2) subject to y1 + y2 · Cvariables x, y ¸ 0
maximizeU1(x1,y1)subject toR1x1 · y1
variables x1 ¸ 0
maximizeU2(x2,y2)subject toR2x2 · y2
variables x2 ¸ 0Bandwidth C reallocated between y1 and y2
periodically based on congestion prices of VNs
DaVinci Framework
11
Each virtual network runs customized traffic management to optimize convex objectiveEach virtual link calculates congestion price
Each substrate linkenforces isolationwith traffic shapers
Sources update rates
Periodically reallocates bandwidth
Theorem (Stability and Optimality)
Bandwidth allocation algorithm together with per virtual network problem maximizes aggregate performance if
The master problem is convex Bandwidth adjustment stepsize
diminishes The bandwidth shares are updated when
each VN has converge
Proof technique: primal decomposition and gradient update
Per Class: Distributed Multipath Protocol
Edge node: Update path rates zSplit traffic over paths
Routers: Set up multiple pathsMeasure link loadUpdate link prices
Equations for link prices and path rates derived using optimization decomposition.
Derived for delay-sensitive and throughput-sensitive traffic
14
i source-destination pair, j path number
Example: Throughput-sensitive Traffic
max.∑i Ui(∑j zji)
s.t. link load ≤ yl
var. path rates zz1
1
z21
z31
Path rate z captures source rate and routing
Per Link: Adaptive Traffic Shaping
15
Bandwidth shares
computationlink load
yl(1)
yl(2)
yl(N)
Congestion price
computation
sl(1)
Use optimization to determine the computations
Performance
objective
Performance Evaluation
16
Two traffic classes: Delay-sensitive traffic (DST):
Fixed demand Minimize average delay
Throughput-sensitive traffic (TST): Elastic Maximize user aggregate utility without
causing congestion
Bandwidth allocation update After both VNs converge
17
Delay-Sensitive Traffic on Long Link
DST does not use all the allocated bandwidth
21
5ms, 100 Mbps
10ms, 1000 Mbps
Demand = 110 Mbps
Allocated bandwidth
Traffic rate
Optimal allocation
18
Changing Demand
Abilene topology
DST: 100 Mbps ! 200 Mbps ! 50 Mbps
DaVinci reacts quickly to changing demand and topology
Bandwidth allocated to DST
DST traffic rate
Related Work
QoS (Intserv, DiffServ, etc.) Provides separate resources for each traffic class DaVinci provides separate protocols and dynamic
resource allocation
Overlays Provide customized protocols for each traffic class Lack visibility and control of network conditions DaVinci provides dedicated resources
Network virtualization (VPN, VINI, etc.) Uses static resource allocation, adjusted manually DaVinci adjusts resource allocation according to
demand
19
20
Adaptive network virtualization is key for supporting multiple traffic classes
The DaVinci architecture Derived from optimization theory—stable, efficient Each VN runs customized protocols Resource allocation based on local link information
Future directions What if a VN’s utility function is not convex? Economic incentives for selfish VNs to cooperate?
Conclusion and Future Work
For More Information
Throughput-sensitive protocol http://www.cs.princeton.edu/~jrex/paper
s/conext07.pdf
Delay-sensitive protocol http://www.cs.princeton.edu/~jrex/paper
s/comsnets09.pdf
DaVinci http://
www.cs.princeton.edu/~jrex/papers/davinci.pdf
The End
Thank you!
22
Delay-sensitive Traffic Minimizes Delay
23
min.∑lijHljizj
i(pl+f(ul))s.t. ul =(Hz)l/cl
∑i zji ≥ xi
D
var. zLink Utilization ul
Costf(ul)
Propagation delayLinks are indexed by l
ul =1
Cost function represents penalty for long queues
Traffic demand
24
i source-destination pair, j path number
Throughput-sensitive Traffic
max.∑i Ui(∑j zji)
s.t. link load ≤ yl
var. path rates zz1
1
z21
z31
Path rate z captures source rate and routing
Substrate link updates bandwidth allocation
Calculates the marginal utility of each VN Based on congestion price and utility
function
Increase bandwidth allocation to each VN proportional to weight, marginal utility, and stepsize
Project onto feasible region
25
Feasible allocations
v
The Master Problem:Updating bandwidth allocation for link l
Calculates λl(k), the marginal utility
gain for more bandwidth Based on sl
(k) and utility function U(k)()
Increase bandwidth allocation
Projection onto feasible region:
26
vl(k)(t+1) = [yl
(k)(t) + ®y w(k)
λl(k)]+
∑k yl(k)
≤ cl
v
27
Sensitivity to Stepsize
Abilene topology
Constant stepsize should be chosen carefully