310 likes | 324 Views
Mechanisms for Internet Routing. Aditya Akella Shuchi Chawla 12/4/2001. Why Game Theory + Internet?. Game Theory is HOT So is the Internet A lot of recent theory Applying Game Theory to Internet Game theoretic analyses for Quality of Service Congestion Control
E N D
Mechanisms for Internet Routing Aditya Akella Shuchi Chawla 12/4/2001
Why Game Theory + Internet? • Game Theory is HOT • So is the Internet • A lot of recent theory • Applying Game Theory to Internet • Game theoretic analyses for • Quality of Service • Congestion Control • Multi-Path and Shortest-Path routing • …
Past Research • Worst-Case Equilibria (Koutsoupias et. al.) • Impact of lack of co-ordination • Followed-up by Selfish Routing (Roughgarden et. al.) • Algorithmic Mechanism Design (Nisan et. al.) • Ensures social behavior from selfish agents • Discussed in class
Outline • Problem Statement • The Abstract Model • The Cost of Anarchy • Pricing Mechanisms • Internet Routing
The Problem • Routing in the Internet – end-users (flows) are selfish • Conflicting goals • Users’ goal: achieve low end-to-end latency • Network’s goal: ensure low overall latency • Impact • How bad is the situation without any mechanism? • What is a good mechanism?
Why is this Tough? • The notion of social cost function unclear • Need a distributed solution • Way to distribute and compute costs • Solution concept • Nash Equilibrium or Bayes-Nash or Dominant Strategy
The Abstract Model • Each agent routes flow along one or many of available links • f(x) = latency along a single link • Degrees of freedom • Who are the agents? • Strategies are available to agents • Social cost function
Agents • Each packet is a selfish agent • Dynamically chooses a link with min cost • Cannot alone make a significant impact on the load and cost • Unit sized flows are selfish agents • Choose link with min cost and route entire flow on it (Pure Strategy) • Pick any link with some probability and route entire flow on it (Mixed Strategy)
Social Cost Function • Weighted average of link latencies xf(x) • Maximum latency over all links max{f(x)} Which one is the correct one is unclear - we study all scenarios
Latency function along a link • Typical for the Internet: f(x) = 1/(c-x) c: capacity of link • Properties • Increasing • Increasing gradient • Linear/polynomial functions – easy analysis
The Cost of Anarchy • If it isn’t too bad, why design a mechanism? • [RT00] – average latency with packets as agents • Linear latencies: Nash 4/3 opt • General latencies: bi-criteria result – impractical • Extended to flows as agents – yet another bi-criteria result! • Allowing mixed strategies – discussed later
Minimizing average latency • In both situations Nash can be arbitrarily bad 1 origin destination Total flow 1 xk Opt cost= 1-k(1+k)-(k+1)/k Nash cost=1
Minimizing max latency • [KP99] – flows as agents with mixed strategies, linear latency • two links: Nash 3/2 opt • m links: Nash/Opt log m/log log m
Min. max latency – pure strategies • OPT solution for max latency – load each link equally • Nash solution when packets are agents – all links have equal latencies • They are the same!! • Same holds for flows as agents.
Avg latency & mixed strategies • Compare to max latency case • Nash equilibria are the same – agents see same cost • OPT solution is the same – if latency gradient is increasing • Quality of Nash compared to Opt is similar to Max latency case
At a glance… Nash/Opt for linear latencies Pure strategies Mixed strategies Avg latency Max latency Note – [KP99] results worse than [RT00] Mixed strategies make the situation worse
Why are mixed strategies worse? • Agent i routes with +ve probability on links l Si • Consider pure strategies {l1,l2,…,ln}: li Si • Cost of mixed strategies is a convex combination of costs of pure sets • At least one pure set has better cost
Why are mixed strategies worse? • All flows may seem well distributed But… • With some small probability some links get heavily loaded. • Expected max load increases
General latency functions • Extremely hard to analyze • Computing nash equilibria • Determining their cost • Example – we will try to analyze square latency on two links where the goal is to minimize max latency
All agents are at equilibrium: A: pi(1-p)c-i(c choose i) (i+a)2 < B(c,p,i) (c-i+1+b)2 B: B(c,p,i) (i+a+1)2 > B(c,p,i) (c-i+b)2 C: B(c-1,p,i) (i+a+1)2 = B(c-1,p,i) (c-i+b)2 Minimizing max latency.. 2 links 3 kinds of agents A: send all flow on link 1 LINK 1 p C: send on link 1 w/ prob p link 2 w/ prob 1-p 1-p B: send all flow on link 2 LINK 2
Simplify to get p* = ½ + (b-a)/2(c-1) • Doesn’t help! • Recall – mixed strategies are bad • Conjecture – the worst Nash equilibrium has all agents distributed over the two links
n agents – each routes on link 1 with probability ½ • Cost of opt = (n/2)2 • Cost of Nash < 3n(n-1)/4 • Nash is at most 3 times worse than Opt
Lower bound for m links, linear latency • m flows, m links, each flow distributed 1/m over all links • Throw m balls into m bins • Old result from mathematics: Expected maximum = log m/log log m • Recent unpublished work shows matching upper bound
Pricing Mechanisms • How to design a mechanism? • Implications on Routing in the Wide-Area
Designing a Mechanism - Motivation • Agents base their selfish decisions on perceived link cost • Pricing Schemes should rely on this fact • Choose link costs cleverly and distribute these rather than the true costs • Assumption: Users rely on cost reported by the network • Don’t compute independently • Cost used as a routing hint and not charged to the users
Lessons learnt from [RT00] • At Nash equilibrium, all links have same cost • At social optimum, all links have same latency gradient • Mechanism should induce a Nash equilibrium in which all links have same latency gradient (xf(x))’ • Our price should be equal to the latency gradient p(x) = d/dx {xf(x)}
This was simple! • This is a VCG mechanism • Agent’s cost f(xi) = xif(xi) when xi=1 • Social cost = xif(xi) • Easy to implement using congestion bit
Implementation Concerns • Flows in the Internet cannot tolerate re-ordering • Require unsplittability • Load is not fixed • Some Long flows, many Short flows
But… • Short flows are much smaller than long ones • Can extend the results for splittable case to short flows easily • Each agent is now a short flow • Short flows determine the equilibrium
Impact of Long Flows • Arrival and departure of long flows • Perturbs the equilibrium of short flows • But infrequent • Arrival and departure of short flows • Very frequent • Helps the network of short flows reach a new equilibrium quickly after perturbation • Routing of the short flows ensures that the path taken by long flows is `right’
Conclusions • We designed a mechanism and its implementation that works for • Minimizing average latency • Gives congestion notification to agents • Works without assumptions of splittable flow or flows of equal size