Michael Schapira
Yale and UC Berkeley
Joint work with P. Brighten Godfrey,
Aviv Zohar and Scott Shenker
Incentives and Protocols
for Congestion Control
Our Model
Convergence Results
Incentive Compatibility Results
Conclusions and Open Questions
Congestion collapse
Sometimes several orders of magnitude lower!
Observed in the mid-1980’s
The solution:TCP
Additive Increase Multiplicative Decrease (AIMD)
transmission
rate
time
Routers use FIFO queuing.
2 TCP connections
S1
S2
edge e
Ce=1
T1
T2
Can this really happen?
Yes!
Why not?
Manipulation observed in other protocols (e.g., P2P).
Tweaking browsers to open more connections.
Download accelerators/patches: commercial and free
software that promises to speed up downloads.
In a distributed environment, protocols
are just a suggestion.
Participants will not follow the protocol if
they can gain by deviating.
Economic mechanism design: Use Game
Theory and Economics to analyze and
design incentives.
Algorithmic mechanism design [Nisan-Ronen 99]
Incentive compatibility and convergence
often go hand in hand
Both are standard requirements (e.g., the Border
Gateway Protocol)
Easier to talk about an “outcome” when things
converge
Similar phenomena.
We analyze convergence first, then
incentives.
We present a simple model for congestion control.
Simplistic!
constant number of connections…
unchanging demands…
fluid model…
… but captures
interplay: end-host protocols and queuing policies
asynchronous interactions
convergence properties in complex topologies
incentives
The network is a directed graph G(V,E).
V = routers
E = links
Each edge e has capacity c(e).
3
3
2
1
4
1
2
Connection Ci is the source-target pair (si,ti) and
a fixed route between them.
Each connection Ci has a maximum transmission
rate ai and wishes to maximize its throughput.
S1
T1
3
3
2
1
4
T2
1
2
S2
Connection Ci‘s flow on edge e is
f R
i
e
If the flow entering an edge e exceeds its
capacity, then traffic is dropped
according the edge’s queuing policy Q e
Q e ( f 1 , , f k ) ( fˆ1 , , fˆk )
i
j
f i fˆi
fˆ j c e
7
edge e
9
2
Ce =9
?
?
?
FIFO: fˆi
7
fi
fj
ce
j
Strict Priority
Queuing (SPQ):
9
2
Ce =9
7
9
2
Ce =9
3.5
4.5
1
7
2
0
Weighted Fair Queueing (WFQ):
Connection Ci has weight wi and gets capacity share
Unused capacity is redistributed similarly
w2 =1
w3 =1
3.5
9
2
3.5
2
Ce =9
j
7
w1 =1
wi
wj
ce
Infinite sequence of discrete time steps
t=1,2,…
At each time step, an adversarial
“scheduler” activates some subset of
the connections and edges.
An activated connection uses a congestion
control protocol to adjust transmission rate.
An activated edge adjusts the flow rates
according to its queuing policy.
No connection or edge is starved indefinitely.
S1
6
2
0
3
6
3
6
S2
S3
0
2
6
*all edge capacities = 6
*all routers use FIFO Queuing
6
6
T1
T3
6
4
T2
When do the network dynamics
converge to a stable flow pattern?
for what combinations of congestion control
protocols and queuing policies?
When are connections incentivized to
follow the protocol?
for what combinations of congestion control
protocols and queuing policies?
Bad news: If weights/priorities are not consistent
across routers, Weighted Fair Queuing (WFQ) and
Strict Priority Queuing (SPQ) might not converge
even for fixed senders!
2
3
>
>
1
4
*capacities = transmission rates = 1
*uncoordinated priorities
*infinitely many equilibrium points
*oscillation!
Bad news: If weights/priorities are not consistent
across routers, Weighted Fair Queuing (WFQ) and
Strict Priority Queuing (SPQ) might not converge
even for fixed senders!
*capacities =
transmission rates =
100mbps
Bad news: If weights/priorities are not consistent
across routers, Weighted Fair Queuing (WFQ) and
Strict Priority Queuing (SPQ) might not converge
even for fixed senders!
2
>
>
*capacities = transmission rates = 1
1
3
>
*uncoordinated priorities
*a single equilibrium points
*oscillations almost from all initial states!
Thm: If all routers use WFQ or SPQ with
consistent weights/priorities then, for
fixed senders, convergence is guaranteed.
Thm: If all routers use FIFO, there is
always an equilibrium flow pattern for fixed
senders.
Shown using a fixed-point argument.
Open questions:
(1) Is this equilibrium unique?
(2) Is convergence guaranteed?
We give partial answers. Still wide open.
A family of congestion control protocols
Increase transmission rate, until experiencing a
small amount of packet loss.
If losing packets, lower transmission rate to
match reported throughput rate.
Like TCP: Increase-Decrease
Unlike TCP: General increase. Specific decrease
Thm: When all connections use PIED, and
all routers use WFQ or SPQ with
coordinated weights/priorities, then the
flow pattern converges.
The equilibrium point is efficient:
(1) capacity is not wasted;
(2) packets are not dropped needlessly.
If routers use WFQ, with all weights equal (Fair
Queuing), then the equilibrium point optimizes maxmin fairness.
Open Question: What about FIFO?
Thm: When all routers use WFQ or SPQ
with coordinated weights/priorities, then
PIED is incentive compatible.
That is, the end-host’s throughput at the
stable state is as good as or better than
anything it can get by not executing PIED.
In fact, even a coalition of end-hosts cannot
gain by deviating from PIED!
SPQ and WFQ are hard to implement in routers.
Per-flow processing!
Defn: An edge’s queuing policy is called “local” if
it does not distinguish between two flows that
have the same incoming and outgoing links.
Thm: If all routers use local and efficient
queuing policies then PIED is not incentive
compatible.
Generalization of our example for FIFO
New perspective on congestion control.
3 desiderata: convergence, efficiency and
incentives.
FIFO!
Improve the model!
coming and going connections…
changing demands…
traffic bursts…