Slide - Cs.princeton.edu

DaVinci:
Dynamically Adaptive Virtual Networks
for a Customized Internet
Jiayue He, Rui Zhang-Shen, Ying Li,
Cheng-Yen Lee, Jennifer Rexford, and Mung Chiang
Princeton University
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
Running Multiple Virtual Networks
Substrate network
Virtual Network 1
Virtual Network 2
3
Multiple virtual networks share substrate node/link resources
ISP’s Problem
How to allocate resources to maximize
the aggregate performance of multiple
applications with diverse requirements?
4
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
5
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
DaVinci: a resource allocation scheme
derived using optimization theory
6
Optimization Decomposition
 Many network problems can be formulated
as utility maximization problems
 E.g., TCP: maximize U(x) = ∑i ui(xi)
subject to Rx ≤ C
 Optimization decomposition: technique for
derivingrouting
a distributed
happiness of user i, a
matrix protocol
 Links calculate prices s (penalty
for violating
function
of flow rate
bandwidth constraint): packet loss or delay
link bandwidths
 Sources update rates x given prices: AIMD
7
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., yl1 + yl2 · Cl , for all l
3
1
2
8
Primal Decomposition
maximize w1U1(x1,y1) + w2U2(x2,y2)
subject to y1 + y2 · C
variables x, y ¸ 0
maximize U1(x1,y1)
subject to R1x1 · y1
variables x1 ¸ 0
maximize U2(x2,y2)
subject to R2x2 · y2
variables x2 ¸ 0
Bandwidth C reallocated between y1 and y2
periodically based on congestion prices of VNs
9
DaVinci Framework
Each virtual network runs
customized traffic management
to optimize convex objective
Each substrate link
enforces isolation
with traffic shapers
Each virtual link
calculates congestion price
Periodically
reallocates
bandwidth
Sources update rates
10
Theorem (Stability and Optimality)
The 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 converged
Proof technique: primal decomposition and
gradient update
Performance Evaluation
 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 updated after both
VNs converge
12
Delay-Sensitive Traffic on Long Link
5ms, 100 Mbps
1
2
Allocated bandwidth
Optimal allocation
Traffic rate
10ms, 1000 Mbps
Demand = 110 Mbps
DST does not use all the allocated bandwidth
13
Changing Demand
Bandwidth allocated to DST
Abilene topology
DST traffic rate
DST: 100 Mbps
! 200 Mbps
! 50 Mbps
14
DaVinci reacts quickly to changing demand and topology
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
15
Conclusion and Future Work
 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?
16
The End
Thank you!
17
Motivation for Separate Queues and Routing
 Two traffic classes:
 Delay-sensitive traffic (DST): fixed demand
 Throughput-sensitive traffic (TST): elastic
5ms, 100 Mbps
1
2
 Single queue
 TST can fill up both links
 DST may not be satisfied
 Shared routing
10ms, 1000 Mbps
 DST chooses shorter path
 Bandwidth wasted
18
Motivation for Resource Isolation
Flow A given extra bandwidth
Network A congested
Flow B
Flow A
Bandwidth taken from Network B
19
DaVinci: Substrate Link
(1)
Congestion price sl
computation
Bandwidth shares
computation
link load
Performance
objective
yl(1)
yl(2)
yl(N)
Use optimization to determine the computations
20
Delay-sensitive Traffic Minimizes Delay
Links are indexed by l
Cost
f(ul)
ul =1
Link Utilization ul
Propagation delay
min.∑lijHljizji(pl+f(ul))
s.t. ul =(Hz)l/cl
∑i zji ≥ xiD
var. z
Traffic demand
Cost function represents penalty for long queues
21
Throughput-sensitive Traffic
 Path rate z captures source rate and routing
max. ∑i Ui(∑j zji) – q∑l h(ul)
s.t. link load ≤ cl
var. path rates z
i source-destination pair, j path number
z11
z21
z31
22
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
v
Feasible
allocations
23
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
vl(k)(t+1) = [yl(k)(t) + ®y w(k) λl(k)]+
 Projection onto feasible region:
v
∑k yl(k) ≤ cl
24
Sensitivity to Stepsize
Abilene topology
Constant stepsize should be chosen carefully
25