210 likes | 391 Views
Dynamic Edge Provisioning for DiffServ Internet. Raymond R.-F. Liao and Andrew T. Campbell Dept. of Electrical Engineering Columbia University. IWQOS 2000,Pittsburgh, June 5-7, 2000, Raymond R.-F. Liao, http://www.comet.columbia.edu/~liao. introduction.
E N D
Dynamic Edge Provisioning for DiffServ Internet Raymond R.-F. Liao and Andrew T. Campbell Dept. of Electrical Engineering Columbia University IWQOS 2000,Pittsburgh, June 5-7, 2000, Raymond R.-F. Liao, http://www.comet.columbia.edu/~liao
introduction • static provisioning for DiffServ traffic aggregates is hard • coarse control granularity because of DiffServ aggregates • ad hoc policy rules, lack of quantitative formulation • time scale of updating service profile >> time scale of aggregate traffic dynamics
approach: dynamic provisioning • alternative approach: dynamic Service Level Specification and provisioning • more control for service differentiation • faster response to network failures or large changes in traffic pattern • macro-control • inter-operate with, not to replace flow control and scheduling algorithms • time scale >= O(minute), the time scale when traffic aggregates show quasi-stationary behavior
architecture Bandwidth Broker Core Traffic Load Matrix Regulate_Edge Sink_Tree_Update Link_State_Update U(x)-CBQ Traffic Conditioner U(x)-CBQ Traffic Conditioner U(x)-based Capacity Dimensioning Core Router Core Router Ingress Router Egress Router Core Network U(x)-CBQ Traffic Conditioner Egress Sink Tree Physical Link Ingress Router
main methodology • bandwidth utility function ==> API for dynamic Service Level Specification • utility function + CBQ ==> dynamic ingress link sharing • utility function + core network traffic matrix ==> dynamic egress dimensioning
outline • introduction • per-service utility function formulation • utility based ingress traffic conditioner • utility based egress dimensioning
bandwidth utility function • API for adaptive policy rules • negotiated between service provider and customer, or between peering/transit providers • currently based on objective valuation function, leave pricing for future augment • formulation based on application classes • aggregate TCP • large aggregate of small multimedia app • individual big multimedia app • control buttons for service differentiation • parameters: bmax, bmin and umax • aggregation operations: welfare-max or utility-fair
utility function: aggregate TCP • loss in utility: loss in goodput due to packet loss • u(x) = 1 - bmin2 / x2 • bmin: proportional to the avg. number of active flows, inversely proportional to the per-class RTT
utility function: multimedia app. • large aggregate of small multimedia app. • linear utility function • individual big multimedia app. • online SNR measurement of rate-distortion function
utility-based allocation • welfare maximum • pro: economics meaning, maximize total utility • con: complexity, NP-hard in general utility aggregation loses states, not scaleable • fast implementation: improved from Q-RAM Khun-Tucker condition reduces search space u1(x) u2(x) welfare-maximum aggregation u2(x) u2(x)
utility-based allocation (cont.) • proportional utility-fair • pro: fairness, simple closed-form solution, scaleable • con: lack of economics sense • remedy: leverage parameters: bmax and bmin for differentiated fairness • a combination of the two • welfare maximum allocation for traffic within a customer’s single service class • proportional utility fair allocation across multiple customers with the same service plan
outline • introduction • per-service utility function formulation • utility based ingress traffic conditioner • utility based egress dimensioning
ingress dynamic link sharing • bandwidth utility function + class based queueing (CBQ) • CBQ provides low-level link sharing mechanism • utility function assigns the sharing weights to each class
u(x)+CBQ scheme example • proportional • utility fair • welfare • maximum Agg_ TCP1 w1 per-user BW allocation proportional utility fair allocation, aggregated u(x) Agg_ TCP2 w2 w3 per-class BW allocation Per-user BW r1 C A C Agg_ Rigid w4 . . . Per-class BW Traffic Conditioner . . . Large_Video 1 w5 rn Large_Video 2 Per-user BW
outline • introduction • per-service utility function formulation • utility based ingress traffic conditioner • utility based egress dimensioning
egress BW dimensioning • target the problems of • edge BW dimensioning • SLS between peering/transit providers • egress utility function • coordinated dimensioning core network traffic matrix
model • core traffic matrix: c = A u • c = [cegress | ccore]T: link effective capacity • A = [Aegress | Acore ]T : traffic load matrix, egress vs. core row partition • u : per-class traffic aggregate • control u such that Au <= c and some performance criteria are met • egress utility function: • aggregate ingress utility function along a sink-tree • useful for market-based peering renegotiation
dynamic programming formulation • use sink-tree to formulate egress utility function • calculate ingress bandwidth without egress link capacity constraint • calculate ideal egress capacity • renegotiate cegress with peers and coordinate the results • renegotiate cegress ==> a provisioning problem at upper hierarchy -- among service providers
conclusion • dynamic provisioning architecture • formal specification and analysis of utility function • u(x)+CBQ traffic conditioner • egress u(x) for dimensioning and recursive specification of SLS