530 likes | 649 Views
Model of TCP/AQM & Market Mechanism for Resource Allocation. TCP. TCP. Receiver. Receiver. Internet. Inbound Link. Router. Outbound Link. TCP. TCP. Receiver. Receiver. Internet. Active Queue Management (AQM). Queue. Inbound Link. Router. Outbound Link. Problems.
E N D
Model of TCP/AQM & Market Mechanism for Resource Allocation Resource Allocation
TCP TCP Receiver Receiver Internet Inbound Link Router Outbound Link Resource Allocation
TCP TCP Receiver Receiver Internet Active Queue Management (AQM) Queue Inbound Link Router Outbound Link Resource Allocation
Problems • How do multiple users share the network? • Are the system resources used efficiently? • Are the current TCP/AQM good enough? • Do all users get a fair amount of bandwidth? Resource Allocation
Outline • Part 1 –Resource Allocation • Modeling the optimization problem of network • Solutions to the relaxations of the problem • Part 2–Duality Model • Different approach to solve the optimization problem • Part 3– TCP/AQM • A model to analyze TCP/AQM • Deriving TCP/AQM algorithms • Part 4– Fairness • Max-Min and Proportional Resource Allocation
Network Utility Maximization (NUM) • Maximum sum of the utilization of each user subject to the rates on each link is less than its capacity • U be unknown by network • User point of view and network point of view of NUM Resource Allocation
NUM (cont.) • xr : user r’s transfer rate • Ur(xr) : utilization of the user as function of user’s rate • Utility is additive, so utility of all users is the sum of the utility of each r • Cj: capacity of resource (router) j • A: routing matrix • Ajr = 1 if resource j is on route r • Ajr = 0 otherwise Resource Allocation
USER view of NUM Utility Maximization for user r is USERr(Ur;λr) : max utility of route r minus price per unit time on route r User place a “bid” wr with “price per flow”λr “Goods” xr = bid /price per unit flow = wr / λr “bid” and “goods” are measured per unit time Resource Allocation
Nets view of NUM • Net knows bid (vector w) for each r • Network’s max problem NETWORK (A,C,w) is • Maximize sum over all routes of each route’s “bid” multiplied by the “log of flow” • As if network max logarithmic utility function, but with bids (wr, rR) chosen by users Resource Allocation
Decomposition • There exist vectors , w and x such that • wr = rxr for r R • wr solves USERr (Ur; r) • x solves NETWORK (A, C; w) • By decomposing the SYS into USER and NET, we solve SYS. Resource Allocation
Solving NETWORK (A,C,w) • Lagrangian problem for network where µ is a vector of shadow prices • derivative of L: • Set derivative to 0 to find optimal solution Resource Allocation
Solving NETWORK (A,C,w) cont… • optimal flow is price per time divided by the sum of the “shadow prices” on each resource (router) j on that route r Resource Allocation
Primal Algorithm Rates vary gradually plus be decentralized pj(x) is price charged by resource j per unit flow through it when the flow is x Resource Allocation
Primal Algorithm (cont.) • Resource j generates feedback price j(t) • Price j sent to each user r whose route passes through resource j • Multiplicative decrease in xr at rate proportional to stream of feedback price received • Linear increase in xr at rate proportional to wr • By adjusting xr(t), net tries to equalize cost of flow with its target value wr Resource Allocation
Primal Algorithm (cont.) solves the maximization of • x* that maximizes V(x) is the unique and stable equilibrium of the primal algorithm • Interpretation of V(x)? How close x* is to the real solution of NETWORK (A,C,w) ? Resource Allocation
Dual of NETWORK (A,C,w) • Primal : • Dual: Resource Allocation
Dual Algorithm shadow prices vary gradually and rates be functions of shadow prices xr(t) is the rate according to price per unit flow (demand) Prices adjust according to supply and demand qj(µ) is the flow through resource j which generates µ (supply) Resource Allocation
User Adaptation • Primal and Dual algorithms assume that wr chosen are fixed variables • wr can be varied in the algorithms • User r can monitor xr(t) and vary wr(t) in order to optimize USER problem Resource Allocation
Outline • Part 1 –Resource Allocation • Modeling the optimization problem of network • Solution to the relaxations of the problem • Part 2–Duality Model (covered already) • Different approach to solve the optimization problem • Part 3– TCP/AQM • A model to analyze TCP/AQM • Deriving TCP/AQM algorithms • Part 4– Fairness • Max-Min and Proportional Resource Allocation
Outline • Part 1 –Resource Allocation • Modeling the optimization problem of network • Solution to the relaxations of the problem • Part 2–Duality Model • Different approach to solve the optimization problem • Part 3– TCP/AQM • A primal-dual model to analyze TCP/AQM • Deriving TCP/AQM algorithms • Part 4– Fairness • Max-Min and Proportional Resource Allocation
TCP & AQM pl(t) xi(t) A link algorithm Update congestion measure and send it back to the sources Carried out by AQM A source algorithm: Adjust sending rate based on congestion Implemented in TCP Resource Allocation
Primal-Dual Model Each source s updates rate Each link l updates congestion measure Resource Allocation
Primal-Dual and TCP/AQM • Primal and Dual • Distributed solution - Distributed primal dual algorithm to solve the problem • TCP/AQM Reno, Vegas - TCP iterates on rates (windows) - F - AQM iterates on congestion measures – G,H - With different utility functions DropTail, RED, REM Resource Allocation
F, G, H in primal-dual model • Derivation • Derive (F, G, H) from protocol • Derive U, which the protocol implicitly optimizes • Performance • equilibrium • throughput, loss, queue length, delay • fairness • friendliness Resource Allocation
Reno, Vegas Active Queue Management (AQM) • Idea: provide congestion information by probabilistically dropping or marking packets DropTail, RED, REM • RED: Random Early Detection • REM: Random Exponential Marking Resource Allocation
Max thresh Min thresh Average Queue Length marking 1 Avg queue Random Early Detection (RED) H: G: Resource Allocation
Random Exponential Marking (REM) • Price adjusted to match rate and clear buffer • Marking probability exponential in `price’ H: REM G: Resource Allocation
DropTail, RED, REM Transmission Control Protocol (TCP) • Idea: adjust source rate (window size) based on the congestion indication Reno, Vegas • Reno • Vegas Resource Allocation
window time CA SS SS: Slow Start CA: Congestion Avoidance TCP Reno for every ack { W = w + 1/W } for every loss { W := W/2 } Resource Allocation
TCP Reno for every ack { W = w + 1/W } for every loss { W := W/2 } Resource Allocation
TCP Reno for every ack { W = w + 1/W } for every loss { W := W/2 } Resource Allocation
F: TCP Vegas for every RTT { if W/RTTmin – W/RTT < a then W++ if W/RTTmin – W/RTT > a then W-- } window time CA SS Resource Allocation
Utility function • Definition • How to derive? Resource Allocation
Reno Utility function • Reno - F • At equilibrium • Utility function Resource Allocation
F: Vegas Utility function • Vegas - F • At equilibrium • Utility function Resource Allocation
Reno-RED G: H: Resource Allocation
Reno/RED equilibrium properties • Single link with capacity c shared by Reno users with RTT Ds • Rates • Marking Probability • Queue length Resource Allocation
Summary • Duality model interprets protocols as distributed primal-dual algorithms over internet • Reverse engineering: start with a given protocol • Equilibrium properties - throughput, delay, loss, fairness Resource Allocation
Outline • Part 1 –Resource Allocation • Modeling the optimization problem of network • Solution to the relaxations of the problem • Part 2–Duality Model • Different approach to solve the optimization problem • Part 3– TCP/AQM • A model to analyze TCP/AQM • Deriving TCP/AQM algorithms • Part 4– Fairness • Max-Min and Proportional Resource Allocation
Fairness • What is fairness • Proportional fairness • Generalized proportional fairness • Max-Min fairness • Proportional fairness algorithm Resource Allocation
Network Optimization and Fairness Resource Allocation
Max-Min Fairness Resource Allocation
Max-Min Fairness (cont.) Resource Allocation