Confidential & Proprietary – All Rights Reserved Internal Distribution, October Quality of Service in Multimedia Distribution G. Calinescu (Illinois IT) I.I. Mandoiu (UC San Diego) A. Olshevsky (Georgia Tech) A. Olshevsky (Georgia Tech) K. Yang (Georgia State) K. Yang (Georgia State) A. Zelikovsky (Georgia State) A. Zelikovsky (Georgia State) ES0042
Confidential & Proprietary – All Rights Reserved Internal Distribution, October Outline Quality of Service for Multimedia Distribution Graph-Theoretical Formulation Maxemchuk’s Heuristic Algorithm The Charikar-Naor-Schieber Algorithm Combined Algorithm for Two Rates Naive Primal-Dual like Algorithm Integer Liner Program and Relaxation Restarting Primal-Dual Method Experimental Study Conclusions
Confidential & Proprietary – All Rights Reserved Internal Distribution, October QoS Tree for Multimedia Distribution Given: Network topology Source node and set of “client” nodes requesting information at different rates Cost of transmission that depends linearly on the rate and link length Find: Minimum cost tree that distributes information at the required rate to each client Problem is NP-Hard! Example of a routing tree, with used edges shown in red. Note that a red edge used at high rate carries the low rate signal at no extra cost. source
Confidential & Proprietary – All Rights Reserved Internal Distribution, October Graph Formulation Network nodes graph vertices –Vertices associated with clients have a rate associated with them; all other vertices have zero rate Network links graph edges –The cost of edge e in multicast tree T is rl e where l e is the length of e and r is the maximum rate in the component of T-{e} that does not contain the source. Graph Formulation of QoS Tree Problem: Given graph G, edge lengths l e, node rates r v, find a minimum cost tree that spans the source node together with all positive rate nodes Note: cost of edges depends on the tree
Confidential & Proprietary – All Rights Reserved Internal Distribution, October Maxemchuk’s Heuristic Maxemchuk’s Heuristic starts with the source and grows a tree using the following procedure: 1.Connect a highest rate receiver to current tree using a min-cost path 2. Repeat until all receivers are connected Maxemchuk’s Heuristic is a Modification of the MST Heuristic for Steiner Trees Graph Representation of a Network Maxemchuk’s heuristic tree after all nodes of rate 11 are connected Maxemchuk’s heuristic tree after all nodes are connected 2 22 Cost of Maxemchuk’s QoS Tree = 128
Confidential & Proprietary – All Rights Reserved Internal Distribution, October A Bad Example for Maxemchuk’s Heuristic Optimal 1= length rate Maxemchuk’s 1+1/2 +1/4 2+1/8 4…=1+K/2 K = #rates 1-2 1-3 1-2 1-3 1-4 1 rates 1/2 1/4 1/8 1/16 Approximation Ratio = Approximate/Optimal = O(k)
Confidential & Proprietary – All Rights Reserved Internal Distribution, October The Charikar-Naor-Schieber Algorithm 1.Round all rates to the next highest power of 2 2.Compute Steiner Trees for each rounded rate 3.Output the union of these Steiner Trees Approximation guarrantee: Constructs a tree that is at most 2e 5.4 times larger than optimum Can construct a tree that is at most 4.2 times larger than optimum at the expense of impractical running time Rates after rounding to next highest power of two Cost of Charikar-Naor-Schieber QoS tree = Graph Representation of a Network Resulting QoS tree
Confidential & Proprietary – All Rights Reserved Internal Distribution, October Approximation Ratio of the Charikar- Naor-Schieber Algorithm The following theorem naturally follows from the definition of the Charikar-Naor-Schieber algorithm: Theorem : The Charikar-Naor-Schieber algorithm produces a tree with cost at most 8 times the cost of the optimal tree. Proof : Need to show that: Cost(T approx ) ≤ Cost(T optimal ) The algorithm has three steps. Each step adds a factor of two to the approximation ratio; hence, the final approximation ratio of 8. 1) Rounding up all rates by two at most doubles the cost of the solution 2) Computation of Steiner Trees can be done accurately with an approximation factor of 2. 3) Due to the rounding, each link will have a rate of 2 i. By replacing this link with links of the rate 2 0, 2 1, …, 2 I we get a new network with at most double the cost. In this network, all the edges of a specific rate form a Steiner tree. So, the cost obtained by taking the union of all the Steiner Trees from adds no more than a factor of two. Strictly speaking, this proof gives an approximation factor of 4 α, where α is the approximation factor associated with Steiner Trees. We are taking α =2 for computational expediency. The authors reduce the factor of 4 to e via a randomization technique to obtain a polynomial time algorithm that gives a e α approximation.
Confidential & Proprietary – All Rights Reserved Internal Distribution, October A New Method for Two Rates Algorithm: Let V 1 and V 2 be the sets of vertices of rate r 1, respectively r 2 Compute a Steiner tree for V 1 V 2 Compute the union of the Steiner trees for V 1 and V 2 Output the lower cost tree among the two computed above Theorem: The new algorithm has an approximation ratio of (4/3) α, where f is the approximation ratio achievable for the Steiner tree problem Proof: Let r = r 1 / r 2 and let a 1 = cost ST(V 1 V 2 ) a 2 = cost ST(V 1 ) ST(V 2 ) e 1 = cost of all edges of rate r 1 in optimum solution e 2 = cost of all edges of rate r 2 in optimum solution Then, a 1 / α ≤ (r 1 +r 2 ) e 2 + r 1 e 1 a 2 / α ≤ r 2 e 2 + r 2 e 1 which implies that (1-r) (a 1 / α )+ r 2 ( a 2 / α ) < OPT Finally, min(a 1,a 2 ) < α OPT / (1-r+r 2 ) (4/3) α OPT
Confidential & Proprietary – All Rights Reserved Internal Distribution, October Integer Linear Program and Relaxation This network design problem can be modeled as an integer programming question: 1.Given a network with k rates, r 1 …r k, replace each edge e with length l e by k edges, with the i’th having a cost r i l e. 2. Let x (a,r) be the boolean variable denoting whether the edge of length r emanating from vertex a was used. Then, the optimal tree is the solution to the following integer program: Minimize ∑ a ∑ c x (a,r) r l(a) Subject to: For all cuts C including one of the receiver vertices, ∑ r≥r C x (a,r) ≥ 1 x (a,r) {0,1} The dual of this program is: Maximize ∑ y C Subject To: ∑ C: a δ(C),r≥r C y C ≤ l(a) y C ≥ 0
Confidential & Proprietary – All Rights Reserved Internal Distribution, October Motivation: The Primal-Dual Approach The Primal Dual method has been used to design approximation algorithms for combinatorial problems. We describe this algorithm and a naive modification to account for differing rates. Typical Primal-Dual Based Algorithm Form a neighborhood out of each vertex Grow all neighborhoods at an equal rate Two neighborhoods fuse into one when they touch Naive Modification Grow each neighborhood at the rate proportional to the maximum rate of a vertex it contains However, this naive modification does not provide a good approximation ratio. Consider the example provided. The white circles have rate 1 and the crosses have rate ε, where epsilon is a small number. The distance between successive crosses is δ, where δ is a much smaller number than ε. The result: the crosses will always connect to each other first. Hence, the naive primal dual will always choose the arc rather than the straight path, no matter what the actual lengths are. Since we can make the arc arbitrarily large, this algorithm doesn’t provide a constant approximation ratio Rates ε
Confidential & Proprietary – All Rights Reserved Internal Distribution, October A New Heuristic: Restarting Primal Dual We propose a new heuristic for this problem based on a more sophisticated modification of the primal dual algorithm. Our Modification Add an edge to the graph for each rate and only grow each neighborhood on the edges whose rate is high enough Grow each neighborhood at the speed equal to the maximum rate of the vertices inside it Detailed Description 1. Replace each edge of length l with |R| edges of cost r i l, where |R| is the number of rates. 2. Divide the vertices into subsets of each rate 3. Form a neighborhood for all points of a specific rate 4. Grow each neighborhood with its own rate along edges whose rate is at least as high as the rate of the neighborhood 5. When two neighborhoods touch, freeze the neighborhood with the lower rate. 6. When one neighborhood spans the graph, do cleaning: downgrade unnecessary edges. Then, Restart Restarting Primal Dual applied to the earlier example. It finds a tree of cost 108 as well.
Confidential & Proprietary – All Rights Reserved Internal Distribution, October Bad Example? The bad example described previously does not apply to the restarting primal dual algorithm. Indeed, let us assume there are n crosses. If the distance between successive crosses is δ and the distance between the vertices of rate 1 and the closest cross is ½ δ,then: Time to go through the horizontal path = ½ Time to go through the arc = δ/2 + ½ δ(1-ε)n If Time(horizontal path) > Time(arc) That is, δ/2 + ½ δ (1- ε)n > ½ Then εδ(n+½)+1 > δ(n+1) Which means: cost(horizontal path) > cost(arc) This algorithm avoids the mistake of the naive primal dual. Rates ε
Confidential & Proprietary – All Rights Reserved Internal Distribution, October Experimental Study # Rates# NodesMaxemchukCharikar-Naor- Schieber Naive DualRestarting Dual
Confidential & Proprietary – All Rights Reserved Internal Distribution, October Conclusions Our results –an algorithm with improved approximation ratio for the case of two rates (independent of edge lengths, previously known only for Euclidean edge lengths) –an efficient high-quality heuristic based on the primal-dual framework –experimental study shows that the restarting dual algorithm usually gives better practical results. Open Problems –Improve on the 4.2 ratio given by Charikar-Naor-Schieber –Find improved approximations for the case of two or three rates –Find heuristics with improved practical performance