Title: DaVinci:
1DaVinci
- 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
2Serving 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
3Motivation for Separate Queues and Routing
- Two traffic classes
- Delay-sensitive traffic (DST) fixed demand
- Throughput-sensitive traffic (TST) elastic
- Single queue
- TST can fill up both links
- DST may not be satisfied
- Shared routing
- DST chooses shorter path
- Bandwidth wasted
5ms, 100 Mbps
2
1
10ms, 1000 Mbps
3
4Running Multiple Virtual Networks
Substrate network
Virtual Network 1
Virtual Network 2
Multiple virtual networks share substrate
node/link resources
5ISPs Problem
- How to allocate resources to maximize the
aggregate performance of multiple applications
with diverse requirements?
6How 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
7Desired 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
8Optimization 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
maximize U(x) ?i ui(xi) subject to Rx C
happiness of user i, a function of flow rate
routing matrix
link bandwidths
9The 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
10Primal 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
11DaVinci Framework
Each substrate link enforces isolation with
traffic shapers
Each virtual network runs customized traffic
management to optimize convex objective
Periodically reallocates bandwidth
Each virtual link calculates congestion price
Sources update rates
12Theorem (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
13Per Class Distributed Multipath Protocol
Routers Set up multiple paths Measure link
load Update link prices
Edge node Update path rates z Split traffic
over paths
Equations for link prices and path rates derived
using optimization decomposition.
Derived for delay-sensitive and
throughput-sensitive traffic
14Example 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
15Per Link Adaptive Traffic Shaping
sl(1)
Bandwidth shares computation
Congestion price computation
link load
Performance objective
yl(1)
yl(2)
yl(N)
15
Use optimization to determine the computations
16Performance 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
17Delay-Sensitive Traffic on Long Link
5ms, 100 Mbps
Allocated bandwidth
2
1
Optimal allocation
Traffic rate
10ms, 1000 Mbps
Demand 110 Mbps
DST does not use all the allocated bandwidth
18Changing Demand
Bandwidth allocated to DST
- Abilene topology
- DST 100 Mbps
- ! 200 Mbps
- ! 50 Mbps
DST traffic rate
18
DaVinci reacts quickly to changing demand and
topology
19Related 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
20Conclusion and Future Work
- Adaptive network virtualization is key for
supporting multiple traffic classes - The DaVinci architecture
- Derived from optimization theorystable,
efficient - Each VN runs customized protocols
- Resource allocation based on local link
information - Future directions
- What if a VNs utility function is not convex?
- Economic incentives for selfish VNs to cooperate?
21For More Information
- Throughput-sensitive protocol
- http//www.cs.princeton.edu/jrex/papers/conext07.
pdf - Delay-sensitive protocol
- http//www.cs.princeton.edu/jrex/papers/comsnets0
9.pdf - DaVinci
- http//www.cs.princeton.edu/jrex/papers/davinci.p
df
22The End
23Delay-sensitive Traffic Minimizes Delay
Links are indexed by l
Propagation delay
Cost f(ul)
min. ?lijHljizji(plf(ul)) s.t. ul (Hz)l/cl ?i
zji xiD var. z
ul 1
Link Utilization ul
Traffic demand
Cost function represents penalty for long queues
24Throughput-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
25Substrate 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
26The Master ProblemUpdating 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
vl(k)(t1) yl(k)(t) y w(k) ?l(k)
v
?k yl(k) cl
27Sensitivity to Stepsize
Abilene topology
27
Constant stepsize should be chosen carefully