Michael Schapira Yale and UC Berkeley Joint work with P. Brighten Godfrey, Aviv Zohar and Scott Shenker Incentives and Protocols for Congestion Control Our Model Convergence Results Incentive Compatibility Results Conclusions and Open Questions Congestion collapse Sometimes several orders of magnitude lower! Observed in the mid-1980’s The solution:TCP Additive Increase Multiplicative Decrease (AIMD) transmission rate time Routers use FIFO queuing. 2 TCP connections S1 S2 edge e Ce=1 T1 T2 Can this really happen? Yes! Why not? Manipulation observed in other protocols (e.g., P2P). Tweaking browsers to open more connections. Download accelerators/patches: commercial and free software that promises to speed up downloads. In a distributed environment, protocols are just a suggestion. Participants will not follow the protocol if they can gain by deviating. Economic mechanism design: Use Game Theory and Economics to analyze and design incentives. Algorithmic mechanism design [Nisan-Ronen 99] Incentive compatibility and convergence often go hand in hand Both are standard requirements (e.g., the Border Gateway Protocol) Easier to talk about an “outcome” when things converge Similar phenomena. We analyze convergence first, then incentives. We present a simple model for congestion control. Simplistic! constant number of connections… unchanging demands… fluid model… … but captures interplay: end-host protocols and queuing policies asynchronous interactions convergence properties in complex topologies incentives The network is a directed graph G(V,E). V = routers E = links Each edge e has capacity c(e). 3 3 2 1 4 1 2 Connection Ci is the source-target pair (si,ti) and a fixed route between them. Each connection Ci has a maximum transmission rate ai and wishes to maximize its throughput. S1 T1 3 3 2 1 4 T2 1 2 S2 Connection Ci‘s flow on edge e is f R i e If the flow entering an edge e exceeds its capacity, then traffic is dropped according the edge’s queuing policy Q e Q e ( f 1 , , f k ) ( fˆ1 , , fˆk ) i j f i fˆi fˆ j c e 7 edge e 9 2 Ce =9 ? ? ? FIFO: fˆi 7 fi fj ce j Strict Priority Queuing (SPQ): 9 2 Ce =9 7 9 2 Ce =9 3.5 4.5 1 7 2 0 Weighted Fair Queueing (WFQ): Connection Ci has weight wi and gets capacity share Unused capacity is redistributed similarly w2 =1 w3 =1 3.5 9 2 3.5 2 Ce =9 j 7 w1 =1 wi wj ce Infinite sequence of discrete time steps t=1,2,… At each time step, an adversarial “scheduler” activates some subset of the connections and edges. An activated connection uses a congestion control protocol to adjust transmission rate. An activated edge adjusts the flow rates according to its queuing policy. No connection or edge is starved indefinitely. S1 6 2 0 3 6 3 6 S2 S3 0 2 6 *all edge capacities = 6 *all routers use FIFO Queuing 6 6 T1 T3 6 4 T2 When do the network dynamics converge to a stable flow pattern? for what combinations of congestion control protocols and queuing policies? When are connections incentivized to follow the protocol? for what combinations of congestion control protocols and queuing policies? Bad news: If weights/priorities are not consistent across routers, Weighted Fair Queuing (WFQ) and Strict Priority Queuing (SPQ) might not converge even for fixed senders! 2 3 > > 1 4 *capacities = transmission rates = 1 *uncoordinated priorities *infinitely many equilibrium points *oscillation! Bad news: If weights/priorities are not consistent across routers, Weighted Fair Queuing (WFQ) and Strict Priority Queuing (SPQ) might not converge even for fixed senders! *capacities = transmission rates = 100mbps Bad news: If weights/priorities are not consistent across routers, Weighted Fair Queuing (WFQ) and Strict Priority Queuing (SPQ) might not converge even for fixed senders! 2 > > *capacities = transmission rates = 1 1 3 > *uncoordinated priorities *a single equilibrium points *oscillations almost from all initial states! Thm: If all routers use WFQ or SPQ with consistent weights/priorities then, for fixed senders, convergence is guaranteed. Thm: If all routers use FIFO, there is always an equilibrium flow pattern for fixed senders. Shown using a fixed-point argument. Open questions: (1) Is this equilibrium unique? (2) Is convergence guaranteed? We give partial answers. Still wide open. A family of congestion control protocols Increase transmission rate, until experiencing a small amount of packet loss. If losing packets, lower transmission rate to match reported throughput rate. Like TCP: Increase-Decrease Unlike TCP: General increase. Specific decrease Thm: When all connections use PIED, and all routers use WFQ or SPQ with coordinated weights/priorities, then the flow pattern converges. The equilibrium point is efficient: (1) capacity is not wasted; (2) packets are not dropped needlessly. If routers use WFQ, with all weights equal (Fair Queuing), then the equilibrium point optimizes maxmin fairness. Open Question: What about FIFO? Thm: When all routers use WFQ or SPQ with coordinated weights/priorities, then PIED is incentive compatible. That is, the end-host’s throughput at the stable state is as good as or better than anything it can get by not executing PIED. In fact, even a coalition of end-hosts cannot gain by deviating from PIED! SPQ and WFQ are hard to implement in routers. Per-flow processing! Defn: An edge’s queuing policy is called “local” if it does not distinguish between two flows that have the same incoming and outgoing links. Thm: If all routers use local and efficient queuing policies then PIED is not incentive compatible. Generalization of our example for FIFO New perspective on congestion control. 3 desiderata: convergence, efficiency and incentives. FIFO! Improve the model! coming and going connections… changing demands… traffic bursts…