12.07.2015 Views

Grid Job Routing Algorithms - Phosphorus

Grid Job Routing Algorithms - Phosphorus

Grid Job Routing Algorithms - Phosphorus

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Grid</strong> <strong>Job</strong> <strong>Routing</strong> <strong>Algorithms</strong>3.3 <strong>Algorithms</strong> DescriptionFor the routing problem there are generally three approaches that are used in the literature depending onwhether the paths are pre-calculated or not. The fixed routing assumes a single, specific path for eachconnection. Obviously, this method can lead to high blocking probabilities, if the resources along the path aretied up, and it cannot directly handle faults in the network. The fixed-alternate approach considers multiplealternative routes in the network between each source and destination node. On the other hand adaptiverouting is preferred, as the route between a source and a destination is chosen dynamically at every instancethat is requested depending on the state of the network at that instant. When a connection request appears, anappropriate path is calculated. Here a connection is blocked only if there is no possible route between thenodes. It must be noted that in order to perform adaptive routing in a dynamic network, there is an overhead atthe control and management layers. However the network performance is expected to be enhanced.Most connection set-up algorithms calculating a path between two nodes are based on a standard shortestpath algorithm. Often used is the well-known Dijkstra algorithm [Gross98] that - in binary heap implementation- has a complexity of O(m+nlogn), where m is the number of edges and n the number of vertices. A shortestpath algorithm minimizes the route weight (which is the sum of its link weights). The main motivation for this isthat the weights can be used in order to consider some cost parameter when performing the routing. Forexample, all link-weights equal to one means that no link has precedence (e.g., to achieve minimum networkload) or link-weights equal to the reciprocal of the free capacity means that more congested links are avoided(e.g., to achieve load balancing). Not only shortest path algorithms use weights, but in general also otheralgorithms use weights as their minimization goal. Note that the terms weight, length, cost, and metric are oftenused synonymously. Some path computation approaches are:1. k-Shortest paths algorithms (see, e.g.[Eppstein94]) compute paths in the following way. Suppose w 1is the minimum weight achieved by some path between the end nodes, w 2 the next larger weight, etc.The algorithm calculates all paths with w 1 , all paths with w 2 ,… until w k is reached. Note that for aspecific w i , multiple paths can exist. k-Shortest paths algorithms are used, e.g., to produce set of pathoptions for iterative algorithms.2. k-Shortest edge-disjoint paths algorithms and k-shortest node-disjoint paths algorithms (see[Bhandari99]) compute k paths (i) whose overall weight sum is at minimum and (ii) which are mutuallyedge-disjoint and node-disjoint, respectively. This is used, e.g., with k=2 for 1+1 protection.3. Shortest path algorithms subject to constraints [Chen98] compute paths which are minimal inweight and which fulfill a set of further constraints. Common are constraints in terms of additive,multiplicative, and concave functions of further link-values. These constraints can be used to directlyinclude physical effects in the computation.4. Shortest pair of disjoint paths algorithms subject to constraints combine 2 and 3.The above algorithms have to be extended with the wavelength assignment problem. The wavelengthassignment problem is surveyed in [Zang00]. For the static networks with a given set of paths, the wavelengthProject:PHOSPHORUSDeliverable Number: D.5.3Date of Issue: 31/06/07EC Contract No.: 034115Document Code: <strong>Phosphorus</strong>-WP5-D5.319

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!