Stateless distributed gradient descent for positive linear programs

We develop a framework of distributed and stateless solutions for packing and covering linear programs, which are solved by multiple agents operating in a cooperative but uncoordinated manner. Our model has a separate "agent" controlling each variable and an agent is allowed to read-off the current values only of those constraints in which it has non-zero coefficients. This is a natural model for many distributed applications like flow control, maximum bipartite matching, and dominating sets. The most appealing feature of our algorithms is their simplicity and polylogarithmic convergence. For the packing LP max{cx | Ax <= b, x >= 0}, the algorithm associates a dual variable yi = exp[1ε * (Aix/bi -1)] for each constraint i and each agent j iteratively increases (resp. decreases) xj multiplicatively if AjT y is too small (resp. large) as compared to cj. Our algorithm starting from a feasible solution, always maintains feasibility, and computes a (1+epsilon) approximation in poly((ln (mn A_max))ε) rounds. Here m and n are number of rows and columns of A and A_max, also known as the "width" of the LP, is the ratio of maximum and minimum non-zero entries Aij/(bicj). Similar algorithm works for the covering LP min{by | AT y >= c, y >= 0} as well. While exponential dual variables are used in several packing/ covering LP algorithms before [25, 9, 13, 12, 26, 16], this is the first algorithm which is both stateless and has polylogarithmic convergence. Our algorithms can be thought of as applying distributed gradient descent/ascent on a carefully chosen potential. Our analysis differs from those of previous multiplicative update based algorithms and argues that while the current solution is far away from optimality, the potential function decreases/increases by a significant factor.

[1]  Danny Raz,et al.  Global optimization using local information with applications to flow control , 1997, Proceedings 38th Annual Symposium on Foundations of Computer Science.

[2]  Baruch Awerbuch,et al.  Distributed algorithms for multicommodity flow problems via approximate steepest descent framework , 2007, SODA '07.

[3]  Moni Naor,et al.  What Can be Computed Locally? , 1995, SIAM J. Comput..

[4]  Baruch Awerbuch,et al.  Stateless Near Optimal Flow Control with Poly-logarithmic Convergence , 2008, LATIN.

[5]  Roger Wattenhofer,et al.  Constant-time distributed dominating set approximation , 2003, PODC '03.

[6]  Boaz Patt-Shamir,et al.  Self-stabilization by local checking and correction , 1991, [1991] Proceedings 32nd Annual Symposium of Foundations of Computer Science.

[7]  Fabian Kuhn,et al.  The price of locality: exploring the complexity of distributed coordination primitives , 2005 .

[8]  Yossi Azar,et al.  Local optimization of global objectives: competitive distributed deadlock resolution and resource allocation , 1994, Proceedings 35th Annual Symposium on Foundations of Computer Science.

[9]  Jochen Könemann,et al.  Faster and simpler algorithms for multicommodity flow and other fractional packing problems , 1998, Proceedings 39th Annual Symposium on Foundations of Computer Science (Cat. No.98CB36280).

[10]  Lisa Fleischer,et al.  Approximating fractional multicommodity flow independent of the number of commodities , 1999, 40th Annual Symposium on Foundations of Computer Science (Cat. No.99CB37039).

[11]  M. Kaufmann What Can Be Computed Locally ? , 2003 .

[12]  Mohamed G. Gouda,et al.  Stabilizing Communication Protocols , 1991, IEEE Trans. Computers.

[13]  David Peleg,et al.  Distributed Computing: A Locality-Sensitive Approach , 1987 .

[14]  Naveen Garg,et al.  On-line end-to-end congestion control , 2002, The 43rd Annual IEEE Symposium on Foundations of Computer Science, 2002. Proceedings..

[15]  Éva Tardos,et al.  Fast Approximation Algorithms for Fractional Packing and Covering Problems , 1995, Math. Oper. Res..

[16]  Baruch Awerbuch,et al.  Distributed network monitoring and multicommodity flows: a primal-dual approach , 2007, PODC '07.

[17]  Amos Israeli,et al.  Self-stabilization of dynamic systems assuming only read/write atomicity , 1990, PODC '90.

[18]  Amos Israeli,et al.  Self-Stabilization of Dynamic Systems Assuming only Read/Write Atomicity , 1990, PODC.

[19]  Mihalis Yannakakis,et al.  Linear programming without the matrix , 1993, STOC.

[20]  Yossi Azar,et al.  Fast load balancing via bounded best response , 2008, SODA '08.

[21]  Nathan Linial,et al.  Locality in Distributed Graph Algorithms , 1992, SIAM J. Comput..

[22]  Roger Wattenhofer,et al.  The price of being near-sighted , 2006, SODA '06.

[23]  Edsger W. Dijkstra,et al.  Self-stabilizing systems in spite of distributed control , 1974, CACM.

[24]  Noam Nisan,et al.  A parallel approximation algorithm for positive linear programming , 1993, STOC.

[25]  B. Awerbuch,et al.  Distributed program checking: a paradigm for building self-stabilizing distributed protocols , 1991, [1991] Proceedings 32nd Annual Symposium of Foundations of Computer Science.

[26]  Neal E. Young,et al.  Sequential and parallel algorithms for mixed packing and covering , 2001, Proceedings 2001 IEEE International Conference on Cluster Computing.