How to split a flow?

Many practically deployed flow algorithms produce the output as a set of values associated with the network links. However, to actually deploy a flow in a network we often need to represent it as a set of paths between the source and destination nodes. In this paper we consider the problem of decomposing a flow into a small number of paths. We show that there is some fixed constant β >; 1 such that it is NP-hard to find a decomposition in which the number of paths is larger than the optimal by a factor of at most β. Furthermore, this holds even if arcs are associated only with three different flow values. We also show that straightforward greedy algorithms for the problem can produce much larger decompositions than the optimal one, on certain well tailored inputs. On the positive side we present a new approximation algorithm that decomposes all but an c-fraction of the flow into at most O(1/ϵ2) times the smallest possible number of paths. We compare the decompositions produced by these algorithms on real production networks and on synthetically generated data. Our results indicate that the dependency of the decomposition size on the fraction of flow covered is exponential. Hence, covering the last few percent of the flow may be costly, so if the application allows, it may be a good idea to decompose most but not all the flow. The experiments also reveal the fact that while for realistic data the greedy approach works very well, our novel algorithm which has a provable worst case guarantee, typically produces only slightly larger decompositions.

[1]  Nick McKeown,et al.  OpenFlow: enabling innovation in campus networks , 2008, CCRV.

[2]  Edsger W. Dijkstra,et al.  A note on two problems in connexion with graphs , 1959, Numerische Mathematik.

[3]  Martin Skutella,et al.  The k-Splittable Flow Problem , 2005, Algorithmica.

[4]  Philippe Chrétienne,et al.  Simple bounds and greedy algorithms for decomposing a flow into a minimal set of paths , 2008, Eur. J. Oper. Res..

[5]  Ming Zhang,et al.  The Case for Fine-Grained Traffic Engineering in Data Centers , 2010, INM/WREN.

[6]  Marina Thottan,et al.  A simple polynomial time framework for reduced-path decomposition in multipath routing , 2004, IEEE INFOCOM 2004.

[7]  Luc De Ghein MPLS Fundamentals , 2006 .

[8]  Stavros G. Kolliopoulos Edge-Disjoint Paths and Unsplittable Flow , 2007, Handbook of Approximation Algorithms and Metaheuristics.

[9]  L. Khachiyan Polynomial algorithms in linear programming , 1980 .

[10]  Mikkel Thorup,et al.  Integer priority queues with decrease key in constant time and the single source shortest paths problem , 2003, STOC '03.

[11]  Robert E. Tarjan,et al.  Algorithms for Two Bottleneck Optimization Problems , 1988, J. Algorithms.

[12]  Decomposition , 1902, The Indian medical gazette.

[13]  Martin Grötschel,et al.  The ellipsoid method and its consequences in combinatorial optimization , 1981, Comb..

[14]  Wai Sum Lai,et al.  Traffic engineering for MPLS , 2002, SPIE ITCom.

[15]  Jon M. Kleinberg,et al.  Single-source unsplittable flow , 1996, Proceedings of 37th Conference on Foundations of Computer Science.

[16]  Amin Vahdat,et al.  A scalable, commodity data center network architecture , 2008, SIGCOMM '08.