DaVinci: Dynamically Adaptive Virtual Networks for a Customized Internet Jennifer Rexford Princeton...

Post on 27-Dec-2015

213 views 0 download

Tags:

Transcript of DaVinci: Dynamically Adaptive Virtual Networks for a Customized Internet Jennifer Rexford Princeton...

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