For example, in the widest-shortest path heuristic [8], a path of maximum bandwidth needs to be constructed from a structure S that contains all short

Similar documents
Heuristic Algorithms for Multiconstrained Quality-of-Service Routing

Dijkstra s algorithm for shortest paths when no edges have negative weight.

QoS Routing Extensions to OSPF

Thomas H. Cormen Charles E. Leiserson Ronald L. Rivest. Introduction to Algorithms

Introduction to Algorithms Third Edition

COMP 355 Advanced Algorithms

Distributed Load-Sensitive Routing for Computationally-Constrained Flows

A LOAD-SENSITIVE QOS ROUTING ALGORITHM IN BEST-EFFORT ENVIRONMENT

2.1 Greedy Algorithms. 2.2 Minimum Spanning Trees. CS125 Lecture 2 Fall 2016

Distributed minimum spanning tree problem

Advanced algorithms. topological ordering, minimum spanning tree, Union-Find problem. Jiří Vyskočil, Radek Mařík 2012

Precomputation Schemes for QoS Routing

QoS Routing: The Precomputation Perspective

Quality of Service Routing

Clustering-Based Distributed Precomputation for Quality-of-Service Routing*

arxiv: v3 [cs.ds] 18 Apr 2011

managing an evolving set of connected components implementing a Union-Find data structure implementing Kruskal s algorithm

CONSTRUCTION AND EVALUATION OF MESHES BASED ON SHORTEST PATH TREE VS. STEINER TREE FOR MULTICAST ROUTING IN MOBILE AD HOC NETWORKS

Chapter 9 Graph Algorithms

Lecture notes on: Maximum matching in bipartite and non-bipartite graphs (Draft)

Representations of Weighted Graphs (as Matrices) Algorithms and Data Structures: Minimum Spanning Trees. Weighted Graphs

7. NETWORK FLOW III. assignment problem input-queued switching. Lecture slides by Kevin Wayne Copyright 2005 Pearson-Addison Wesley

Chapter 9 Graph Algorithms

Quality of Service (QoS) Routing. A Quick Review of NP-Completeness

A COMPARISON OF MESHES WITH STATIC BUSES AND HALF-DUPLEX WRAP-AROUNDS. and. and

On the Parameterized Max-Leaf Problems: Digraphs and Undirected Graphs

Algorithms and Theory of Computation. Lecture 5: Minimum Spanning Tree

22 Elementary Graph Algorithms. There are two standard ways to represent a

Algorithms and Theory of Computation. Lecture 5: Minimum Spanning Tree

Dynamic-Programming algorithms for shortest path problems: Bellman-Ford (for singlesource) and Floyd-Warshall (for all-pairs).

Heuristic Algorithms for Multi Constrained Quality of Service Routing

Constructions of hamiltonian graphs with bounded degree and diameter O(log n)

Two-Levels-Greedy: a generalization of Dijkstra s shortest path algorithm

A Linear Time Algorithm for the Minimum Spanning Tree Problem. on a Planar Graph. Tomomi MATSUI. (January 1994 )

CS 341: Algorithms. Douglas R. Stinson. David R. Cheriton School of Computer Science University of Waterloo. February 26, 2019

2. True or false: even though BFS and DFS have the same space complexity, they do not always have the same worst case asymptotic time complexity.

Chapter 4. Greedy Algorithms. Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved.

Competitive Analysis of On-line Algorithms for On-demand Data Broadcast Scheduling

END-TERM EXAMINATION

Chapter 4. Greedy Algorithms. Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved.

DELAY-CONSTRAINED MULTICAST ROUTING ALGORITHM BASED ON AVERAGE DISTANCE HEURISTIC

Algorithms and Data Structures, or

arxiv: v2 [cs.ds] 9 Apr 2009

Anna Tolkacheva Lobachevsky State University

Shortest Path Problem

Homework Assignment #3 Graph

An OSPF Based Load Sensitive QoS Routing Algorithm using Alternate Paths

Reducing Directed Max Flow to Undirected Max Flow and Bipartite Matching

FINAL EXAM SOLUTIONS

Lectures 8/9. 1 Overview. 2 Prelude:Routing on the Grid. 3 A couple of networks.

