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
© Copyright 2026 Paperzz