510 likes | 672 Views
Flow Control KAIST CS644 Advanced Topics in Networking. Jeonghoon Mo <jhmo@icu.ac.kr> School of Engineering Information and Communications University. Acknowledgements. Part of slides is from tutorial of R. Gibbens and P. Key at SIGCOMM 2000 S. Low’s OFC presentation. Overview. Problem
E N D
Flow Control KAIST CS644Advanced Topics in Networking Jeonghoon Mo <jhmo@icu.ac.kr> School of Engineering Information and Communications University
Acknowledgements • Part of slides is from • tutorial of R. Gibbens and P. Key at SIGCOMM 2000 • S. Low’s OFC presentation
Overview • Problem • Objectives • Kelly’s Framework - Wired Data Networks • Extensions • Quality of Service • Wireless Network • High Speed Network: Aggregated Flow Control
Problem Flows share links: How to share the links bandwidth?
Problem • How to control the network to share the bandwidth efficiently and fairly?
Link Model • Set of resources, J; set of routes, R • A route r is a subset r J. • Let • Capacity of resource j is Cj. A’x c x 0
A Few System Objectives • Max Throughput • Max-min Fairness (Most Common) • Proportional Fairness (Kelly) • -Fairness (Mo, Walrand)
Maximize: x(1) + x(2) + x(3) x*= (0,6,6) maximizes the total system throughput. However, user 1 does not get anything. => unfair 6 6 x1 x3 x2 Max System Throughput • Two links with capacity 6 • Three users: 1,2,3 • x(i) : bandwidth to user i • x(1)+x(2) <= 6 • x(1)+x(3) <= 6
Most commonly used definition of fairness. Maximize Minimum of the x(i), recursively. x*= (3,3,3) is the max-min allocation. However, user 1 uses more resources. 6 6 x1 x3 x2 Max-Min Fairness
6 6 x1 x3 x2 Proportional Fairness • Proposed by Frank Kelly • Social Welfare: Sum of Utilities of Users • Maximize the Social Welfare • x*= (2,4,4) is the Proportional Fair Allocation. • Can be generalized into “Utility Fairness”.
x(1-) 1- Max i pi -Fairness • Generalized Fairness Definition • System Objective: • includes proportional-fair, max-min-fair, max throughput • = 0 : Maximum allocation (p=1) • 1 : Proportional fair allocation • = 2 : TCP-fair allocation • : Max-min fair allocation (p=1)
-Fairness • Trade-off between Fairness and Efficiency • Bigger favors Fairness • Smaller favors Efficiency (source: Is Fair Allocation Inefficient, INFOCOM 04)
Fairness and Efficiency (Infocom 04) • Counter-Example
Algorithms How to achieve those system objectives?
Players • source • controls its rate or window based on (implicit or explicit) network feedback • router (link) • Generate (implicit) feedback or controls packets
Source Algorithm • TCP Vegas, RENO, ECN • XCP
Active Queue Management (AQM) • Priority Queue • WFQ • RED • REM • XCP Router
User: rate and utility • Each route has a user: if xr is the rate on route r, then the utility to user r is Ur(xr). • Ur() --- increasing, strictly concave, continuously differentiable on xr [0 , ) --- elastic traffic • Let C=(Cj, j J), x=(xr, r R) then Ax C.
System problem • Maximize aggregate utility, subject to capacity constraints
User problem • User r chooses an amount to pay per unit time wr, and receives in return a flow xr = wr/r
Network problem • As if the network maximizes a logarithmic utility function, but with constants (wr, rR) chosen by the users
Three optimization problems • SYSTEM(U,A,C) • USERr(Ur;r) • NETWORK(A,C;w)
Decomposition theorem • There exist vectors , w and x such that • wr = rxr for r R • wr solves USERr(Ur; r) • x solves NETWORK(A, C; w) The vector x then also solves SYSTEM(U, A, C).
Thus the system problem may be solved by solving simultaneously the network and user problems
Result • A vector x solves NETWORK(A, C; w) if and only if it is proportionally fair per unit charge
Solution of network problem • Strategy: design algorithms to implement proportional fairness • Several algorithms possible: try to mimic design choices made in existing standards
Interpretation of primal algorithm • Resource j generates feedback signals at rate j(t) • signals sent to each user r whose route passes through resource j • multiplicative decrease in flow xr at rate proportional to stream of feedback signals received • linear increase in flow xr at rate proportional to wr
Related Work • Optimization Flow Control (S. Low) • Window based Model (Mo, Walrand)
Optimization Flow Control • Distributed algorithm to share network resources • Link algorithm: what to feed back • RED • Source algorithm: how to react • TCP Tahoe, TCP Reno, TCP Vegas Source alg Link alg
Welfare maximization Primal problem: • Capacity can be less than real link capacity • Primal problem hard to solve & does not adapt
x1 c1 c2 x2 x3 Model • Network: Links l each of capacity cl • Sources s:(L(s), Us(xs), ms, Ms) L(s) - links used by source s Us(xs) - utility if source rate = xs
Distributed Solution Dual problem: BW price along path of s • Given sources can max own benefit individually • indeed primal optimal if is dual optimal • Solve dual problem!
Distributed Solution (cont…) • Dual problem: • Grad projection alg: • Update rule: • A distributed computation system to solve the dual problem by gradient projection algorithm
Source Algorithm Decentralized: Source s needs only and
Router (Link) Algorithm • Decentralized • Rule of supply and demand • Any work-conserving service discipline • Simple aggregate source rate
Random Exponential Marking (REM) • Source algorithm • Identical but does not communicate source rate • Link algorithm • At update time t, sets price to a fraction of buffer occupancy: • Theorem: Synchronous convergence • Under same conditions (with possibly smaller ) : • Price update maintains descent direction • Gradient estimate converge to true gradient • Limit point is primal-dual optimal
RED • Idea: early warning of congestion • Algorithm Link: Source (Reno): marking window 1 queue time B
rate fraction of marks 1 RED • Idea: marks for estimation of shadow price • Algorithm Link Source Global behavior of network of REM: stochastic gradient algorithm to solve dual problem marking 1 queue Q
d1 q11 q21 w1 x1 c2 c1 x3 x2 q23 q12 d2 d3 A’x c Q(c - A’x) = 0 w = X(d + qA) Window-based Model [Mo,Walrand] Q = diag{qi }; X = diag{xi }. xi 0, i = 1, 2, 3 qi 0, i = 1, 2, x1+x2 c1 q1(c1 - x1 - x2) = 0 w1=x1d1 + x1 q1 + x1 q2
Window-based Algorithm Theorem:[Mowlr98] Let dwi si := wi - xi di - pi di si = - k ti := end-to-end delay dt ti wi Then x(t) -> unique weighted -fair point x* Proof: 2 The function (si /wi ) i is a Lyapunov function
Extensions • Aggregated Flow Control • Quality of Service • Wireless Network • Maxnet and Sumnet
Aggregate Flow Control • Motivations: • High Capacity of Optical Fiber • Idea: • player are core routers and access routers. • access router: regulates the rate of aggregated flow • core router: provide feedbacks to access routers
Quality of Service • Only bandwidth is modeled. • QoS is affected by • loss and delay also • How to incorporate other parameters?
Considered sigmoidal utility function Non-convex optimization problem =>duality gap Non-Convex Utility Function (Lee04) (source: J. Lee et. al. Non-convexity Issues, INFOCOM 04)
Non-Convex Utility Functions Dual Algorithm with Self-Regulating Property Without Self-Regulation With Self-Regulation (source: J. Lee et. al. Non-convexity Issues, INFOCOM 04)
Wireless Ad-Hoc Network [RAD04] • Physical Model:Rate r is an increasing function of SINR. • MAC : Each time slot determines power pn,which determines rate xn • Routing matrix R and flow to path matrix F are given.
Random Topology Results 100m x100m grid 12 random node, with 6 pairs of transmissions
In the wireless Ad-hoc Networks • The max-min fair rate allocation of any network has all rates equal to the worst node. • The capacity maximization objective leads to starving users. • Proportional Fair Allocation give reasonable trade-off between fairness and efficiency. • The worst node does not starve.