Effective Routing And Wavelength Assignment Algorithms In A

  • Slides: 53
Download presentation
Effective Routing And Wavelength Assignment Algorithms In A Wavelength Routed Network Yang Qin Chee-Kheong

Effective Routing And Wavelength Assignment Algorithms In A Wavelength Routed Network Yang Qin Chee-Kheong Siew School of Electrical and Electronic Engineering Nanyang Technological University Singapore. BO Li Computer Science Department Hong Kong University of Science and Technology Hong Kong, China. February 28, 2005 CEG 790

Outline • Introduction to Routing and Wavelength Assignment Algorithms • Architecture and Framework •

Outline • Introduction to Routing and Wavelength Assignment Algorithms • Architecture and Framework • Review Prior Existing Heuristic Algorithms • Proposed Heuristic Algorithms • Simulation Results & Conclusions • Future Work

Introduction What is routing and wavelength allocation? Given a network topology and a set

Introduction What is routing and wavelength allocation? Given a network topology and a set of end to end lightpath requests determine a route and wavelengths for the requests, using the minimum number of wavelengths. Wavelength assignment subject to: • Two light paths must not be assigned the same wavelength on a given link. • If no wavelength conversion is available , then a lightpath must be assigned to the same wavelength on all the links in the route.

Introduction The RWA can be formulated as an integer linear program which is a

Introduction The RWA can be formulated as an integer linear program which is a NP-hard problem. Many heuristic approaches to solve exist. Disadvantages of existing heuristics: • High time Complexity • Lack of Robustness • No performance guarantee with respect to optimal solution.

Architecture and Framework The input of the wavelength assignment and routing problem are: A

Architecture and Framework The input of the wavelength assignment and routing problem are: A physical topology G=(V, E) where V is the set of network nodes and E is the set of links connecting the nodes There a total of W wavelengths in each fiber. An N x N Traffic matrix T, where N is the number of network nodes and T (i, j) is the long term average traffic demand from Node i to Node j.

