Algorithms for Precomputing Constrained Widest Paths and Multicast Trees Paper by Stavroula Siachalou and Leonidas Georgiadis Presented by Jeremy Witmer.

Slides:



Advertisements
Similar presentations
Routing and Congestion Problems in General Networks Presented by Jun Zou CAS 744.
Advertisements

Some Graph Algorithms.
~1~ Infocom’04 Mar. 10th On Finding Disjoint Paths in Single and Dual Link Cost Networks Chunming Qiao* LANDER, CSE Department SUNY at Buffalo *Collaborators:
Heaps1 Part-D2 Heaps Heaps2 Recall Priority Queue ADT (§ 7.1.3) A priority queue stores a collection of entries Each entry is a pair (key, value)
Great Theoretical Ideas in Computer Science for Some.
Approximation, Chance and Networks Lecture Notes BISS 2005, Bertinoro March Alessandro Panconesi University La Sapienza of Rome.
Minimum Energy Mobile Wireless Networks IEEE JSAC 2001/10/18.
October 31, Algorithms and Data Structures Lecture XIII Simonas Šaltenis Nykredit Center for Database Research Aalborg University
Certification of Computational Results Greg Bronevetsky.
Generated Waypoint Efficiency: The efficiency considered here is defined as follows: As can be seen from the graph, for the obstruction radius values (200,
1 Discrete Structures & Algorithms Graphs and Trees: II EECE 320.
The Cache Location Problem IEEE/ACM Transactions on Networking, Vol. 8, No. 5, October 2000 P. Krishnan, Danny Raz, Member, IEEE, and Yuval Shavitt, Member,
Clustering short time series gene expression data Jason Ernst, Gerard J. Nau and Ziv Bar-Joseph BIOINFORMATICS, vol
1 Spanning Trees Lecture 20 CS2110 – Spring
Branch and Bound Similar to backtracking in generating a search tree and looking for one or more solutions Different in that the “objective” is constrained.
Beneficial Caching in Mobile Ad Hoc Networks Bin Tang, Samir Das, Himanshu Gupta Computer Science Department Stony Brook University.
WiOpt’03: Modeling and Optimization in Mobile, Ad Hoc and Wireless Networks March 3-5, 2003, INRIA Sophia-Antipolis, France Session : Energy Efficiency.
Algorithms for Precomputing Constrained Widest Paths and Multicast Trees Paper by Stavroula Siachalou and Leonidas Georgiadis Presented by Jeremy Witmer.
Heaps & Priority Queues Nelson Padua-Perez Bill Pugh Department of Computer Science University of Maryland, College Park.
1 Intrusion Monitoring of Link-State Routing Protocols Akshay Aggarwal Poornima Balasubramanyam Karl Levitt Computer Security Laboratory Department of.
CS541 Advanced Networking 1 Routing and Shortest Path Algorithms Neil Tang 2/18/2009.
CMPE 150- Introduction to Computer Networks 1 CMPE 150 Fall 2005 Lecture 21 Introduction to Computer Networks.
Heuristic Algorithms for Multiconstrained Quality-of-Service Routing Xin Yuan, Member, IEEE IEEE/ACM TRANSACTIONS ON NETWORKING, VOL. 10, VO. 2, APRIL.
1 Chapter 8 Priority Queues. 2 Implementations Heaps Priority queues and heaps Vector based implementation of heaps Skew heaps Outline.
The Shortest Path Problem
Distributed Quality-of-Service Routing of Best Constrained Shortest Paths. Abdelhamid MELLOUK, Said HOCEINI, Farid BAGUENINE, Mustapha CHEURFA Computers.
MAXIMIZING SPECTRUM UTILIZATION OF COGNITIVE RADIO NETWORKS USING CHANNEL ALLOCATION AND POWER CONTROL Anh Tuan Hoang and Ying-Chang Liang Vehicular Technology.
By: Gang Zhou Computer Science Department University of Virginia 1 A Game-Theoretic Framework for Congestion Control in General Topology Networks SYS793.
1 GRAPHS - ADVANCED APPLICATIONS Minimim Spanning Trees Shortest Path Transitive Closure.
Copyright © Cengage Learning. All rights reserved.
On the Construction of Data Aggregation Tree with Minimum Energy Cost in Wireless Sensor Networks: NP-Completeness and Approximation Algorithms National.
WAN technologies and routing Packet switches and store and forward Hierarchical addresses, routing and routing tables Routing table computation Example.
Network Aware Resource Allocation in Distributed Clouds.
Optimization of Wavelength Assignment for QoS Multicast in WDM Networks Xiao-Hua Jia, Ding-Zhu Du, Xiao-Dong Hu, Man-Kei Lee, and Jun Gu, IEEE TRANSACTIONS.
CS261 – Recitation 5 Fall Outline Assignment 3: Memory and Timing Tests Binary Search Algorithm Binary Search Tree Add/Remove examples 1.
Computer Sciences Department1. Sorting algorithm 3 Chapter 6 3Computer Sciences Department Sorting algorithm 1  insertion sort Sorting algorithm 2.
Optimization of Wavelength Assignment for QoS Multicast in WDM Networks Xiao-Hua Jia, Ding-Zhu Du, Xiao-Dong Hu, Man-Kei Lee, and Jun Gu, IEEE TRANSACTIONS.
On Reducing Broadcast Redundancy in Wireless Ad Hoc Network Author: Wei Lou, Student Member, IEEE, and Jie Wu, Senior Member, IEEE From IEEE transactions.
InterConnection Network Topologies to Minimize graph diameter: Low Diameter Regular graphs and Physical Wire Length Constrained networks Nilesh Choudhury.
PRIORITY QUEUES AND HEAPS CS16: Introduction to Data Structures & Algorithms Tuesday, February 24,
Efficient Computing k-Coverage Paths in Multihop Wireless Sensor Networks XuFei Mao, ShaoJie Tang, and Xiang-Yang Li Dept. of Computer Science, Illinois.
Queues, Stacks and Heaps. Queue List structure using the FIFO process Nodes are removed form the front and added to the back ABDC FrontBack.
COSC 5341 High-Performance Computer Networks Presentation for By Linghai Zhang ID:
R-Trees: A Dynamic Index Structure For Spatial Searching Antonin Guttman.
Heaps & Priority Queues
Priority Queues CS 110: Data Structures and Algorithms First Semester,
15.082J & 6.855J & ESD.78J September 30, 2010 The Label Correcting Algorithm.
Suppose G = (V, E) is a directed network. Each edge (i,j) in E has an associated ‘length’ c ij (cost, time, distance, …). Determine a path of shortest.
1 TCOM 5143 Lecture 10 Centralized Networks: Time Delay and Cost Tradeoffs.
Onlinedeeneislam.blogspot.com1 Design and Analysis of Algorithms Slide # 1 Download From
1 Low Latency Multimedia Broadcast in Multi-Rate Wireless Meshes Chun Tung Chou, Archan Misra Proc. 1st IEEE Workshop on Wireless Mesh Networks (WIMESH),
NOTE: To change the image on this slide, select the picture and delete it. Then click the Pictures icon in the placeholder to insert your own image. Fast.
Introduction to Multiple-multicast Routing Chu-Fu Wang.
Priority Queues CS /02/05 L7: PQs Slide 2 Copyright 2005, by the authors of these slides, and Ateneo de Manila University. All rights reserved.
1 GRAPHS – Definitions A graph G = (V, E) consists of –a set of vertices, V, and –a set of edges, E, where each edge is a pair (v,w) s.t. v,w  V Vertices.
Heaps (8.3) CSE 2011 Winter May 2018.
Minimum Spanning Trees
Minimum Spanning Trees
CprE 458/558: Real-Time Systems
Algorithms and Data Structures Lecture XIII
CS223 Advanced Data Structures and Algorithms
Minimum Spanning Trees
CSE 373 Data Structures and Algorithms
3.5 Minimum Cuts in Undirected Graphs
Lecture 14 Shortest Path (cont’d) Minimum Spanning Tree
Compact routing schemes with improved stretch
CSE 417: Algorithms and Computational Complexity
Lecture 13 Shortest Path (cont’d) Minimum Spanning Tree
Survey on Coverage Problems in Wireless Sensor Networks
More Graphs Lecture 19 CS2110 – Fall 2009.
Presentation transcript:

Algorithms for Precomputing Constrained Widest Paths and Multicast Trees Paper by Stavroula Siachalou and Leonidas Georgiadis Presented by Jeremy Witmer CS 622 Fall 2007

Precomputing Multicast Trees - CS622 2 Multicast Trees

Precomputing Multicast Trees - CS622 3 Large Multicast Trees In large networks, adding nodes becomes inefficient Adding on a widest-bandwidth path Paths with QoS constraints

Precomputing Multicast Trees - CS622 4 Proposed Solution Precompute as much of the tree as possible When a node is added, choose the path with the highest available bandwidth while obeying QoS delay constraints

Precomputing Multicast Trees - CS622 5 Proposed Solution Solution defined as solutions to two separate problems First, the precomputation of the links in the tree Second, selection of a new path when a new node subscribes to the multicast tree The paper proposes three algorithms to accomplish the first goal

Precomputing Multicast Trees - CS622 6 Network Model Given a directed graph G = (V, E) V is the set of nodes in the graph E is the set of edges in the graph N = |V| M = |E|

Precomputing Multicast Trees - CS622 7 Network Model Each edge in E has a corresponding delay and width, (d,W) A path from source node s to another node in the network u is with delay no greater than d represented as Pu(d) The optimal path is represented as Pu*(d)

Precomputing Multicast Trees - CS622 8 Network Model

Precomputing Multicast Trees - CS622 9 Network Model

Precomputing Multicast Trees - CS Problem 1 Definition Find the path Pu*(d) that has the greatest width of all the paths from s to u, meeting the bandwidth requirement W(pu*) > W(p) for all paths Pu(d)

Precomputing Multicast Trees - CS Dominated Pairs Pair (D(p1), W(p1)) dominates pair (D(p2), W(p2)) or path p1 dominates path p2 iff W(p1) > W(p2) and D(p1) < D(p2) OR W(p1) > W(p2) and D(p1) < D(p2)

Precomputing Multicast Trees - CS Algorithm 1 Create a heap P to store all possible discontinuities For each node u in G, except for the source node s: 1.Initialize queue D’(u) 2.Create all possible successor discontinuities to u 3.Store the discontinuities (d, W, u) for each u in P Note: (d, W, u) is generally stored as (d, W, u, prev_node)

Precomputing Multicast Trees - CS Algorithm 1 4.Take the discontinuity in the minimum lexicographic order off of the queue. 5.If the current discontinuity pair isn’t dominated by any pair currently on D’(u), add the current pair to D’(u), otherwise, discard the pair. 6.Do this for all discontinuities in P

Precomputing Multicast Trees - CS Algorithm 1 This will result in a set of queues D’(u), one for each node u in G. Each queue is then sorted in lexicographical order, so the optimal discontinuity for each node u is at the head of the queue Because each discontinuity except for the source s has a predecessor discontinuity (d, W, v), the path can be found by keeping track of these discontinuity links Note: P is implemented as a heap in this algorithm

Precomputing Multicast Trees - CS Algorithm 2 Operation is similar to Algorithm 1 Instead of the heap/queue data structures, discontinuities are stored in arrays indexed by a function of the link width w P is an array A[u,k] where 1 < k < K, K < M Instead of storing possible discontinuities by node u, on queues D’(u), store on K heaps H(k)

Precomputing Multicast Trees - CS Algorithm 2 Algorithm execution is identical to Algorithm 1 except that the heaps H(k) only need to contain one possible discontinuity at a time When a new discontinuity (d, k, u) is found, it can replace the current discontinuity on heap H(k), instead of being added to the queue

Precomputing Multicast Trees - CS Algorithm 3 Given the same graph G = (V, E) 1.Find the widest-shortest path from s to all nodes in G 2.Let W* be the minimum among the widths of the paths pu 3.For all nodes u in V if W(pu) = W* then add (D(u), W(pu)) to the appropriate queue D’(u) 4.Remove from G all links with width at most W* 5.If s has no more outgoing links, then stop, else repeat

Precomputing Multicast Trees - CS Algorithm 3 The widest-shortest paths in step 1 are found by a version of Dijkstra’s algorithm Static-Heap Dijkstra’s algorithm has been shown to be the most efficient implementation.

Precomputing Multicast Trees - CS Time and Space Requirements Worst Case Requirements Running TimeSpace Requirements Algorithm 1O(MNlogN + M 2 logN)Space: O(MN) Algorithm 2O(KNlogN + K 2 )Space: O(KN) Algorithm 3O(MNlogN + M 2 )Space: O(MN)

Precomputing Multicast Trees - CS Current Multicast Tree Design The optimization problem to conserve resources is known to be NP complete. Existing tree-calculation protocols do not solely optimize resources Problem aggravated by the need to satisfy QoS restraints

Precomputing Multicast Trees - CS Computation of Constrained Trees Obtain a multicast tree from the discontinuities previously calculated, with the following QoS constraints 1.Path width W(p) will be > Wmin 2.Path delay D(p) will be < d

Precomputing Multicast Trees - CS Computation of Constrained Trees Assume that we need to create a multicast tree T T is a subset U of the nodes V in G Where D(T) < QoS constraint d And W(T) is the width of the narrowest link in T

Precomputing Multicast Trees - CS Computation of Constrained Trees Any calculated tree T must satisfy Property 1: The delay du of discontinuity (du, Wu) is the smallest one among the delays of the discontinuities in D’(u) whose width is larger than or equal to Wmin

Precomputing Multicast Trees - CS Algorithm 4 Assuming that D’(u) is an array 1.For each node u in U, determine W(p*u) 2.Determine Wmin of p*u 3.For each (d, W, u) in U determine the discontinuity having property 1 4.Construct G’ using the predecessor node information stored in D’(u)

Precomputing Multicast Trees - CS Algorithm 4 Performance Running Time: O(max{|U|logN, N})

Precomputing Multicast Trees - CS Simulation Results Simulations were run on two different networks Power Law Networks: a network with N nodes and M links, where M=άN, ά > 1 Real Internet Networks: observed internet topologies from 9/20/1998, 1/1/2000, and 2/1/2000

Precomputing Multicast Trees - CS Simulation Results The delays of the links in both network types were picked randomly. Width 1 networks: width of each link chosen at random from the interval [1,100] Width 2 networks: link width is a function of link delay, based on w = β(101 – d), where β is random from the interval [1,10]

Precomputing Multicast Trees - CS Simulation Results Power Law networks generated with 400, 800, and 1200 nodes and ratios ά = 4, 8, 16 Real networks selected with M = 9360, 16568, and N = 2107, 4120, 6474

Precomputing Multicast Trees - CS Simulation Results

Precomputing Multicast Trees - CS Simulation Results

Precomputing Multicast Trees - CS Simulation Results Running times are increased using Width 2 method, as there are more available discontinuities Algorithm 2 has the best running time, Algorithm 3 the worst Algorithm 1 takes up to 1.6 times as long as Algorithm 2 Algorithm 3 takes up to 14 times as long as Algorithm 2 Algorithm 2 performs the best, especially on larger networks

Precomputing Multicast Trees - CS Simulation Results Algorithm 3 has the smallest memory requirements, followed closely by Algorithm 1. Algorithm 2 requires significantly more space than either of Algorithms 1 and 3, due to the memory requirements of the two-dimensional array A[u, k]

Precomputing Multicast Trees - CS Conclusions The performance of all algorithms decreases rapidly as u increases Algorithm 1 presents the best trade-off between time and space requirements for precomputing tree paths.

Precomputing Multicast Trees - CS References [1] S. Siachalou and L. Georgiadis. “Algorithms for Precomputing Constrained Widest Paths and Multicast Trees”. IEEE/ACM Transactions on Networking. Vol. 13, No. 5. pp October [2] S. Siachalou and L. Georgiadis. “Efficient QoS Routing”. INFOCOM nd Annual Joint Conference of the IEEE Computer and Communications Societies. Vol. 2. pp March-3 April 2003.