Slides

DaVinci:
Dynamically Adaptive Virtual Networks
for a Customized Internet
Jennifer Rexford
Princeton 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
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
3
Running Multiple Virtual Networks
Substrate network
Virtual Network 1
Virtual Network 2
4
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?
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
DaVinci: a resource allocation scheme
derived using optimization theory
7
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
8
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
9
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
10
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
11
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 z
Split traffic over paths
Routers:
Set up multiple paths
Measure link load
Update link prices
Equations for link prices and path rates derived
using optimization decomposition.
Derived for delay-sensitive and throughput-sensitive traffic
Example: Throughput-sensitive Traffic
 Path rate z captures source rate and routing
max. ∑i Ui(∑j zji)
s.t. link load ≤ yl
var. path rates z
i source-destination pair, j path number
z11
z21
z31
14
Per Link: Adaptive Traffic Shaping
(1)
Congestion price sl
computation
Bandwidth shares
computation
link load
Performance
objective
yl(1)
yl(2)
yl(N)
Use optimization to determine the computations
15
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 update
 After both VNs converge
16
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
17
Changing Demand
Bandwidth allocated to DST
Abilene topology
DST traffic rate
DST: 100 Mbps
! 200 Mbps
! 50 Mbps
18
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
19
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?
20
For More Information
 Throughput-sensitive protocol
 http://www.cs.princeton.edu/~jrex/papers/c
onext07.pdf
 Delay-sensitive protocol
 http://www.cs.princeton.edu/~jrex/papers/c
omsnets09.pdf
 DaVinci
 http://www.cs.princeton.edu/~jrex/papers/
davinci.pdf
The End
Thank you!
22
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
23
Throughput-sensitive Traffic
 Path rate z captures source rate and routing
max. ∑i Ui(∑j zji)
s.t. link load ≤ yl
var. path rates z
i source-destination pair, j path number
z11
z21
z31
24
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
25
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
26
Sensitivity to Stepsize
Abilene topology
Constant stepsize should be chosen carefully
27