looking ahead to see the optimum

CLASS-ROOM NOTES: OPTIMIZATION PROBLEM SOLVING - I

Influence of Link State Update Algorithms on the Cost of QoS Path Computations

CSE373: Data Structures & Algorithms Lecture 17: Minimum Spanning Trees. Dan Grossman Fall 2013

Classification and Evaluation of Constraint-Based Routing Algorithms for MPLS Traffic Engineering

184 J. Comput. Sci. & Technol., Mar. 2004, Vol.19, No.2 On the other hand, however, the probability of the above situations is very small: it should b

Melding priority queues

Introduction to Algorithms / Algorithms I Lecturer: Michael Dinitz Topic: Shortest Paths Date: 10/13/15

CSE 417 Network Flows (pt 4) Min Cost Flows

Dijkstra s Algorithm Last time we saw two methods to solve the all-pairs shortest path problem: Min-plus matrix powering in O(n 3 log n) time and the

Outline. Computer Science 331. Analysis of Prim's Algorithm

Optimal method to Reducing Link and Signaling Costs in Mobile IP

Minimum Spanning Trees

Algorithms and Theory of Computation. Lecture 7: Priority Queue

Detecting negative cycles with Tarjan s breadth-first scanning algorithm

CS/SE 2C03 Data Structures & Algorithms Graduate Attributes and Indicators

2 A Template for Minimum Spanning Tree Algorithms

1 Minimum Spanning Trees: History

Michael Mitzenmacher. Abstract. The eld of random graphs contains many surprising and interesting results. Here we

CSE331 Introduction to Algorithms Lecture 15 Minimum Spanning Trees

Complexity of Prim s Algorithm

Multicast routing Draft

Greedy Algorithms Part Three

A synchronizer generates sequences of clock pulses at each node of the network satisfying the condition given by the following definition.

Union Find and Greedy Algorithms. CSE 101: Design and Analysis of Algorithms Lecture 8

Introduction to Parallel & Distributed Computing Parallel Graph Algorithms

Faster Algorithms for Constructing Recovery Trees Enhancing QoP and QoS

On Approximating Minimum Vertex Cover for Graphs with Perfect Matching

22 Elementary Graph Algorithms. There are two standard ways to represent a

Quake Heaps: A Simple Alternative to Fibonacci Heaps

The Minimum Spanning Tree Problem on a Planar Graph. Tomomi MATSUI. (February 1994 ) Department of Mathematical Engineering and Information Physics

Assignment # 4 Selected Solutions

Constructing arbitrarily large graphs with a specified number of Hamiltonian cycles

Broadcast: Befo re 1

Hollow Heaps. Aarhus University, Denmark. Tel Aviv University, Israel. Princeton University, USA. July 7, 2015

Scheduling Unsplittable Flows Using Parallel Switches

CS 5321: Advanced Algorithms Minimum Spanning Trees. Acknowledgement. Minimum Spanning Trees

Chapter 4. Greedy Algorithms. Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved.

CS521 \ Notes for the Final Exam

Greedy algorithms is another useful way for solving optimization problems.

Spanning Trees and Optimization Problems (Excerpt)

Algorithm Design (8) Graph Algorithms 1/2

Maximizable Routing Metrics

Maximal Monochromatic Geodesics in an Antipodal Coloring of Hypercube

CSE 21 Summer 2017 Homework 4

Design and Implementation of an Anycast Efficient QoS Routing on OSPFv3

6.1 Minimum Spanning Trees

Computer Science & Engineering 423/823 Design and Analysis of Algorithms

Network Topology Control and Routing under Interface Constraints by Link Evaluation

Data Partitioning. Figure 1-31: Communication Topologies. Regular Partitions

Transcription:

