Multitree Routing for Multicast Flows: A Genetic Algorithm Approach R. FABREGAT*, Y. DONOSO**, F. SOLANO*, J.L. MARZO* * Institut d’Informàtica i Aplicacions, Universitat de Girona, Girona, Spain. ** Computer Science Department, Universidad del Norte, Barranquilla, Colombia.
[email protected],
[email protected],
[email protected],
[email protected] Abstract. To create a multicast routing distribution tree ensuring quality constraints is a NP-Hard problem. Many algorithm have been made to solve this issue, and genetic algorithms (GA) have shown better response times and solutions for this problem. This paper aligns related work by presenting algorithms in multicast routing using GAs and, taking its advantage, gives a proposal for solving this problem using a load balancing technique called multitree, modelled in previous work with the MHDB-S model. Keywords. Multicast, Multitree, Multipath, Genetic Algorithm, Load Balancing, Pareto-dominance.
Introduction Multicast connections are connections between one or more senders and a number of members of a group. This type of transmission can be found in many applications, such as audio and videoconferencing, collaborative environments and distributed interactive simulation. In addition, these applications have multiple quality-of-service requirements for bandwidth, packet delay, packet loss, cost, etc. The aim of multicasting is to be able to send data from a sender to the members of a group in an efficient manner [1]. This is achieved by sharing resources along the network, i.e. network links and forwarding nodes [2]. Traffic engineering is concerned with optimizing the performance of operational networks. The main objective is to reduce congestion hot spots and improve resource utilization. This can be achieved by setting up explicit routes over the physical network in such a way that the traffic distribution is balanced across several traffic trunks [3]. The current configurations in computer networks provide an opportunity for dispersing traffic over multiple paths to decrease congestion and for achieving the aggregated endto-end bandwidth requirement. This load balancing technique can be achieved by a multicommodity network flow formulation [4] and [5] which leads to the traffic being shared over multiple routes between the ingress node and the egress nodes in order to avoid link saturation and hence the possibility of congestion. Several advantages of using multipath routing are discussed in [6]: the links do not get overused and therefore do not get congested; it has the potential to aggregate bandwidth, allowing a network to support data transfer higher than what is possible with any one path, etc. In unicast transmission, the split ratio is fed to the routers which divide the traffic of the same ingress-egress nodes pair into multiple paths i.e. each flow is split
along multiple subflows. In multicast transmission the traffic is splitted (using the multipath approach) across multiple trees between the ingress node and the set of egress nodes. In previous works ([2], [7], [8] and [9]), we proposed a multi-objective traffic engineering scheme (MHDB-S model) using different distribution trees to multicast several flows. The aim is to combine into a single aggregated metric, the following weighting objectives: the maximum link utilization, the hop count, the total bandwidth consumption, and the total end-to-end delay. Moreover, our proposal solves the traffic split ratio for multiple trees. The proposed MHDB-S model can be applied in MPLS networks by allowing the establishment multiple explicit trees for transporting several multicast flows (fig. 1). With this load balancing technique, each flow is split across multiple trees [10] depending on the solution obtained. N8 0.28 N1 0.72
0.28
0.72 0.28
N7
N9
N2
0.72
0.28
N0
0.72 0.28
N4
N13
0.72
N6
N5
N12
0.28 0.72
N3 N10 0.28 Ingress node
Egress node
Fig. 1. Flow from ingress node N0 to egress nodes {N5,N8,N11} is split into two subflows, and each one is sent along different trees: {(0,1), (1,6), (6,5), (6,9), (9,8), (9,11)} and {(0,2), (2,7), (7,8), (2,4), (4,5), (4,10), (10,11)}. The subflow fraction along each tree is 0.72 and 0.28 respectively. Note that the total flow coming from each egress node is 1.
N11
Because multi-objective optimization problem does not have always a single solution [11] and the problem is known to be NP-complete [12], in several works genetic algorithms approach to reach an optimal solution to our problem are proposed. Genetic algorithms have at least three advantages concerning other optimization techniques that motivate to use this technique. First, they reach an optimal solution always, therefore convergence can be ensured. Second, solutions not only are feasible in a networking context, but also are higher that those obtained by other methods. Third, they have low computational complexity, and this complexity can be decreased dramatically as the network increases [13]. Multiple objectives may be conflicting and interdependent with each other, i.e. not always exists a single multicast distribution tree that behaves better in all problem objectives [14]. In the other hand, to combine multiple objectives into a single scalar metric (usually through a linear combination) makes the problem dependant from the weights measures [15]. In order to avoid these issues, we propose in this paper a genetic algorithm that solves the MHDB-S model using the Pareto-optimal concept [16]. In section 1, the MHDB-S model is detailed and therefore each of its objectives and constraints. In section 2, chromosome’s coding and decoding techniques are discussed at the same time crossover and mutation operators are described. In section 3, genetic algorithms that solve similar models are shown. In section 4, our first approach algorithm to solve the MHDB-S model using GAs is presented. Finally, conclusions and future work that can improve the initial approach algorithm are proposed. 1. MHDB-S Model The network is modelled as a directed graph G = ( N , E ) , where N is the set of nodes and E is the set of links. We use n to denote the number of network nodes, i.e., n = N . Among the nodes, we have a source s ∈ N (ingress node) and some destinations T (the
set of egress nodes). Let t ∈ T be any egress node. Let (i, j ) ∈ E be the link from node i to node j. Let f ∈ F be any multicast flow, where F is the flow set and T f is the egress nodes subset to the multicast flow f. We use |F| to denote the number of flows. Note that T = U T f . Let X ijtf be the fraction of flow f to egress node t assigned to link (i,j); note f ∈F
that these variables include the egress node t. Including the egress nodes variables allows us to control the bandwidth consumption in each link with destination to the set of egress nodes .Therefore; it is possible to maintain the constraint of flow equilibrium to the intermediate nodes exactly. The problem solution, X ijtf variables, provides optimum flow values. Let cij be the capacity of each link (i,j). Let bwf be the traffic demand of a flow f from the ingress node s to T f . The binary variables, Yijtf , represent whether link (i,j) is used (1) or not (0) for the multicast tree rooted at the ingress node s and reaching egress node subset T f . Let vij be the propagation delay of link (i,j). Let m be the number of variables in the multi-objective function. Let connectionij be the indicator of whether there is a link between nodes i and j. The problem of minimizing |F| multicast flows from ingress node s to the egress nodes of each subset T f is formulated as follows: Minimize r1 .α + r2
tf
∑ ∑ ∑ Yij
f ∈F t∈T f (i, j )∈E
Subject to
+ r3
X ijtf −
∑
(i , j )∈E
∑
X ijtf −
∑
X ijtf −
(i , j )∈E
(i , j )∈E
∑ ∑
f ∈F (i, j )∈E
tf
∑ X ji
( j ,i )∈E
∑ X tfji
( j ,i )∈E
∑ X tfji
( j ,i )∈E
f
f ∈F t∈T f (i, j )∈E
(2) (3)
= −1 , i, t ∈ T f , f ∈ F
(4)
= 0 , t ∈ T f , f ∈ F , i ≠ s, i ∉ T f
,α ≥ 0, (i, j) ∈ E
(5)
f
f ∈F
tf ij j∈ N t ∈ T f
tf ∑ ∑ ∑ vij Yij (1)(MHDB-S model)
= 1 , t ∈T f , f ∈ F, i = s
( Xijtf ) ≤ cij .α ∑ bwf .tmax ∈T
∑Y
( )
bw f max X ijtf + r4 t∈T
⎡ ⎢ ≤ ⎢ ⎢⎢ ⎢ ⎢ ∑ c ij ⎢⎢ ⎣ j∈ N
bw
∑
j∈ N
f
connection
ij
⎤ ⎥ ⎥ ⎥⎥ ⎥⎥ ⎦ ⎥⎥
,i ∈ N , f ∈ F
(6)
where X ijtf ∈ ℜ, 0 ≤ X ijtf ≤ 1 (7),
⎧ 0 , X tf = 0 ⎪ ij Yijtf = X ijtf = ⎨ tf 1 , 0 < X ⎪⎩ ij ≤ 1
⎡ ⎤
m
(8) and ∑ ri = 1, i =1
ri ∈ ℜ, ri ≥ 0, m > 0
(9)
The multi-objective function (MHDB model) (1) defines a function and generates a single aggregated metric through a combination of weighting objectives. The main objective consists of minimizing the maximum link utilization (MLU), which is represented as α in equation (1). In this case, the solution obtained may report long routes. In order to eliminate these routes and to minimize hop count (HC), the term ∑ ∑ ∑ Y tfij is added. In order to minimize the total bandwidth consumption f ∈F t∈T f ( i , j )∈E
(BC) over all links, the term ∑
∑
f ∈F t (i , j )∈E
( ) is also added. This is included so that,
bw f max X ijtf t∈T f
if there is more than one solution with the best maximum link utilization, the solution with the minimum resource utilization is chosen. Though several subflows of the flow f in the link (i,j) with destination to different egress nodes are sent, in multicast IP specification just one subflow will be sent, that is, only the maximum value of X ijtf for t ∈ T f needs to be considered. Furthermore, in order to minimize the total end-to-end
propagation delay (DL) over all links, the term ∑ ∑
∑ vij Y tfij is also added.
f ∈F t∈T f ( i , j )∈E
Constraints (2), (3) and (4) are flow conservation constraints. Constraint (2) ensures that the total flow emerging from ingress node to any egress node t at flow f should be 1. Constraint (3) ensures that the total flow coming from an egress node t at flow f should be 1. Constraint (4) ensures that for any intermediate node different from the ingress node (i ≠ s) and egress nodes (i ∉ T ) , the sum of their output flows to the egress node t minus the input flows with destination egress node t at flow f should be 0. Constraint (5) is the maximum link utilization constraint. In an unicast connection, the total amount of bandwidth consumed by all the flows with destination to the egress node t must not exceed the maximum utilization (α) per link capacity cij, that is, ∑ bwf ∑.Xijtf ≤ cij.α, (i, j) ∈ E . Nevertheless, in constraint (5) only the maximum value of f ∈F
X ijtf
t∈T
for t ∈ T f needs to be considered.
Constraint (6) limits the maximum number of subflows (MSF) in each node by means of the capacity of each link and the traffic demand. This formulation represents the amount of necessary links for a particular traffic demand. Without this constraint, the model could suffer from scalability problems, i.e. the label space usage by LSPs would be too high. Expression (7) shows that the X ijtf variables must be real numbers between 0 and 1. These variables form multiple trees to transport a multicast flow. The demand between the ingress node and the egress node t may be split over multiple routes. When the problem is solved without load balancing, this variable will only be able to take values 0 and 1, which will show, respectively, whether or not the link (i,j) is used to carry information to the egress node t. Expression (8) calculates Yijtf as a function of X ijtf . Finally, expression (9) shows that the weighting coefficients, ri, assigned to the objectives are normalized. These values are calculated by solving the optimization problem. 2. Chromosome coding techniques used in multicast networks
The way the trees are represented affects in the way GAs operations can be done, furthermore, in the convergence of the optimization algorithm. Therefore, in order to solve the model below with GAs, it is imperative to explore the diversity of methods used in trees representation. The most used coding and decoding techniques for trees representation (characteristic vector, predecessors coding technique, Prüfer numbers coding technique [17], edge sets representation, nodes and sentinel representation for multicast trees) can be found in [16] or [18]. Other algorithm use a tree as itself chromosome representation [19]. Other representations are based on finding paths using the Prim’s algorithm with a modified cost matrix of a given network [16, 20, 21].
3. Genetic algorithms for multicast QoS routing
In this section optimization algorithms for multicast or multipath are described. In [22] and [14] QoS-based Mobil Multicast Routing Protocol (QM2RP) is proposed. As its name says, QM2RP is a protocol thought for multicast mobile networks with QoS. The QoS parameters analysed here are: end-to-end delay, bandwidth requirement and residual bandwidth utilization. Because the algorithm was thought to work on mobile networks, the authors designed the algorithm trying to determine the multicast routes by probabilistically satisfying the objectives parameters. The algorithm uses the Paretodomination approach in GAs to solve the multi-objective problem. QM2RP uses the sentinel representation to encode MDTs. A similar algorithm can be found in [23] differing in that it adds a constraint in delay variation and the way it computes the fitness values. In [24] a heuristic is proposed for finding several similar trees. The algorithm finds several paths for a flow from a source to a single destination and it does not have a concrete measure for selecting these paths. In [13] an algorithm for finding multicast trees is presented. But, it does not take into account constraints. The algorithm is based on: (a) the transformation of the underlying network to its distance complete form based on links cost, (b) and representation of multicast trees as a list of nodes. Therefore, each chromosome is a valid chromosome; hence, simplifying the crossover and mutation operation. But, because sometimes some links do not exist in the original topology and they should be computed as the minimum cost for a path between the not connected vertices, the algorithm use single-scalar weighted metrics in its solutions, and hence incurring in the problems mentioned earlier. Sun et al. in [19] propose and algorithm for finding multicast trees by minimizing a cost function and taking the delay as constraint. The chromosomes are represented as a binary string of the Steiner nodes, i.e. the nodes that are not part of the destination set neither is the source node. Similar to [13], the cost function is a single scalar measure of the desired objective. In [25] a different perspective is taken in chromosome representation. Here, the trees are not encoded and thus not decoded. This makes the crossover and mutation processes work on tree’s branches itself. The objective function is measured as a single scalar value too. In [26] a genetic algorithm is proposed with these objectives: bandwidth availability, end-to-end delay, end-to-end loss rate and end-to-end jitter. The algorithm also merges the different measures in a single scalar objective. The GAs techniques explained can be regarded in the following table.
[13] [24] [25] [22] [14] [23] [19] [26]
Coding/Decoding Set of used nodes*
Crossover One-split crossover
Predecessors coding Characteristic Vector Sentinel representation Sentinel representation Sentinel representation
Multi-point split crossover Tree crossover One-split crossover One-split crossover One-split crossover
Set of used nodes *
One-split crossover
Set of used nodes *
And/Or operations
*
Mutation Common random change N/A Tree mutation N/A N/A Common random change Common random change N/A
Fitness Cost function/Weighted-sum Cost function Cost function/Weighted-sum Cost function/Weighted-sum MOGA/Pareto-dominance MOGA/Pareto-dominance Cost function/Weighted-sum Cost function/Weighted-sum
These “set of used nodes” techniques are not the same, because they are problem specific.
The optimization problem characteristics of the below algorithms can be resumed in the table above which shows the objectives considered, its constraints and the GA methods applied. OBJECTIVES MLU HC DL BC LR [13], [24], [25]* [22] [14] [23] [19]* [26] [2], [7], [8], [9]
X X X
JIT
CONSTRAINTS DL BC MSF
FLOW
PATH / TREES
SPLIT
Multicast
Only One Tree
No
X X X
Multicast Only One Tree No X Multicast Only One Tree No X X Multicast Only One Tree No X Multicast Only One Tree No X X X X Unicast Only One Tree No X X X X X X Multicast Multi tree Yes LR: loss rate. MLU: maximum link utilization * These algorithms minimize (or MSF: maximum number of HC: hop count maximize) a cost function. Therefore, subflows. Handle of flow fraction by DL: total delay the algorithms in mention could work BC: total bandwidth consumption each egress node across a link in the with almost all objectives. optimization model. JIT: end-to-end jitter
4. Genetic algorithm proposal: an initial approach
So far, we have not found an article that deals with multicast routing based on multipath by splitting flows in many sub flows. Also, none of the articles presented below solves the problem using multiple constraints. An algorithm based on genetic algorithms has been proposed to solve the previous mathematical model. The algorithm uses the Pareto-optimal idea to achieve the best solutions from the initial graph. The pseudo code of the algorithm can be regarded above: 1. Find feasible paths between the source and each destination. For this, the BreadFirst Search algorithm is used. It tags the used nodes so any pair of paths between the source and a destination can not contain the same nodes (different to the source and the destination). 2. A path for each destination is selected and coded into a single chromosome using the sentinel coding technique. At this point, we get n chromosomes, where n is the maximum number of path for a destination. This is our initial population. 3. Fitness values are computed as follows: a. HC: The addition of hops from the source to each destination. b. DL: The addition of delays from the source to each destination. c. BC: For each link used, the addition of the bandwidth the flow requires for transmission or the total link bandwidth in case the flow exceeds it. d. MLU: Link maximum utilization along the entire path. 4. Put chromosomes in the non-dominated set or discard it depending of their fitness values. 5. Do the cross over. For this, entire paths from different chromosomes are selected and swapped. Note that the paths are not changed but the multicast distribution tree does. 6. Do the mutation. For this, a single path inside the coded spanning tree is selected and changed entirely by searching a new path in the network modelled. 7. Repeat from step 3 until a determined number of generations have been computed.
Note that there can be multiple routes for the same pair source and destination. Thus, at the end, the algorithm will have a set of possible trees that maximize the objectives and meet the constraints requirements. These trees will be our multitree set for a single multicast flow transmission. Then, the whole initial flow is split in n sub flows, where n is the final number of survival chromosomes in the non-dominated set. The amount of the main flow assigned to each of the n subflows can be computed proportionally to the fitness of each chromosome. 5. Conclusions
In previous works ([2], [7], [8] and [9]), we proposed a multi-objective traffic engineering scheme (MHDB-S model) using different distribution trees to multicast several flows. Genetic algorithms have been used to solve many problems mainly in QoS routing. So far, we could not find works dealing with multitree-multicast routing using multiple constraints. In this paper, we propose a genetic algorithm that finds several multicast trees for sending sub-flows, interchanges paths between multicast trees and changes paths inside a tree. Further improvements can be achieved by finding accurate coding and decoding techniques. Also, this GA’s search space can be reduced if it is considered at the beginning that the answer will be applied only to a portion of the flow. Moreover, we will compare the genetic algorithm presented by simulations results with that regarded in [2]. Finally, other AI techniques such as tabu search, simulated annealing and machine learning should be analyzed to solve the MHDB-S model. References
[1]
M.A. Ammar, G.C. Polyzos, S.K. Tripathi. Network support for multipoint communications: Guest Editorial. IEEE JSAC, vol. 15. Nº3. April 1997. [2] R. Fabregat, Y. Donoso, J.L. Marzo, A. Ariza. A Multi-Objective Multipath Routing Algorithm for Multicast Flows. SPECTS'04. [3] C.Kim; Y. Choi; Y. Seok; Y. Lee. A Constrained Multipath Traffic Engineering Scheme for MPLS Networks. ICC 2002. [4] R. Ahuja, T. Magnanti, J. Orlin. Network flows: Theory, algorithms and applications. Prentice-Hall. NJ. USA. 1993. [5] M. Bazaraa, H. Sherali, C.M. Shetty. Nonlinear Programming, Theory and Algorithms. John Wiley & Sons, 2nd ed, USA, 1993. [6] J.-C.Chen, and S.H. Chan. Multipath Routing for Video Unicast over BandwidthLimited Networks. GLOBECOM'01. [7] Y. Donoso, R. Fabregat and L. Fàbrega. Multi-Objective scheme over multi-tree routing in multicast MPLS networks. ACM/IFIP LANC’03. [8] Y. Donoso, R. Fabregat and J.L Marzo. Multi-objective optimization algorithm for multicast routing with traffic engineering. IEEE ICN’04. [9] Y. Donoso, R. Fabregat, J.L. Marzo. Multi-Objective Optimization Model and Heuristic Algorithm for Multipath Routing of Dynamic Multicast Groups (Submitted to) GLOBECOM 2004. [10] Y. Wang, Z. Wang, L. Zhang. Internet Traffic Engineering without Full Mesh Overlaying. INFOCOM 2001. [11] H.S. Yang, M. Maier, M. Reisslein, W.M. Carlyle. A Genetic Algorithm based Methodology for Optimizing Multi-Service Convergence in a Metro WDM
[12]
[13]
[14]
[15]
[16] [18]
[17] [20]
[21]
[22] [23] [24] [19]
[25]
[26]
Network. Tech Rep., Telecom. Research Center, Arizona State University. February 2003. C. Diot, W. Dabbous and J. Creoecoft, Multipoint Communications: A survey of Protocols, Functions and Mechanisms. IEEE JSAC, Vol. 15, No. 3, pp. 277-290, April 1997. Y. Leung, G. Li, Z.B. Xu. A Genetic Algorithm for the Multiple Destination Routing Problems. IEEE Transactions on Evolutionary Computation, Vol. 2, No. 4, November 1998. A. Roy, S.K. Das. QM2RP: A QoS-based Mobile Multicast Routing Protocol using Multi-Objective Genetic Algorithm. The Journal of Mobile Communication, Computation and Information, Wireless Networks, Kluwer, May 2004. N. Srinivas, K. Deb. Multiobjective Optimization Using Nondominated Sorting in Genetic Algorithms. IEEE Journal of Evolutionary Computation, Vol. 2, No. 3, pages 221-248. C. C. Palmer, A. Kershenbaum. Representing Trees in Genetic Algorithms. Handbook of Evolutionary Computation, Oxford University Press, 1997. G. R. Raidl, B.A. Julstrom. Edge Sets: An Effective Evolutionary Coding of Spanning Trees. IEEE Transactions on Evolutionary Computation, Vol. 7, No. 3, June 2003. J. Gottlieb, B.A. Julstrom, G.R. Raidl, F. Rothlauf. Prüfer Numers: A Poor Representation of Spanning Trees for Evolutionary Search. GECCO-2001. G.R. Raidl, B.A. Jultstrom. A weighted coding in a genetic algorithm for the degree-constrained minimum spanning tree problem. Proc. 2000 ACM Symp. Applied Computing. 2000. pp. 440-445. M. Krishnamoorthy, A.T. Ernst. Comparison of algorithms for the degree constrained minimum spanning tree. Journal of heuristics, Vol. 7, pp. 587-611, 2001. N. Banerjee, S. K. Das. Fast Determination of QoS Multicast Routes in Wireless Networks using Genetic Algorithm. Communications, 2001. ICC 2001. X. Cui, C. Lin, Y. Wei. A Multiobjective Model for Qos Multicast Routing Based on Genetic Algorithm. ICCNMC’03 J. Inagaki, M. Haseyama, H. Kitajima. A Genetic Algorithm for Determining Multiple Routes and its Applications. Circuits and Systems, 1999. ISCAS '99. Q. Sun. A genetic algorithm for delay-constrained minimum-cost multicasting.Technical Report, IBR, TU Braunschweig, Butenweg, 74/75, 38106, Braunschweig, Germany, 1999. Y. Li and Y. Bouchebaba. A new genetic algorithm for the optimal communication spanning tree problem. In C. Fonlupt, J.-K. Hao, E. Lutton, E. Ronald, and M. Schoenauer, editors, Proceedings of Artificial Evolution: Fifth European Conference, volume 1829 of LNCS, pages 162--173. Springer, 1999. F. Xiang, L. Junzhou, W. Jieyi, G. Guanqun. QoS routing based on genetic algorithm. Computer Comunications 22. pp. 1293-1399. Elsevier. May 1999.