PPT

1
Stateless Optimization of
Multi-Commodity Flow
Baruch Awerbuch
JHU
Rohit Khandekar
IBM Watson
2
Main Issue: avoiding congestion
Main result:
Greedy agents operating without
coordination can minimize congestion in
poly-logarithmic time
3
Concurrency causes oscillations
• Best response: least loaded path
Because of concurrency:
becomes “worst” response
Control is needed to avoid
oscillations
4
Internet perspective
• Since 70’s: Load-Sensitive routing discarded
• Fixed path routing used
• Routing paths are highly vulnerable to DOS
attacks masquerading as congestion
5
Our framework
• Agents route commodities through a flownetwork and share network bandwidths
• There is a certain Social objective
– Min the maximum congestion on the links
• Agents are greedy –act greedily to minimize
their own cost; no regard to social objective
• Greedy behavior often leads to highly suboptimal performance or even system collapse
6
Our approach
• Impose “rules of conduct” on the agents
• Stateless local rules: easy to enforce
locally without any coordination and
without keeping track of history
• Induce agents to concurrently converge to
a near-optimum social objective quickly
(typically in poly-logarithmic time)
7
To Nash …
• Traditional approach: Analyze Nash equilibrium
– No agent has an incentive to move unilaterally
– Poly-time convergence to Nash via sequential moves
– Or, simpler yet, ignore convergence issue all together
• Does this make sense in a distributed and dynamic
system?
– System is distributed: agents don’t move sequentially
– In poly-time system changes; thus no convergence
8
… or Not To Nash?
• We define a notion of aggregate equilibrium.
– Where system state does not change by too much in longenough period of time
• Aggregate equilibrium implies near-optimality.
• While not in aggregate equilibrium:
– Irreversible significant progress
• Eventually in Aggregate equilibrium.
9
Concurrent Multi-commodity
Flows
• a graph G=(V,E,C); edge-capacities c(e)
• k commodities:
– source si, sink ti, demand di ≥ 0
For each commodity: route di flow between si and ti
such that the maximum edge congestion is
minimized.
total flow thru e
congestion(e)=
capacity of e
∑i fi(e)
f(e)
=
u(e)
=
u(e)
10
Concurrent Multi-commodity
Flows
ce = capacity
11
Concurrent Multi-commodity Flows
d(5)
d(2)
d(1)
d(4)
d(3)
Route all demands and minimize the max edge-congestion.
12
Previous sequential solution
Many “combinatorial” algorithms known
• Shahrokhi-Matula (1990)
• Klein-Plotkin-Stein-Tardos (1990)
• Leighton-Makedon-Plotkin-Stein-TardosTragoudas (1991)
• Plotkin-Shmoys-Tardos (1991)
• Garg-Könemann (1998)
• Fleischer (2000)
• Young (2001)
13
Previous Work
•
Even-Dar and Mansour 05: complete network
– symmetric strategy space
•
Fisher, Räcke, Vöcking 06: another congestion model
– Infinitely many agents each controlling infinitesimal flow.
– Single commodity (symmetric strategy space).
•
Fisher & Vöcking (2004) , Chien & Sinclair (2007):
– Sequential games
– polynomial convergence to Nash equilibrium
14
Stateless algorithms
• Algorithms reacting to the current state of
the system without keeping history
• Output = function (State)
• Greedy algorithms are a special case of
stateless algorithms
15
Properties of stateless alg’s
• Incremental operation: we do not start
from scratch upon each change
• Self-stabilization: system “corrects” itself
after transient failures
• There is no need to initialize consistently
16
Components of our framework
• Load-sensitive pricing of the edges
– flow agents are forces to pay these prices
• Flow control (speed limit) rule
– cannot increase or drop the flow too fast
• Profit margin (inertia) rule:
– rerouting must yield  > 0 profit margin
17
Opportunity cost
• Cost of an edge with flow f = (m1/ε)f(e)
Opportunity cost
congestion
18
Algorithmic Framework
We want to minimize the maximum flow
through any edge:
minimize maxe f(e)
We use a smooth convex “equivalent” function:
minimize ф = ∑e
(m1/ε)f(e)
ф
Fact: mO(1)-approx. of ф implies (1+O(ε))approx. of maximum congestion
f
19
Concurrent Algorithmic Framework
• Maintain the correct estimate of the derivative:
During the flow rerouting, the lengths l(e) should
not change by more than a factor of (1+ε).
Δl(e) = l(e) · log (m1/ε) · Δf(e)
≤ l(e) · ε
ε2
Δf(e) ≤
log m
Flow control
constraint
20
Flow control for concurrency
• A flow can’t increase by more than 1++
• A flow can’t decrease by more than 1-- = L ¢ + , i.e., downwards speed limit is
more aggressive than upwards limit
Agents are forced to obey the speed limits
21
Flow
(log scale)
Effect of speed limit
• Fast increase, slow decrease
time
22
Inertia rule
• Profit margin (inertia) rule:
– rerouting must yield  > 0 profit margin
1+ 
b
a
d
c
1
23
Algorithm run by each flow
• Graph; residual capacity = speed limits
• while
– non-saturated path exists at a cost of (1-) below the
average cost, and
– Less than 1-- fraction of demand rerouted
• Saturate this path, by increasing its flow to 1++
times the flow on the bottleneck edge
• Compensate by proportional uniform decrease
24
Blocking Flow along Shortest
Paths
25
Blocking Flow along Shortest
Paths
26
Blocking Flow along Shortest
Paths
27
Blocking Flow along Shortest
Paths
28
Summary : Bounded Best
Response Dynamics
• We impose congestion-sensitive (exponential)
edge-costs.
• Each agent reroutes its flow to minimize its
own cost subject to
•
– flow control rule: can’t ramp up too fast
– inertia rule: don’t bother with minor improvements
Does this bounded best response dynamics converge
to a near-optimum solution?
– If yes, how fast?
29
Main idea of proof
• We define the notion of aggregate
equilibrium (weaker than Nash)
• We show that aggregate equilibrium yield
near-optimality
• We show that non-equilibrium state will
eventually involve large improvement in a
potential function
30
Showing potential decrease
• Without speed limits, it would be easier to
claim potential improvement in moving
from expensive to cheap routes
• We show that speed limit achieves the
same, in spite of “ghost chasing” problem,
namely shortest path changing very
frequently.
31
Main Result
Starting from an arbitrary flow, the flow
converges to a 1+ approximation to the
minimum max-congestion in # of rounds upper
bounded by
Here m = # edges, |P| = # paths
C = maxj Cj/minj Cj
Self-stabilizing
32
Conclusion
• These ideas can be extended to other
packing and flow problems.
• Open question: Eliminate the
dependency on L in the convergence
time and get a completely polylogarithmic convergence?