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 bicriteria result! Allowing mixed strategies – discussed later Minimizing average latency In both situations Nash can be arbitrarily bad Total flow origin 1 1 destination 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 4/3 Max latency 1 log m/log log m log m/log log m 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 Minimizing max latency.. 2 links 3 kinds of agents LINK 1 LINK 2 A: send all flow on link 1 p 1-p C: send on link 1 w/ prob p link 2 w/ prob 1-p B: send all flow on link 2 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 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 WideArea 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 reordering 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