330 likes | 352 Views
Stateless Optimization of Multi-Commodity Flow. Baruch Awerbuch JHU Rohit Khandekar IBM Watson. TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A A A A A A A. Main Issue: avoiding congestion. Main result:
E N D
Stateless Optimization of Multi-Commodity Flow Baruch Awerbuch JHU Rohit Khandekar IBM Watson TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAAA
Main Issue: avoiding congestion Main result: Greedy agents operating without coordination can minimize congestion in poly-logarithmic time
Concurrency causes oscillations • Best response: least loaded path Because of concurrency: becomes “worst” response Control is needed to avoid oscillations
Internet perspective • Since 70’s: Load-Sensitive routing discarded • Fixed path routing used • Routing paths are highly vulnerable to DOSattacks masquerading as congestion
Our framework • Agents route commodities through a flow-network 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 sub-optimal performance or even system collapse
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)
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
… or Not To Nash? • We define a notion of aggregate equilibrium. • Where system state does not change by too much in long-enough period of time • Aggregate equilibrium implies near-optimality. • While not in aggregate equilibrium: • Irreversible significant progress • Eventually in Aggregate equilibrium.
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. ∑i fi(e) total flow thru e f(e) congestion(e)= = = u(e) u(e) capacity of e
Concurrent Multi-commodity Flows ce = capacity
Concurrent Multi-commodity Flows d(5) d(2) d(1) d(4) d(3) Route all demands and minimize the max edge-congestion.
Previous sequential solution Many “combinatorial” algorithms known • Shahrokhi-Matula (1990) • Klein-Plotkin-Stein-Tardos (1990) • Leighton-Makedon-Plotkin-Stein-Tardos-Tragoudas (1991) • Plotkin-Shmoys-Tardos (1991) • Garg-Könemann (1998) • Fleischer (2000) • Young (2001)
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
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
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
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
Opportunity cost • Cost of an edge with flow f = (m1/ε)f(e) Opportunity cost congestion
ф f 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
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) · ε Δf(e) ≤ ε2 log m Flow control constraint
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
Effect of speed limit Flow (log scale) • Fast increase, slow decrease time
Inertia rule • Profit margin (inertia) rule: • rerouting must yield > 0 profit margin 1+ b a d c 1
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
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?
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
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.
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
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 poly-logarithmic convergence?