Architecture and Framework We need to determine the following: A virtual topology Gv=( V,

Architecture and Framework We need to determine the following: A virtual topology Gv=( V, Ev) in which each node corresponds to the node of physical topology and each link in virtual topology corresponds to a direct all optical light path between a pair of nodes in the topology. New definition: The process to generate a virtual topology is defined as routing and wavelength assignment (still subject to the wavelength constraint).

Architecture and Framework Example: NSFNET

Architecture and Framework Example: NSFNET

Architecture and Framework WA MI NY NJ PA UT CA 1 CO NE IL

Architecture and Framework WA MI NY NJ PA UT CA 1 CO NE IL MD CA 2 GA TX Light Path Establishment

Architecture and Framework Virtual Connection Graph

Architecture and Framework Virtual Connection Graph

Architecture and Framework The light paths in this architecture essentially provide single hop communication.

Architecture and Framework The light paths in this architecture essentially provide single hop communication. However due to limitations like number of wavelengths on each fiber it is not feasible to setup lightpaths between every pairs of nodes. As a result some pairs have to do multihop between the light paths. Challenge: As traffic pattern changes reconfiguration necessary to achieve maximum performance.

Existing Heuristic wavelength Assignment algorithms. Purpose: Discussion of existing heuristic to get complexity and

Existing Heuristic wavelength Assignment algorithms. Purpose: Discussion of existing heuristic to get complexity and compare with our proposed algorithms. The typical heuristic algorithm used for wavelength assignment in generating a virtual topology is discussed next. This algorithm selects an optimal virtual topology subject to receiver and wavelength constraints.

Existing Heuristic wavelength Assignment algorithms. A-E – one optical hop( lambda 3) A-C –

Existing Heuristic wavelength Assignment algorithms. A-E – one optical hop( lambda 3) A-C – 2 optical hops ( i. e. lambda 1 form A to B and lambda 2 from B to C)

Existing Heuristic wavelength Assignment algorithms. The problem is broken up into two: Find a

Existing Heuristic wavelength Assignment algorithms. The problem is broken up into two: Find a wavelength assignment algorithm that favors the one – hop optical traffic. For the resulting optical connection graph , develop routing schemes which produce a low call blocking probability.

Existing Heuristic wavelength Assignment algorithms. Definition of a few key terms: N –Number of

Existing Heuristic wavelength Assignment algorithms. Definition of a few key terms: N –Number of Nodes. T (i, j)- Long term average Traffic matrix between node i and j. W- Number of wavelengths. C- capacity of each wavelength. Pij(k)=1 : if wavelength k between node i and node j is Used, 0 otherwise.

Existing Heuristic wavelength Assignment algorithms. The maximum capacity of a optical channel between nodes

Existing Heuristic wavelength Assignment algorithms. The maximum capacity of a optical channel between nodes I and J is k=1 to w (∑pij (k)C). ------(1) The wavelength assignment algorithm is as given below: Max (i, j=1, 2…N) ∑min(Ti, j, k=1 to w (∑pij (k)C)). -------(2)

Existing Heuristic wavelength Assignment algorithms. Explanation of eq-(2) Which channel will have more number

Existing Heuristic wavelength Assignment algorithms. Explanation of eq-(2) Which channel will have more number of wavelengths? The one with the minimum value of min(Ti, j, k=1 to w (∑pij (k)C)). For example If the value of w=3 and C=1; and lets assume that all 3 wavelengths are being used then value of the above equation(1) is 3. But if no wavelengths are being used then the value will be 0. Hence by taking min(0, 3) we would like to choose zero because we have more number of wavelengths to use.

Existing Heuristic wavelength Assignment algorithms. The max term makes sure that we use this

Existing Heuristic wavelength Assignment algorithms. The max term makes sure that we use this channel again and again. (note: here both channels considered are single hop away from the destination). Huge problem if the value of N is large. Thus we need a heuristic to find an approximate solution to this problem.

Existing Heuristic wavelength Assignment algorithms. Solution to the above min-max problem: The following heuristic

Existing Heuristic wavelength Assignment algorithms. Solution to the above min-max problem: The following heuristic Greedy Algorithm: As name suggests assign each wavelengths to as many connections as possible subject to the current physical constraints. Complexity of this algorithm is given by O(N 4).

Existing Heuristic wavelength Assignment algorithms. Other logical topology Design Algorithms: Traffic Independent logical topology

Existing Heuristic wavelength Assignment algorithms. Other logical topology Design Algorithms: Traffic Independent logical topology design algorithm: Logical edges placed in increasing order of hops. No input traffic matrix!!!!! Complexity remains the same O(N 4) Useful if: Traffic pattern is unknown or is known to be uniform.

Existing Heuristic wavelength Assignment algorithms. Random logical topology design algorithm: Places logical edges randomly.

Existing Heuristic wavelength Assignment algorithms. Random logical topology design algorithm: Places logical edges randomly. No input traffic matrix is required!!!!

Existing Heuristic wavelength Assignment algorithms. Weakness of the above algorithms: Cannot generate optimal solution

Existing Heuristic wavelength Assignment algorithms. Weakness of the above algorithms: Cannot generate optimal solution and there is no guarantee of their performance. Major weakness is that they employ greedy strategy which can be sensitive to scheduling parameters such as number of network nodes and topology of the input network. Furthere is no adjustment to the solutions once they are obtained from greedy strategy.

Proposed Heuristic Algorithms To overcome the above weakness the following proposed algorithms have high

Proposed Heuristic Algorithms To overcome the above weakness the following proposed algorithms have high capability to generate optimal solutions and are also fast and scalable. • Genetic Based Approach • Greedy Randomized Adaptive Search Procedure

Proposed Heuristic Algorithms Genetic Algorithms - An introduction The theory of Genetic Algorithms dates

Proposed Heuristic Algorithms Genetic Algorithms - An introduction The theory of Genetic Algorithms dates back only to 1975, with the publication of John Holland's book Adaptation in Natural and Artificial Systems Genetic Algorithm attempts to maximize some fitness function f(s), where s is normally some binary string, l bits long. Genetic Algorithms use three mechanisms to achieve this optimization – • selection • crossover • mutation

Genetic Algorithms A few key terms in Genetic Algorithms: The algorithm starts with a

Genetic Algorithms A few key terms in Genetic Algorithms: The algorithm starts with a set of solutions generated randomly or by heuristic. The set of solutions is called POPULATION. Each solution in the population is called chromosome. Therefore a set of chromosomes form a population.

Genetic Algorithms An outline for the GA algorithm can be as given below: while

Genetic Algorithms An outline for the GA algorithm can be as given below: while the end conditions are not satisfied do Select a number of chromosome pairs from the parent population Perform crossover operation in each pair of chromosomes Perform mutation on chromosomes end while Return the best solution in the current population. This GA algorithm is analogous to the “Survival of the fittest theory”.

Genetic Algorithms Now we know that the GA algorithm works on a set of

Genetic Algorithms Now we know that the GA algorithm works on a set of solutions. How to generate this set? ( known as the parent solutions) This involves a few preprocesses. They are as follows: U(i, j) can be defined as the number of alternative paths for the traffic pair from node i to node j. For simplification let us consider that the number of hops is same for all other traffic pairs too. i. e. U=U(i, j). How to find alternative paths (U)?

Genetic Algorithms Many ways to traverse a graph. But we choose Depth first search

Genetic Algorithms Many ways to traverse a graph. But we choose Depth first search approach To traverse means to visit the vertices in some systematic order. Various traversal methods for trees: preorder: visit each node before its children. postorder: visit each node after its children. inorder (for binary trees only): visit left subtree, node, right subtree.

Genetic Algorithms Depth First Search: Definition: (1) Any search algorithm that considers outgoing edges

Genetic Algorithms Depth First Search: Definition: (1) Any search algorithm that considers outgoing edges of a vertex before any neighbors of the vertex, that is, outgoing edges of the vertex's predecessor in the search. Extremes are searched first. (Animation). Let Lp be a set of linked lists needed to hold the different solutions. What size? N 2 x. U bits – where N 2 is the number of total traffic pairs.

Genetic Algorithms Generate a population of solutions. First for each pair of traffic, randomly

Genetic Algorithms Generate a population of solutions. First for each pair of traffic, randomly choose one of its U paths as its solution, and thus total N 2 traffic pairs form one parent solution. Repeat the above step multiple times arbitrarily and this is specified. Now we have a group of parent solutions and we are ready to carry out fitness tests of these solutions.

Genetic Algorithms Selection: The selection mechanism chooses the best members of the population and

Genetic Algorithms Selection: The selection mechanism chooses the best members of the population and allows them to reproduce, while killing off individuals who prove themselves to be of low fitness through the results of evaluating f(s) on their bitstring. Thus the better fitness the chromosome has, the bigger chance it has to be chosen. How to decide fitness?

Genetic Algorithms We have two criterion. One is to maximize the total traffic which

Genetic Algorithms We have two criterion. One is to maximize the total traffic which the virtual topology can support. Therefore based on this the algorithms fitness can be defined as: f= i, j=1, 2…N ∑T(i, j) Where T(i, j) denotes the traffic demand from node i to node j. The largest traffic sum the better fitness it has

Genetic Algorithms Another criteria is based on the objective to minimize the difference of

Genetic Algorithms Another criteria is based on the objective to minimize the difference of traffic loadings which are arranged on the various physical links. Thus this criteria is for load balancing the network. The definition can be given by f= min(max(T(i, j)) – min( t( m, n))) where t(i, j) and t(m, n) denotes the summation of total traffic loadings arranged on the physical link i-j and m-n and i, j, m, n= 1, 2, …N. Notice something different than the previous criteria?

Genetic Algorithms Yes, here the chromosome with smaller fitness value is allocated more offsprings

Genetic Algorithms Yes, here the chromosome with smaller fitness value is allocated more offsprings than a chromosome with a larger fitness Selection mechanism: Roulette wheel selection: Here each chromosome is allocated a slot in the roulette wheel and depending on the criteria the one with a bigger fitness or smaller fitness will be selected more times.

Genetic Algorithms Crossover Mechanism: The crossover mechanism trades blocks of "genes" between individuals, allowing

Genetic Algorithms Crossover Mechanism: The crossover mechanism trades blocks of "genes" between individuals, allowing the blocks to fully exploit a particularly profitable portion of the parameter space. Single point cross over: Here we have a particular point upto which the beginning of the chromosome is copied form one parent while the rest is copied from another parent. 01110]……… 0101 01111[………… 010100

Genetic Algorithms This operation could lead to invalid bits in encoding. Hence an adjustment

Genetic Algorithms This operation could lead to invalid bits in encoding. Hence an adjustment operation is done to make them valid bits again. What is encoding? How do we know which is our best solution after we have done all these operations and have obtained our final child set of solutions

Genetic Algorithms The trick is to set a bit to 1 between the (i-1)

Genetic Algorithms The trick is to set a bit to 1 between the (i-1) uth bit and (i) uth bit for the ith traffic pair: if a light path can be setup, 0 otherwise. EX: if the pair is the second traffic pair and lets say U=3 then we can say a light path can be setup if we have a 1 bit set between the 2 nd uth bit and the 1 st uth bit. This is the reason the binary string is N 2 x U bits long. The 1 and 0 bits are checked whenever a new population is generated.

Genetic Algorithms Mutation Mechanism: The mutation mechanism flips bits at random, thus throwing the

Genetic Algorithms Mutation Mechanism: The mutation mechanism flips bits at random, thus throwing the rest of the chromosome into entirely different areas of the parameter space. This helps explore new territory, and prevents the GA from converging on some local optimum Consider a particular chromosome, we randomly choose a few bits to be flipped then evaluate its fitness. Only the improved solution with better fitness will substitute the old one in our implementation. The “bad” solution will be excluded in the next population. Complexity of this algorithm is : N 2 O(N+E)

Greedy Randomized Adaptive Search Procedure GRASP is a multi-start metaheuristic for combinatorial problems, in

Greedy Randomized Adaptive Search Procedure GRASP is a multi-start metaheuristic for combinatorial problems, in which each iteration consists basically of two phases: construction and local search. The construction phase builds a feasible solution, whose neighborhood is investigated until a local minimum is found during the local search phase. The best overall solution is kept as the result. Unlike the simple greedy algorithm which chooses the best candidate at each time , GRASP randomly selects one of the best candidates from a Restricted Candidate list which is ordered by a greedy function.

Greedy Randomized Adaptive Search Procedure A simple step procedure is as given below: Determine

Greedy Randomized Adaptive Search Procedure A simple step procedure is as given below: Determine parameters while stopping criterion is not satisfied do Construct solution Perform Local. Search on the solution Update the best solution endwhile Return best solution

Greedy Randomized Adaptive Search Procedure Construction Phase: Construction of the restricted list by an

Greedy Randomized Adaptive Search Procedure Construction Phase: Construction of the restricted list by an adpative greedy function. The function is same as that of the criteria (1) of the genetic algorithm. Thus the RCL list= RCL {m, n belong to N | cost (mn)>= Alpha x Max Cost } Where Max Cost =max(Tij), where T i, j is the traffic demand from node i to node j. cost(mn)=Tmn, where Tmn is the traffic demand from node m to node n and i, j, m, n 1, 2, . . . , N. And alpha is the restricted candidate parameter.

Greedy Randomized Adaptive Search Procedure Local Search Phase: In the local search phase, search

Greedy Randomized Adaptive Search Procedure Local Search Phase: In the local search phase, search procedure can be performed where the s-d lightpath is canceled and we try to setup some new lightpaths which are blocked by the s-d lightpath. For example, the set of setup lightpaths from the construction operation is P {T 1, 6, T 14, 7, T 12, 2, . . . , Ts, d}, thus the local search operation is performed on P. Suppose T 1, 5 is the traffic demand which is blocked only by the lightpath T 1, 6, we cancel the setup light path T 1, 6 and setup the lightpath T 1, 5 and obtain another solution P, P {T 1, 5, T 14, 7, T 12, 2, . . . , Ts, d}.

Greedy Randomized Adaptive Search Procedure If the new solution can support more total traffic

Greedy Randomized Adaptive Search Procedure If the new solution can support more total traffic demands, then the new one is chosen to perform the local search again. Note that the above example is just for the operations on T 1, 6, it will continue to perform the operation on the other elements in P and return the best solution

Lets Talk Complexity: Now in case of the existing heuristic algorithm we had complexity

Lets Talk Complexity: Now in case of the existing heuristic algorithm we had complexity O(N 4). This is because in the worst case we would have to search N 4 entries in the connection link matrix. This matrix is as defined below: where m(ij ), (lm) =1, if connection (i, j) & (l, m) use a common link =0, otherwise;

Lets Talk Complexity: So lets take an example. If we have 3 nodes say

Lets Talk Complexity: So lets take an example. If we have 3 nodes say 1, 2, 3. The maximum connections we can have is given by N(N-1) where N is number of nodes. In this case it would be 3 x 2=6. But in the connection link matrix we have a column corresponding to every request. Thus we have combination requests (s, d){ (1, 2), (2, 3) (1, 3) , ( 2, 1) , (3, 2), (1, 2)}. Thus traversing through all combinations in the worst case would give me a 9 x 9 matrix thus I have 81 entries. This is the same as 34 = 81 entries.

Lets Talk Complexity: For the genetic algorithm the complexity was N 2 O(N+E). This

Lets Talk Complexity: For the genetic algorithm the complexity was N 2 O(N+E). This is because of the depth first approach to search the possible paths for every traffic pair the complexity will be O(N+E). For all N 2 traffic pairs we have N 2 O(N+E). This is much lower than O(N 4). For the GRASP algorithm we can use djikstra’s algorithm to search shortest path for each traffic pair in construction and there at most N 2 traffic pairs to check. Therefore the construction phase will take less than O(N 4) time.

Lets Talk Complexity: In local searchphase, we only choose a few lightpaths to do

Lets Talk Complexity: In local searchphase, we only choose a few lightpaths to do replacement, and each time, there will be no more than N 2 traffic pairs need to be checked. As a result, the total complexity of the algorithm will be bound by O(N 4). However, actually in local search, we only need to check those failed traffic pairs, to see whether they can be set up, this number is much smaller than the total traffic pairs N 2, usually it is a small constant value. Therefore, GRASP algorithm is less complex than genetic algorithm.

Simulations: The blocking performance is the merit to evaluate the performance of the network

Simulations: The blocking performance is the merit to evaluate the performance of the network topology. We have 2 fitness's for genetic algorithms: • Maximum Traffic load which can be supported in virtual traffic. • Balanced fitness( i. e. the difference between traffic at most congested link and traffic on least congest link in one solution)

Simulations:

Simulations:

Simulations:

Simulations:

Simulations:

Simulations:

Simulations:

Simulations:

Conclusions: The advantages of the proposed algorithms are: • Can handle general traffic pattern

Conclusions: The advantages of the proposed algorithms are: • Can handle general traffic pattern without any simplified assumptions. • Provides low blocking probability for different kinds of traffic pattern compared with heuristic algorithm.

Future work: Explore effective algorithms to solve the RWA problem when the traffic pattern

Future work: Explore effective algorithms to solve the RWA problem when the traffic pattern is Unknown. In particular development of dynamic RWA algorithms which can provide a reconfigurable network topology.