Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
QoS Aware and Fair Resource Allocation Scheme in Transport Networks Mihály Bárász†, Zsolt Fekete†, Alpár Jüttner†‡, Márton Makai†, Jácint Szabó† † Department of Operations Research, Eötvös University, Budapest, Pázmány P. s. 1/C, Hungary H-1117. ‡ Ericsson Research, Hungary,Budapest Laborc u. 1. H-1071 e-mail: {barasz, fezso, alpar, marci, jacint}@cs.elte.hu ABSTRACT This paper presents a QoS aware fair routing and bandwidth management method for transport networks. We consider a variant of the maximum concurrent multicommodity flow problem where only paths of bounded length are allowed to carry flow. We show two possible approaches to the problem. First, we give a column generation method, where the Bellman-Ford algorithm provides the path of bounded length with minimum reduced cost. Then we present an ε -approximation scheme to the problem, applying the method of Garg and Könemann with new ideas for speedup. Finally the computational experience is presented. Keywords: approximation method, multicommodity flow, QoS, faire routing, bandwidth management 1. INTRODUCTION A basic building block of static network resource allocation schemes is mapping the logical data carrying channels (demands) to the physical layer of a network taking the capacity limits and other technological constraints into account. Such an algorithm assigns a single path or multiple paths to each commodity given by its source, destination and the amount of traffic to be carried. This task leads to solving different versions of multicommodity flow problems with additional constraints (see [6]). This paper considers the Length Bounded Concurrent Flow Problem (see Section 2 for an exact formulation) and provides efficient methods for solving it. This model takes three important aspects of QoS enabled network dimensioning into account. The first one is the transportation time of data (traffic delay). This is a fundamental factor to be considered when providing QoS, and it is particularly important in mobile access and transport networks since voice applications have very strict delay requirements and the mobile technologies themselves consume a large part of the available time frame. We handle this problem by limiting the maximum length of the routing paths. The second aspect is the difficulty arising in predicting the exact amount of traffic. To provide a robust and reliable resource allocation we use a flexible provisioning model referred as concurrent flow problem in the literature. In this model the demands can be over-provisioned if the network resources enable. If the network is short of available capacity, then the goal is to satisfy as much portion of the demands as it is possible. The third goal is to establish fairness in bandwidth provisioning. It is also achieved by concurrency i.e. by satisfying the same portion (possibly more than 100%) of each demand. This paper focuses on fractional flows, which means that the traffic between a source and a destination can be shared among multiple paths. Similarly to the case of Maximum Concurrent Flow Problem[7], the principle of “ekvivalence of separation and optimization” (see [5]) shows that the Length Bounded Concurrent Flow Problem can be solvable in polynomial time. However, in many applications the need of a fast solution can exceed the claim to an optimal solution. Hence this paper shows two different fast approximation algorithms for the Length Bounded Concurrent Flow Problem. First, Section 2 presents a path-flow formulation based column generation method using the Bellman-Ford algorithm (see e.g. [3]) to generate to column of the linear program. Then, Section 4 shows a fully polynomial time ε -approximation scheme (FPTAS) to the problem. An FPTAS is an algorithm finding an ε -approximate solution in time polynomial in the size of the input and 1 / ε . Our FPTAS is a modification of the method of Garg and Könemann[4] with new ideas for speedup. Finally Section 5 presents some computational experiences. The Garg-Könemann algorithm performs much better than column generation, but even with the speedups we use, the approximation slows down when it is close to the optimum. As the results show, the most efficient approach is a combination of the two algorithms: in the beginning use the Garg-Könemann method and then, when it slows down, switch to column generation.  The work reported in this paper was supported by COST293 and by the Mobile Innovation Center, Hungary. 2. Problem formulation Let us consider a directed graph G = (V,E) representing the network topology, and denote the capacity of an arc e ∈ E by ce . Let C denote the set of commodities. A source si ∈ V , a sink ti ∈V , a demand di > 0 and a length constraint Li ∈ N are given for each i ∈ C . With these notations, briefly, the Length Bounded Concurrent Flow Problem is to find the maximum λ for which it is possible to carry λdi unit of traffic from si to ti keeping the capacity constraints and the property that the length of the routing paths are at most Li for each i ∈ C . An exact formulation is the following. Path-flow formulation. Let Pi denote the set of si ti -paths with at most Li edges for i ∈ C , and let P := ∪i∈C Pi . The path-flow linear program of the Length Bounded Concurrent Flow Problem with exponentially many variables is formulated as follows. maxλ ∑x ∑x ≤ c e , ∀e ∈ E p p s.t. ≥ λd i , ∀ i ∈ C (1) λ, x ≥ 0 From the theory of linear programming we know that the optimum value of (1) is equal to the optimum of the following dual linear program. min ∑l e ∑c l s.t. e e − π i ≥ 0, ∀i ∈ C, p ∈ Pi ∑ πi di ≥ 1, (2) l,π ≥ 0 3. Column generation method The idea of column generation is the following. Instead of putting the whole enormous linear program (1) to an LP solver, we choose only a small subset P' of the columns and solve this reduced size linear program. Consider the optimal primal and dual solutions x and l,π . Obviously, x is also a feasible solution to (1) after adding 0's. Now let us check whether the obtained dual solution l,π is feasible to (2). If it is dual feasible, than x and l,π must be optimal solution pair to the full problem. If l,π is not feasible, then we choose some columns for which the dual feasibility fails and add them to P' and repeat these steps until the optimal solution is found. Checking dual feasibility and finding wrong inequality if it is not feasible boils down to checking if distl (si ,ti ) ≥ πi holds for each i ∈ C . So we have to solve a bounded shortest path problem. One can solve this problem with the Bellman-Ford algorithm in time O (Li m ) , where m denotes the number of edges. Moreover, if the dual solution is not feasible, the columns belonging to the minimizing paths with length less than πi are those which we can add to the problem. Let us mention two techniques that can be used to speed-up the computations thus making it possible to apply the algorithm for practical problems. Keep the LP program small. During the sequential generation of new columns the LP can grow up enormously, therefore by removing idle columns we must keep the LP small. As it is usual in column and row generation methods joint to the simplex method, we consider a column to be idle, if it does not appear in the last say 15 bases. Generate more paths at the same time. The sequential generation of paths can be sped up if the weight function is perturbed and multiple almost shortest paths are generated between two simplex iterations (there are fast approximating algorithms for finding bounded shortest paths). The number of generated paths can be adjusted adaptively according to the proportion of the measured time of LP iteration and measured time of column generation. ( ) ( ) ( ) ( ) 4. A fully polynomial time approximation scheme Now we present a fully polynomial time ε -approximation scheme (FPTAS) to the problem. Our FPTAS is a modification of the method of Garg and Könemann[4], developed for the Maximum Concurrent Flow Problem. This algorithm iteratively sends flows on l -shortest paths and update the dual solution l based on the found path. The pseudocode of our version of the method is the following (see [4] for more details on the original version). procedure Garg-Könemann( G,c,{si ,ti , d i : i ∈ C} ) for each e ∈ E let l (e ) := 1 / ce for each p ∈ P let x p := 0 let λ' = 0 while (1+ ε )λ' < D(l ) / α (l ) do begin for each i ∈ C let d'i := d i while d'i > 0 do begin let p be an l -shortest si ti -path u := min{d i' ,mine∈P ce } , x p := x p + u and d'i := d'i −u for each e ∈ p let l (e ) := l (e )(1+ εu / ce ) let end end let ξ = maxe∈E end procedure e∈ p∈P ∑ xp ce and λ' = mini∈C ∑ p∈Pi xp (ξdi ) We also introduced and tested the following simple but efficient improvement. Demand scaling. During the algorithm we redefine the demands, i.e. we set di := min{2λ ' , D(l ) / α (l ) }d i where λ' is the current primal objective value, D(l ) := ∑ cele and α(l ) := ∑ distl (si ,ti )di . This scaling helps avoiding making a lot of small increments in the flow value instead i of a single big one. 5. Computational Results We implemented and tested our algorithms on several networks. For the test purposes we used two kinds of networks: specifically constructed networks in which flow computations are “difficult”, and scale-free networks designed to simulate real-world access networks. We used Barabási model [2] to generate scale-free networks. The demands in these networks also mimic the real-world behavior: we chose a significant number of low degree nodes (these represent the end-users or DSLAMs) and a smaller number of high degree nodes (these represent the servers or BASes) and generate a demand between every pair of them. Figure 2: Comparison between the original and the improved versions of the FPTAS algorithm. (Axes. x: time in seconds, y: duality gap in %.) Figure 1: Garg-Könemann and column generation for a medium size and difficult problem. With the combined method we could save as much as 30 seconds out of 56. Both algorithm was implemented in C++ using the LEMON[1] library. The numerical computations mentioned in this section were conducted on PC with AMD Athlon 1800+ CPU and 1 gigabyte of RAM with Debian GNU/Linux and the and GNU G++ 4.1.0 compiler. The original Garg-Könemann algorithm is often very inefficient because it uses “small” steps even in the beginning, when the gap between the primal and dual solution is still very high. Using the demandscaling we achieved significant improvements in the running time (Figure 1). On the other hand, if the approximation is close to the optimum (usually around 10-30%) the improved algorithm also slows down and the improvement is not so significant. Because of this the most efficient approach is to combine the two algorithms: in the beginning use the Garg—Könemann method and then, when it slows down, switch to column generation (see Figure 2). For the simple problems both algorithms scale well in the size of the network and in the number of commodities. But for the more difficult problems the Figure 3: Garg-Könemann and column generation for a column generation method produces very poor large and difficult problem. The column generation results (see Figure 3). This is not surprising, as it is method did not get near the optimum in the first 20 essentially an augmenting path flow algorithm for minutes, while the FPTAS achieved 30% approximation. every commodity. For such problems only the FPTAS approach could be used. Acknowledgement The authors wish to thank Gyula Pap for useful discussions and for Balázs Dezsı to provide an appropriate implementation of Bellman-Ford algorithm in LEMON. REFERENCES [1] LEMON, a C++ Library for Efficient Models and Optimization in Networks. http://lemon.cs.elte.hu. [2] A.-L. Barabási, R. Albert, and H. Jeong. Scale-free characteristics of random networks: the topology of the world-wide web. Physica A, Statistical Mechanics and its Applications, 281:69–77, June 2000. [3] T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein. Introduction to Algorithms. MIT Press and McGraw-Hill, 2001. [4] N. Garg and J. Könemann. Faster and simpler algorithms for multicommodity flow and other fractional packing problems. In IEEE Symposium on Foundations of Computer Science, pages 300–309, 1998. [5] M. Grötschel, L. Lovász, and A. Schrijver. The ellipsoid method and its consequences in combinatorial optimization. Combinatorica, 1(2):169–197, 1981. [6] M. Pióro and D. Medhi. Routing, Flow, and Capacity Design in Communication and Computer Networks. Morgan Kaufmann Publishers, 2004. [7] F. Shahrokhi and D. W. Matula. The maximum concurrent flow problem. J. Assoc. Comput. Mach., 37(2):318–334, 1990.