310 likes | 324 Views
This paper explores the application of game theory in analyzing Internet routing mechanisms, focusing on Quality of Service, congestion control, and routing strategies. It provides insights on Nash Equilibriums, social cost functions, and optimizing latency in routing protocols. The study delves into the complexities of distributed solutions and the implications of selfish routing behaviors on network performance.
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