490 likes | 629 Views
A Game-Theoretic Approach towards Congestion Control in Communication Networks. Rahul Garg ( grahul@in.ibm.com ) Abhinav Kamra ( abhinav@iitd.ernet.in ) Varun Khurana ( varun@iitd.ernet.in ). Overview. Background Congestion Voluntary congestion control A game-theoretic model
E N D
A Game-Theoretic Approach towards Congestion Control in Communication Networks Rahul Garg (grahul@in.ibm.com) Abhinav Kamra (abhinav@iitd.ernet.in) Varun Khurana (varun@iitd.ernet.in)
Overview • Background • Congestion • Voluntary congestion control • A game-theoretic model • Diminishing weight scheduling • Properties of DWS • Simulation results • Conclusions
A Network • Nodes/Switches/Routers • Links • End users • Humans on terminals • Servers
Node Model • Output queuing gives better performance • Switching is usually fast • Small input queues, long output queues Output Buffer Input Buffers Crossbar Output link Scheduler Input links Buffer Management
Output link Input traffic Buffer A Link • A scheduling algorithm which decides which packet to send next • A buffer management policy which decides which packet to buffer and which to drop
What is Congestion? • Packet drops for long periods of time • Reasons for packet drop • Link error • Buffer overflows • Instantaneous input rate > Instantaneous output rate • Average input rate > Average output rate • Congestion • Persistent buffer overflows • Over a couple of round-trip time.
Congestion Collapse • Most of packets dropped because of buffer overflows • Each end user keeps on re-transmitting data • Most of retransmissions are also lost • Congestion collapse did happen in mid 1980’s.
Congestion Collapse • A ring of 100 Mbps • N access links of 100Mbps each • Every access link sends traffic at 100 Mbps • Input traffic at link k exits at link k + N/2. • Traffic intensity of user k at link (k + i) will be 2-i 100 Mbps = 100 Kbps for i = 10 100Mbps
Congestion Control in the Internet • Most of the packets are dropped due to buffer overflows during congestion • Packet loss • signal for incipient congestion • Reduce sending rate • Slowly probe network otherwise • Congestion control function added to TCP
Additive Increase Multiplicative Decrease Algorithms • Slowly increase sending rate to probe network status (additive increase) • Packet loss: Cut the sending rate to half Start probing again • Several Variants of TCP • Tahoe, Reno, Vegas, Sack, etc.
Variants of TCP • How to detect packet loss? • Timeout • Duplicate acknowledgement • How to cut down the rate? • Cut to zero, then slow start and then congestion avoidance • Just cut to half • Separate reliable transmission from congestion control • TCP SACK • Integrated congestion control
Enhancement to TCP Congestion Control • Router Participation • Source quench • Early congestion notification (ECN) • Random early detection (RED) • Early packet discard (EPD) • Partial packet discard (PPD)
Congestion Control in ATM Networks • Single bit schemes • Switches set a bit in cell indicating congestion status • End hosts adjust their rates in response • Explicit rate schemes • Switches tell hosts an explicit rate • End hosts send traffic at the dictated rate
What is Common in these schemes? • All of them require voluntary participation by end hosts. • End hosts could choose to not react to the congestion signal and get better (and unfair) share of network resources.
Voluntary Congestion Control (VCC) • The action to reduce their rates is purely voluntary • It works because end hosts cooperate • Everyone uses similar algorithms to increase and decrease • End hosts could choose to do otherwise • Very easy to remove the VCC code from TCP on a Linux machine • Applications using UDP bypass the VCC code. • FTP over UDP, HTTP over UDP may lead to another congestion collapse of the Internet
Why Voluntary Congestion Control will not work? • Commercialization • Growth • Competition • Definition of a good end-user behaviour • Awareness • Selfishness
Commercialization • Businesses depend on the Internet • They pay for the service • Expect to derive a utility • Will they follow congestion control principles? • E.g. Games on the Internet
Growth • How to enforce voluntary congestion control? • Billions of hosts • Thousands of ISPs
Competition • Competing businesses depend on the Internet • Two companies making PC to PC IP telephony software • Will they follow the principles of VCC?
Definition of Good Behaviour • Different versions of TCP give different performance under different conditions • Difficult to define good behaviour • Especially if one has to punish misbehaving users • End users could be reactive to congestion signal but: • Be more conservative in reducing their rate • More aggressive in increasing their rate
Awareness • Average programmer not aware of voluntary congestion control principles • Average user not aware of “TCP friendly software”
Selfishness • Individuals in large groups may become selfish
Who is responsible? • Who is responsible for congestion control • Network hardware vendors • Operation system software writers • Application writers • End users • ISPs • How will they carry out congestion control? • Need a way to detect misbehaving users/flows and punish them
Possible Solutions • Making a law to punish non-compliant users • Monitory incentives for Good behaviour • Appeals to voluntarily follow Good behaviour • Incentives for Good behaviour. Punishment for bad behaviour.
A Game Theoretic Model • A link of capacity C • Shared by N users • A switch service discipline S • A buffer management policy B • User i sends traffic at a (input) rate ri • Traffic is received at destination at a (output) rate iSB(ri) • Vector notation: =SB(r)
Utility • Every user aims to selfishly maximize its utility • A user’s utility an increasing function of its output rate only • User i’s objective: maximize i • Techniques to minimize dependence on loss rate and delay • Forward error correction for streaming media • Buffering to reduce delay-jitter • Selective retransmissions for bulk transfers • Fire-hose applications
Current Resource Management Policies • C = 10 Mbps • N = 5 • Input rate of one user varied • Input rate of other 4 users kept constant at 4Mbps
Nash Equilibrium • The strategy profile * constitutes a Nash Equilibrium if: i i Ui(i*, -i*) U(i, -i*) • For FCFS, RED, DT ri infinity is the only Nash Equilibrium. • For WFQ, FRED any ri > C / N is a Nash Equilibrium
The Diminishing Weight Scheduling • Derived from Generalized Processor Sharing (GPS) • GPS: fluid flow model • Flow conservation • Work conservation • GPS Fairness: • If Bi(t) > 0, then j: j(t) / j i(t) / i • GPS Fairness replaced by DWS fairness
The Diminishing Weight Scheduling • DWS fairness: • Let bit at the head of queue of flow j at time t arrived at time j(t) • j(t) = j W(rj(j(t)) • If Bi(t) > 0, then j: j(t) / j(t) i(t) / i(t) • j DWS weights • W() is the diminishing weight function • RIS: Special case when W(r) = 1 / r
Properties of DWS • Existence of a fair rate: • There exists a unique fair rate f such that • j, j = min (W(rj) f / W(f), rj) • f C / N • Flow j contributes to congestion iff rj > f. • Flows causing congestion get penalized according to the DWF • Well behaved flows get their rate
Properties of DWS • Define Nash Rate: • If r < C / N then (r) = (C – r) / (N – 1) • Otherwise (r) = x 0 s.t. x W(r) / W(x) + (N – 1) x – C = 0 • (r) C / N • If user 1 sends at r, then (r) constitutes the unique Nash equilibrium for rest of the users.
Nash Rate • C = 10 Mbps • N = 5 • Variation of Nash Rate and residual Nash rate with input rate • Weight functions: • 1/r • 1/r2 • 1/log(r)
Properties of DWS • r = C/N constitutes the unique Nash and Stackelberg Equilibrium for a single link • Max-min-fair rate constitute a Nash and Equilibrium • There can be other Nash/Stackelberg Equilibria also • Max-min-fair rate constitute a Nash and Equilibrium that have no losses
Simulation Results • Unresponsive flows. • TCP Versions. • Multiple connections. • Flows with different round trip times. • Convergence to max-min fair rate in case of a network. • Impact of diminishing different weight functions.
Simulation Scenario NS was used to carry out all the simulations
Unresponsive Flows • 4 TCP flows • One unresponsive constant bit rate (CBR) flow • Different simulations with different CBR rates. • Different simulations with two versions of TCP
Impact of Different Diminishing Weight Functions • Input rate of one user varied • Input rate of other 4 users kept constant at 4Mbps • Weight functions: • 1/r • 1/r2 • 1/r4 • 1/log(r)
Impact of Weight Functions • 4 TCP flows • 1 CBR flow • Rate of CBR flow varied • Weight functions: • 1/r • 1/r2 • 1/log(r)
Conclusions • Voluntary congestion control may not work • A class of scheduling algorithms for game-theoretic congestion control • Packetized version • Has good game theoretic properties • Fair rate is unique Nash and Stackelberg Equilibrium • Even selfish users will send traffic at fair rate
Conclusions • Different weight functions may be chosen for different reward penalty profiles • Rate inverse scheduling works well with TCP.
More Information • ACM Sigcomm Computer Communications Review: Volume 32, Number 3, July 2002, Pages 47-61 • http://www.cs.columbia.edu/~kamra/dws/