Mechanisms

advertisement
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
Download