A Note on Practical Construction of Maximum Bandwidth Paths Navneet Malpani and Jianer Chen Λ Department of Computer Science Texas A&M University College Station, TX 77843-3112 Abstract Constructing maximum bandwidth paths has been a basic operation in the study of network routing, in particular in the recent study of network QoS routing. In the literature, it has been proposed that a maximum bandwidth path be constructed by a modified 's algorithm or by a modified Bellman-Ford algorithm. In this short note, we show that maximum bandwidth paths can be constructed by a modified 's algorithm. We demonstrate that this approach is simpler, easier in implementation, more flexible, and faster than the previously proposed algorithms. 1 Introduction As the Internet evolves into a global communication infrastructure, there is a growing need to support more sophisticated service than the traditional best-effort" service. In particular, Quality of Service (QoS)routing has recently received substantial attention in the context of its possible use in an integrated services IP network (see, e.g., [2, 7, 8, 9] and references therein). It has been recognized that the establishment ofan efficient QoS routing scheme poses several complex challenges. A QoS connection request in general consists of a source node s, a destination node t, and a set of QoS requirements. Each QoS requirement can be either a bottleneck" constraint, typically the path bandwidth constraint, or an additive" constraint, such as path delay, packet loss, or jitter [1]. This is well-known that constructing a routing path subject to more than one additive constraint is NP-hard [12]. Therefore, many researchers have turned their attention to designing either heuristic algorithms or approximation algorithms for the QoS routing problem [2,7,8,9,12]. In many proposed QoS routing algorithms, the following subproblem needs to be solved: Max-Bandwidth Path problem Given a source node s and a destination node t in a network G, inwhicheach link l is associated with a value b(l)(call it the link-bandwidth of l), construct a path from s to t in G whose bandwidth is maximized (the bandwidth of a path is equal to the minimum link-bandwidth over all links in the path). Λ Corresponding author. Email: chen@cs.tamu.edu. This work is supported in part by the National Science Foundation under Grant CCR-961385. 1

For example, in the widest-shortest path heuristic [8], a path of maximum bandwidth needs to be constructed from a structure S that contains all shortest paths from the source node to the destination node, while in the shortest-widest path heuristic [12], a structure W containing all maximum bandwidth paths should be constructed, from which a shortest path is selected. Note that the structure W can be easily constructed when a single maximum bandwidth path is given. The Max-Bandwidth Path problem has become a fairly standard and often encountered subproblem in the study of network QoS routing. The Max-Bandwidth Path problem is not new. Its study can be traced back to3years ago in the study of the Maximum Flow problem. In [4], Edmonds and Karp pointed out that the Max-Bandwidth Path problem (it was called the Bottleneck problem in [4]) can be solved in time O(m log n)using a modified 's shortest path algorithm [3]. This observation has been used by all latter studies in the Maximum Flow problem (e.g., see [11]), and in the network QoS routing algorithms [1, 7, 8, 9, 1, 12]. In particular, in the simulation programs for all proposed heuristic algorithms, the modified 's shortest path algorithm has been implemented whenever a maximum bandwidth path is constructed. In this short note, we presentavery simple proof to show that the Max-Bandwidth Path problem can be solved based on a maximum spanning tree of the network. This observation suggests that the Max-Bandwidth Path problem can be solved using 's algorithm [3]. Although 's algorithm and 's algorithm have the same time complexity asymptotically, 's algorithm takes a simpler form and runs much faster practically. We demonstrate simulation results based on a variety of network topologies, which show that for constructing a maximum bandwidth path in a network, 's algorithm is always at least three times as fast as 's algorithm. We also indicate other advantages of our approach over the traditional approaches. 2 versus Let a network G be represented by an undirected graph G =(V;E), where V is the set of nodes in G and E is the set of links in G. Each link e =[u; v] ine is associated with a bandwidth value b(e) =b([u; v]). Let P = fv 1 ;v 2 ;:::;v r g be a path in G, where v i, i =1; 2;:::;r, are nodes in G and [v i ;v i+1 ], i =1; 2;:::;r 1 are edges in G. The bandwidth of the path P is defined to be minf b([v i ;v i+1 ]) j 1» i» r 1g. As suggested by Edmonds and Karp [4], given a source node s and a destination node t in G, a path from s to t in G with the maximum bandwidth can be constructed by a modified 's shortest path algorithm. This modified 's algorithm is given in Figure 1. Here the array element P [v] records the father of the node v in the maximum bandwidth tree, and the array element B[v] records the bandwidth of the path from the source node s to the node v in the maximum bandwidth tree. The set F of fringers" can be implemented by a priority queue that supports dynamically the minimum, insertion, and deletion operations in O(log n)time per operation. The algorithm runs in time O(m log n), where m is the number of links 2

