Adaptive Weight Functions for Shortest Path Routing Algorithms for Multi-Wavelength Optical WDM Networks Tibor Fabry-Asztalos, Nilesh Bhide and Krishna M. Sivalingam School of Electrical Engineering & Computer Science, Washington State University, Pullman, WA 99164 Abstract - Optical Dense Wavelength Division Multiplexed (DM) networks are an attractive candidate for the next generation Internet and beyond. In this paper, we consider the wide area wavelength routed backbone network with circuit-switching. Given a session request, the routing and wavelength assignment (RWA) problem is to calculate a path between two nodes, and also assign a set of wavelengths along this path. We use Dijkstra s shortest path algorithm, suitably modified for DM networks, for computing the shortest paths. We consider WDM aware weight functions which include factors such as available wavelengths per link, distance, and total wavelengths per link. We study and compare the performance of these weight functions in terms of blocking probability, link utilization and average delay. I. INTRODUCTION Optical Dense Wavelength Division Multiplexed DM, or simply, WDM networks avoid speed mismatch between slower electronic processing and faster optical transmission by providing multiple channels per fiber with each channel operating at electronic speeds [1]. WDM networks may be used in local, metropolitan, and wide area networks. This paper considers the wide area wavelength routed backbone environment, where the network is composed of wavelength routers connected by WDM links. The wavelength routers may possess wavelength conversion capability [1] that enables them to convert, in the optical domain, data on an incoming wavelength into another outgoing wavelength. The range of wavelength conversion may be full or limited depending on the physical device limitations. In this paper, we consider the circuit switched model where a lightpath is assigned to a session for its entire duration. A lightpath is defined as a set of links through intermediate routers from source to destination, with a wavelength assigned on each link. For networks without wavelength conversion, wavelength continuity is required which implies that the same wavelength has to be used on all links. In order to establish a lightpath, the network needs to decide on the route and the wavelength(s) for the lightpath. Given a set of connections, the problem of setting up lightpaths by The authors can be reached at nbhide@eecs.wsu.edu and krishna@eecs.wsu.edu. Part of the research was supported by Cisco Systems, San Jose, CA. Edge System Wavelength Router Routing Table Backbone Network Session Request Path Established Lightpath or Blocked Request Fig. 1. Sequence of establishing a lightpath for a session request. routing and assigning wavelength to each connection is called the Routing and Wavelength-Assignment (RWA) problem [2]. In this paper, we first determine the shortest path from source to destination using Dijkstra s algorithm, and then assign the wavelength. In Dijkstra s algorithm, every link in the network is associated with a weight, for example, the propagation delay of the link. The motivation behind this work is that WDM specific information may be incorporated in the weight functions to improve performance. We present weight functions that consider the number of available wavelengths and total wavelengths on a given link. We also present hop-count and distance-only weight functions for comparison. The performance of these weight functions is studied for randomly generated backbone topologies using discrete event simulation. The metrics of interest are call blocking probability (due to unavailability of wavelengths), link utilization and average delay. II. SHORTEST PATH ROUTING This section describes the approach to the solution of the RWA problem based on link state routing. Overview: The overall approach to the RWA problem is summarized in Fig. 1. It is based on the link state rout-
ing method [3]. Here, each router periodically broadcasts its neighboring link information to all other routers. This information is used to construct the network topology with the associated link cost functions. Each router then independently computes the shortest paths from itself to every destination. When a new session (i.e. circuit or burst) request arrives, the router uses the routing table to determine the entire path from source to destination. It then attempts to assign a wavelength along this path by propagating a wavelength request to all the routers along the path. The initial wavelength may be selected randomly from one of the available wavelengths or based on other information as in [4]. If wavelength conversion is available in the network, then a light-path can be established using different wavelengths on different links. If this request fails, a different wavelength is chosen, which can be based on the feedback from the closest node on the shortest path. This process may be repeated till there is at least one wavelength available. If this fails, then the request is blocked, i.e. the lightpath can not be set up. Routing Algorithm: The network topology is represented as a graph Î µ, where Î denotes the set of vertices (network nodes) and the set of edges (links). Each link µ ¾ is associated with a weight function Û which denotes the cost of using the link. At the end of executing a shortest path algorithm such as Dijkstra s algorithm, each router has a routing table with complete path information to every destination. Details of Dijkstra s algorithm may be found in [3]. In WDM networks, link state information will also include WDM specific status such as number of available wavelengths, and total wavelengths. In addition, links on which all wavelengths are presently utilized may be marked as unavailable until the next routing update. Weight functions that consider these factors are described in the next section. III. WEIGHT FUNCTIONS FOR WDM NETWORKS This section describes the weight functions that are studied in this paper. For a given link µ ¾, denotes the physical distance or equivalently propagation delay; denotes number of available wavelengths on the link when link state information was gathered; and Ì denotes number of total wavelengths on the link. Hop-based (): This represents the base case, and Û µ ¾. Using this function, the lightpaths are selected solely on the smallest number of hops on each lightpath. Intuitively, this scheme should result in lower blocking probability since less number of hops would increase the chances of finding a wavelength on all intermediate links. Distance (): Here, Û µ ¾, where represents the physical distance expressed in microseconds. This function will result in shortest distance paths with lowest propagation delay. Here, Û is specified as fol- Available wavelengths (): lows: Û ÐÓ, µ ¾, µ ¾ gives us the measure of resistance a link offers for establishing a session. More the number of available links, lesser is the resistance offered. Hence gives us a measure of willingness of a link to accept a session request. We want to maximize this willingness or reliability and hence the product of these terms for intermediate links has to be maximized. Due to additive nature of Dijkstra s algorithm, we use negative ÐÓ of this product as a weight function and equivalently try to minimize this value. This metric ignores both distance and hop count, and the performance section quantifies the higher hop count realized. This function is thus a dynamic weight function that changes with network state. Total wavelengths and Available wavelengths (T): Here, Û ÐÓ ¼ Ì µ ¾. Consider a link with and Ì as available and total number of wavelengths at a given point in time. Then the probability that all wavelengths will be used at some time in future can be written as Ô, where Ô is the probability that a wavelength will be used. From the current status, we can estimate this probability to be, Ô Ì. Then the probability that at least one wavelength is available on the link in future is given by Ô µ. Therefore, when a path is composed of multiple links, we maximize the product of Ô µ value of all the constituent links that form this particular path. Due to additive nature of Dijkstra s algorithm, we use ÐÓ Ô µ as a weight function and equivalently try to minimize this value. This is a dynamic weight function due to the available wavelengths, which is constantly changing. Example: The choice of weight function makes a significant difference in the shortest path calculation. Taking the example shown in Fig. 2, it can be seen how the choice of the above described weight functions will result in different outcomes. In this example, the edges are labeled with a 3-tuple Ì µ, i.e. physical distances between nodes, available
(1,4,1) A B (2,2,4) (2,4,1) (1,4,1) E (2,4,8) (2,4,8) F G C (2,2,4) (1,4,1) (2,4,1) D ( ij, λ a T Legend : d ij, λ ij ) Fig. 2. Example of using different weight functions in Dijkstra s algorithm to find a shortest path between a pair of nodes. Links are labeled with physical distance, available wavelengths, and total wavelengths. wavelengths and total wavelengths. Suppose we want to determine a shortest path between the source node and the destination node. Table I lists the possible paths from node to node and the corresponding cost associated with these paths computed using different weight functions. From Table I, we TABLE I Operation of weight functions PATH Cost associated with weight function T A-B-C-D 3 3.375.181 A-E-D 2 4.62.25 A-F-D 2 4.25.56 A-G-D 2 4.25.121 can see that the weight function may choose any of the 2-hop paths from, and. The weight function will choose the path with the least distance of 3 though this is a 3-hop path which has higher chance of getting blocked. may choose any path from and. Both of these paths have maximum number of available wavelengths i.e. four. T will choose the path. Although the paths and have links with least utilization i.e. 5%, path has more total wavelengths and hence it is selected by T. T doesn t select path though it has more total wavelengths. This is due to fact that the utilization of the links in this path is 6% and higher the utilization of the link, higher is the chance of session request getting blocked over that link in future. IV. PERFORMANCE ANALYSIS We studied the performance of our algorithm based on discrete event simulation. The purpose of the paper is to study the impact of weight functions on the overall network utilization, blocking probability and average delay. A. Simulation environment The network topology considered is 25 node randomly generated network. This topology was randomly generated with an average degree of 2.64. The maximum number of wavelengths are varied between 1, 2, and 3. The network traffic is generated in terms of connection requests from a source to destination node. The connection requests arriving at every node are assumed to follow Poisson distribution with mean connection requests per unit time. The connection duration is assumed to follow a exponential distribution with mean 3 time units. The system parameters varied are Ä: the number of wavelengths on each link, : the connection request arrival rate at every node and, : the wavelength conversion factor, which is modeled as the fraction of the number of wavelengths that can be converted to other wavelengths at every node. The absence of wavelength conversion is denoted by ¼, whereas denotes full wavelength conversion. A value between and 1 denotes partial wavelength conversion. The performance parameters are: Blocking probability (È), is the probability that a connection request is blocked due to unavailability of a lightpath. Utilization (Í), is given by the percentage of time that all links in the network are utilized. Average delay (), is the average delay experienced by the traffic pertaining to a session. It is composed of average propagation delay and average delay due to wavelength conversions at the intermediate nodes. B. Performance evaluation All the simulations were run for 1, 2 and 3 wavelengths per link. We describe the results for 1 and 2 wavelengths as results for 3 wavelengths show trends very much similar to the ones obtained for 1, 3 wavelengths. 1) È: Fig. 3, 4 are used to compare the performance of different weight functions for ¼ ¼., which minimizes number of hops in a route, gives the best performance. The function gives relatively low performance because the shortest path considers only distances. If we have two different paths between a pair of nodes and one of them has more hops, the path with least number of hops is expected to give better performance. This is because the possibility of blocking increases as we increase the number of links on which the lightpath has to find an available wavelength. The performance given by weight scheme is also relatively low. This may be due to the fact that results in choosing longer paths as the available number of wavelengths decrease over the shorter paths. This in turn results in increased blocking probability. The performance of the T weight scheme is almost identical to that of for medium to high traffic load. This can be attributed to the fact that this function tries to choose
.3 25 nodes / Nr. of wavelengths = 1.3 25 nodes / Nr. of wavelengths = 1.25.2.15.1.5 T T.25.2.15.1.5 T.1 25 nodes / Nr. of wavelengths = 2.1 25 nodes / Nr. of wavelengths = 2.9.9.8.8.7.6.5.4.3.7.6.5.4.3.2.2.1.1 3.5 4 4.5 Fig. 3. Graphs showing È vs. Traffic load per node expressed in erlang. ¼: with 1 wavelengths, with 2 wavelengths. 3.5 4 4.5 Fig. 4. Graphs showing È vs. Traffic load per node expressed in erlang. ¼: with 1 wavelengths, with 2 wavelengths. links with minimum utilization and maximum available wavelengths. The blocking probability decreases by a small factor for full wavelength conversion in comparison to partial wavelength conversion with ¼. We can observe that blocking probability increases with increasing traffic load, which is as expected. Also overall blocking probability can be seen decreasing with increasing number of total wavelengths. 2) Utilization Í : We present the graph for link utilization in Fig. 5 with varying traffic load and ¼. With full wavelength conversion, similar trends were observed in system utilization. As in the earlier case, it can be observed that the best performance is provided by the T and weight schemes used in calculating the shortest paths. We can observe from the figures that at 1 wavelengths per link, the T and weight schemes give the highest utilization at high traffic load. This is due to the fact that at low number of wavelengths, the total ca- pacity per link is low. This capacity is better utilized by T and as low blocking probability offered by them results in greater number of sessions served. The other two schemes give lower utilization because of comparatively higher blocking probabilities resulting from their use, which ultimately result in lesser number of sessions served. Overall link utilization decreases as total wavelengths increase, adding extra capacity to the network. In this case utilization depends more on the average number of hops than the blocking probability. 3) Average Delay : We present the graph for average total delay in Fig. 6 with varying traffic load and ¼. With full wavelength conversion, similar trends were observed in total delay. The total delay consists of propagation delay and wavelength conversion delay. In our simulations we used a metric of ¼ ÐÒØ ms propagation delay for links and 2 ms wavelength conversion delay.
45 25 nodes / Nr. of wavelengths = 1 15 25 nodes / Nr. of wavelengths = 1 Link Utilization (%) a) 4 35 3 25 2 15 1 5 T Average Delay (ms) 1 95 9 85 8 75 7 T 65 T 35 25 nodes / Nr. of wavelengths = 2 15 25 nodes / Nr. of wavelengths = 2 3 1 Link Utilization (%) 25 2 15 1 Average Delay (ms) 95 9 85 5 8 b) Fig. 5. Graphs showing Link Utilization Í vs. Traffic load per node expressed in erlang. ¼: with 1 wavelengths, with 2 wavelengths. 75.2.4.6.8 1 1.2 1.4 Fig. 6. Graphs showing Average Total Delay vs. Traffic load per node expressed in erlang. ¼: with 1 wavelengths, with 2 wavelengths. As the traffic load increases, the blocking probability also increases. Hence connection establishment over longer paths becomes more difficult and average number of hops in a successful conncetion setup goes on decreasing. This results in decrease in total delay for successful connections and eventual saturation of total delay value. V. SUMMARY This paper studied the dynamic Routing and Wavelength Assignment problem in optical WDM networks. A circuitswitched network was studied where sessions are assigned lightpaths for the session duration. The problem of routing was studied using Dijkstra s algorithm, with weight functions that utilized WDM network characteristics. Different weight functions were studied and their performance was studied in terms of blocking probability, link utilization and average de- lay. Results indicate that the metric based on using lowest hop count and, combination of available wavelengths and total wavelengths resulted in best performance in terms of blocking probability. REFERENCES [1] K. Sivalingam and S. Subramanian, eds., Optical WDM Networks: Principles and Practice. Boston, MA: Kluwer Academic Publishers, 2. [2] H. Zang, J. P. Jue, and B. Mukherjee, A review of routing and wavelength assignment approaches for wavelength-routed optical wdm networks, Optical Networks Magazine, vol. 1, pp. 47 6, Jan. 2. [3] L. Peterson and B. Davie, Computer Networks: A Systems Approach. Morgan Kaufman, 1996. [4] E. Karasan and E. Ayanoglu, Effects of wavelength routing and selection algorithms on wavelength conversion gain in WDM networks, IEEE/ACM Transactions on Networking, vol. 6, pp. 186 196, Apr. 1998.