Algorithm. Input: anetwork G, a source node s and a destination node t Output: a path from s to t with the maximum bandwidth 1. for each nodev in G do f P [v] =; B[v] = 1; g 2. B[s] =+1; F = ;; 3. for each neighbor w of s do f P [w] =s; B[w] =b([s; w]); add w to F ; g 4. repeat remove the node u of maximum B[u] fromf for each neighbor w of u do case 1. B[w] = 1: f P [w] =u; B[w] =minfb[u];b([u; w])g; add w to F g case 2. (w is in F ) and (B[w] < minfb[u];b([u; w])g): f P [w] =u; B[w] =minfb[u];b([u; w])g; g until B[t] 6= 1 and t is not in F Figure 1: Modified 's algorithm for Max-Bandwidth Path and n is the number of nodes in the network G. Using more subtle data structure and analysis [5], the time complexity of 's algorithm can be further reduced to O(m + n log n). Now we turn our attention to another problem, the maximum spanning tree problem in the weighted network G, where we use the link bandwidth P as link weights. A maximum spanning tree T in G is a spanning tree of G such that the weight e2t b(e)of the tree T is the maximum over all spanning trees of G. The following theorem shows an interesting relation between a maximum spanning tree and a maximum bandwidth path. Theorem 2.1 Let G be a network, in which each link e has a bandwidth value b(e), let T be a maximum spanning tree in G (with respect to the link bandwidth). Then for any two nodes s and t in G, the unique path P st in T from s to t is a maximum bandwidth path from s to t in G. Proof. Let P max be a maximum bandwidth path from s to t in the network G. We show that the bandwidth of the unique path P st from s to t in the maximum spanning tree is at least as large as the that of P max. If all links in P max are in T, then P max = P st and we have nothing to prove. Thus, assume that e =[u; v] is the first link on P max that is not in the spanning tree T. Consider the unique path P uv = fe 1 ;:::;e r g in the tree T from node u to node v (see Figure 2 for an illustration). Note that P uv [feg forms a cycle. We claim b(e)» minf b(e i ) j 1» i» rg. In fact, if b(e) > b(e i ) for some i, then T = T fe i g[feg would form a spanning tree such that the sum of link bandwidthes of T is larger than that of T, contradicting the assumption that T is a maximum spanning tree. Therefore, if we replace the link e in P max by the path P uv in T, we get a path P whose bandwidth is 3

u e e 3 e e 2 1 v t s Figure 2: The maximum spanning tree and the maximum bandwidth path, where solid lines are for the maximum spanning tree and the dashed lines are for the maximum bandwidth path. Algorithm. Input: anetwork G Output: amaximum spanning tree 1. sort the links of G in terms of link bandwidth in non-increasing order: fe 1;e 2;:::;e mg; 2. for each nodev of G do MakeASet(v); 3. T = ;; 4. for i =1 to m do let e i =[u i;v i]; r 1 =Find(u i); r 2 = Find(v i); if r 1 6= r 2 then f add e i to T ; Union(r 1;r 2) g Figure 3: 's algorithm for Maximum Spanning Tree not smaller than that of P max. Moreover, the number of links in P that are not in T is 1 fewer than that in P max. Note that the resulting path P may not be simple", i.e., some nodes may repeat on the path P, but we can easily remove the segments between two appearances of the same node, without decreasing the bandwidth of the path. In any case, we will get a simple path from s to t, inwhichthenumber of links not in T is 1 fewer than that in P max, and whose bandwidth is not smaller than that of P max. Repeating the above process will eventually give us a simple path entirely in T from s and t, whose bandwidth is not smaller than that of P max. Since there is a unique such path in the tree T, the theorem is proved. Theorem 2.1 suggests that we can construct a maximum bandwidth path from the source node s to the destination node t based on a maximum spanning tree. Constructing a maximum spanning tree can be essentially done using any minimum spanning tree algorithm. One of the well-known algorithms for minimum spanning tree construction is 's algorithm [3]. We modify the algorithm and make it work for constructing a maximum spanning tree. The modified 's algorithm is presented in Figure 3. Here each set is given by a Union-Find 4

tree such that a sequence of m MakeASet, Union, and Find operations takes time O(m log Λ n), where log Λ n» 6 for all practical numbers n [3]. Therefore, the time complexity of 's algorithm is t(m) +O(m log Λ n), where t(m) = O(m log n) is the time of step 1 for sorting m elements. Based on a 's style algorithm, with a subtle data structure and analysis, the maximum spanning tree problem can be solved in time O(m + n log n)[5]. Further investigation [6] actually shows that the maximum spanning tree problem can be solved in O(m log fi(n; m)) time, where fi(n; m) =minf i j log i n» m=ng» log Λ n. Finally, once the maximum spanning tree T is constructed, the unique path from s to t in the tree T can be easily constructed in linear time O(n). Therefore, the maximum spanning tree problem can be solved at least as efficiently as the 's algorithm. Moreover, since log fi(n; m)» 3 for all practical values n, and m = O(n) for most practical applications in network QoS routing, the maximum spanning tree problem can be solved more efficiently (in time O(m log fi(n; m))) than the best implementation of the 's algorithm (in time O(m + n log n)) in network applications. Although the best theoretical bounds for 's algorithm and the algorithms for the maximum spanning tree problem are better than O(m log n), these best algorithms are difficult to understand and the implementations of these best algorithms are in general subtle and involved. Most practical implementations for 's algorithm and 's algorithm are based on the algorithms given in Figure 1 and Figure 3, where the set F of fringers in Figure 1 is implemented as a simple priority queue, such as a binary heap, and the sets in Figure 3 are given as simple Union-Find trees. In the following, we would like to compare these two algorithms from a practical point of view. 's algorithm seems to have many advantages over 's algorithm: ffl 's algorithm is simpler. From the view of programming, 's algorithm requires a much shorter program than that for 's algorithm. From the view of data structure, 's algorithm uses two simple arrays (a father" array and a rank" array)to implement the Union-Find trees, while 's algorithm requires at least three arrays (for the father" relations, weights", and status")plus a priority queue. ffl 's algorithm has time complexity O(m log Λ n) plus the time t(m) for sorting the m edges. Since there are many very well-studied sorting algorithms, which have been either written as standard software packages or even coded in hardware, the time t(m)is m log n times a very small constant. On the other hand, for a simple priority queue used in 's algorithm, each of the minimum, insertion, and deletion operations takes time c log n with a relatively large constant c. Therefore, intuitively we cansee that 's algorithm can be expected to be several times faster than 's algorithm. ffl Since in many practical cases, sorting can be done in linear time, this makes 's algorithm run in time O(m log Λ n), which isessentially linear. ffl Finally, note that a maximum spanning tree is not particularly with respect to any referred 5

source node and destination node, therefore, a maximum spanning tree actually provides a maximum bandwidth path for any pair of source node and destination node. On the other hand, 's algorithm only provides maximum bandwidth paths from a fixed source node to other nodes. 3 Simulation results In order to confirm our intuitions, we have programmed both 's algorithm in Figure 1 and 's algorithm in Figure 3, and compared their performance based on a variety of network topologies. In the implementation of 's algorithm, we have also included a depth first search process that constructs the actual path from the source node to the destination node after the maximum spanning tree is constructed. To make the comparison fair, we have used similar data structures for the algorithms. In particular, the priority queue used in 's algorithm was implemented by abinary heap that supports minimum, insertion, and deletion in O(log n)time per operation [3], and the sorting in 's algorithm is based on heapsort [3]. We tested the algorithms on six kinds of networks, based on different topologies and different link densities (we say a network G of n nodes has link density D if the number of links in the network is D n(n 1)=2). The networks in the first group are mesh networks. We have fixed number of columns in the mesh networks to be 2, and varied the number of rows in the mesh networks by 1, 2, 3, and 4 (thus, the number of nodes in the mesh networks are 2, 4, 6, and 8, respectively). The networks in the second group are hypercube networks and we tested our algorithms on hypercube networks of dimensions 7, 8, 9, and 1 (thus, the number of nodes in the hypercube networks are 128, 256, 512, and 124, respectively). The networks in the third group are randomly generated networks in which each node has degree exactly 6. We tested our algorithms on this group of networks with 2, 4, 6, and 8 nodes, respectively. The networks are generated by repeating the process of randomly picking two nodes of degree less than 6 and adding an edge between them. The networks in the last three groups are random networks with link density D equal to 1%, 5%, and 4%, respectively. The networks were generated by creating a link between every pair of nodes in the network with probability D. For each of these three groups of networks, we also tested our algorithms on networks of 2, 4, 6, and 8 nodes, respectively. For the networks in all these groups, the link-bandwidth of each link is assigned a random integer between 1 and 1. The implemented programs for these algorithms were run on a Sun WorkStation, Version 5.7 with a Sparc processor. The simulation results are given in Figure 4. Since most existing networks have very low link density, we have mainly concentrated on networks of low link density. From the simulation results, we can see that on mesh networks, hypercube networks, networks of uniform node degree 6, networks of link density 1%, and networks of link density 5%, 's algorithm in general is at least five times as faster as 's algorithm. We have also tested our algorithms on dense networks of link density 4%, and observed that even for such dense networks, 's algorithm is still more than three 6

times as fast as 's algorithm. References [1] G. Apostolopoulos, R. Guerin, S. Kamat, A. Orda, T. Przygienda, and D. Williams, QoS routing mechanisms and OSPF extensions, RFC No. 2676, Internet Engineering Task Force, August (1999). [2] S. Chen and K. Nahrsted, An overview of quality of service routing for next-generation high-speed networks: problems and solutions, IEEE Network, (1998), pp. 64-79. [3] T. Cormen, C. Leiserson, and R. Rivest, Introduction to Algorithms, MIT Press, Cambridge, MA 199. [4] J. Edmonds and R. M. Karp, Theoretical improvements in algorithmic efficiency for network flow problems, J. Assoc. Comput. Mach. 19, (1972), pp. 248-264. [5] M. Fredman and R. Tarjan, Fibonancci heaps and their uses in improved network optimization problems, J. Assoc. Comput. Mach. 34, (1987), pp. 596-615. [6] H. Gabow, Z. Galil, T. Spencer, and R. Tarjan, Efficient algorithms for finding minimum spanning trees in undirected and directed graphs, Combinatorica 6, (1986), pp. 19-122. [7] R. Guerin and A. Orda, QoS-based routing in networks with inaccurate information: theory and algorithms, IEEE/ACM Transactions on Networking 7, (1999), pp. 35-364. [8] R. Guerin, A. Orda, and D. Williams, QoS routing mechanisms and OSPF Extensions, Proc. 2nd IEEE Global Internet Mini-Conference, (1997), Phoenix, AZ. [9] A. Orda, Routing with end to end QoS guarantees in broadband networks, IEEE/ACM Transactions on Networking 7, (1999), pp. 365-374. [1] A. Orda and A. Sprintson, QoS routing: the precomputation perspective, IEEE INFOCOM'2, (2), Tel-Aviv, Israel. [11] R. E. Tarjan, Data Structures and Network Algorithms, Society for Industrial and Appled Mathematics, 1983. (1987), pp. 393-4. [12] Z. Wang and J. Crowcroft, Quality of service routing for supporting multimedia applications, IEEE Journal on Selected Areas in Communications 14, (1996), pp. 1228-1334. 7

35 Mesh Network 8 Hypercube Network 3 7 Time (in milli seconds) 25 2 15 1 Time (in milli seconds) 6 5 4 3 2 5 1 2 3 4 5 6 7 8 Number of Nodes 1 2 3 4 5 6 7 8 9 1 11 Number of Nodes 45 Regular 6 graphs 25 Density : 1% 4 35 2 Time (in milli seconds) 3 25 2 15 1 Time (in milli seconds) 15 1 5 5 2 3 4 5 6 7 8 Number of nodes 2 3 4 5 6 7 8 Number of nodes 5 Density : 5% 35 Density : 4% 4.5 3 4 Time (in seconds) 3.5 3 2.5 2 1.5 Time (in Seconds) 25 2 15 1 1 5.5 2 3 4 5 6 7 8 Number of Nodes 2 3 4 5 6 7 8 Number of Nodes Figure 4: Simulation results for 's algorithm and 's algorithm 8