170 likes | 293 Views
Quality of Service in Multimedia Distribution. G. Calinescu Illinois IT G. Fernandes Brazil I. M ă ndoiu UConn A. Olshevsky GaTech K. Yang Georgia State A. Zelikovsky Georgia State. Outline. QoS for multimedia distribution Quality of Service Steiner Tree Problem
E N D
Quality of Service in Multimedia Distribution G. Calinescu Illinois IT G. Fernandes Brazil I. Măndoiu UConn A. Olshevsky GaTech K. Yang Georgia State A. Zelikovsky Georgia State
Outline • QoS for multimedia distribution • Quality of Service Steiner Tree Problem • Previous work • Maxemchuk‘s heuristic • Rounding heuristic • Naive primal-dual • Restarting primal-dual • Experimental results • Conclusions
QoS for Multimedia Distribution 2 Given: • source in the network • set of customers requesting high volume data at different rates (bandwidths) • cost of link is proportional to • link length (or data unit cost) • rate (or bandwidth) Find: • Minimum cost tree connecting source to each customer • S.t. each customer gets data with at least requested rate 4 S 4 1 3 6 6 1 8 7 4 2 2 4 6
QoS for Multimedia Distribution 2 Given: • source in the network • set of customers requesting high volume data at different rates (bandwidths) • cost of link is proportional to • link length (or data unit cost) • rate (or bandwidth) Find: • Minimum cost tree connecting source to each customer • S.t. each customer gets data with at least requested rate 4 S 4 1 3 6 6 1 8 7 4 2 2 4 6 cost = 68 +44= 64
QoS for Multimedia Distribution 2 Given: • source in the network • set of customers requesting high volume data at different rates (bandwidths) • cost of link is proportional to • link length (or data unit cost) • rate (or bandwidth) Find: • Minimum cost tree connecting source to each customer • S.t. each customer gets data with at least requested rate 4 S 4 1 3 6 6 1 8 7 4 2 2 4 6 cost = 69 +42= 62
Removing Source and Directions We may get rid of source and directions by • assigning to source the maximum rate and • introducing rates on edges: rate of edge e, r(e) is the lowest rate between the maximum node rate in two components T1 and T2 in the routing tree T-e tree T e T1 T2 r(e)=min{r1,r2} Max node rate r1 Max node rate r2
Formal QoSST Problem Given: Undirected graph G=(V,E, l, r) with rates r: VR+ on nodes (r = 0 means Steiner point) lengths l: ER+ on edges (l is a metric) Find:Spanning tree T of minimum cost cost(T) = e E r(e) l(e), where rate of edge e, r(e), is the smaller among maximum node rates in connected components of T-e
Previous Work • Introduced by Current[1986] in the context of network design and Maxemchuk[1997] in the context of network routing • Known as Multi-Tier/QoS/Grade-of-Service STP • Case of a single rate = classical Steiner tree problem • Case of few rates explored in a series of papers by Mirchandani-Balakrishnan-Magnanti [1994, 1996] • Mirchandani at al [1996] and Xue et al[2001] obtained better results for the case of two and three rates • First constant-factor approximation algorithm for arbitrary number of rates given by Charikar-Naor-Schieber[2001].
Maxemchuk’s Heuristic 2 2 Kruskal-like algorithm • Each node is a component • Repeat while there are disconnected components: • Connect two closest components of highest rate with the edge of this rate • When only single component has highest rate, then down-rate this component to the next closest rate 4 6 4 1 3 6 6 1 8 7 4 2 2 4 6 cost = 68 +44= 64
How Accurate is Maxemchuk’s Algorithm? rates 1- Maxemchuk’s 1+1/21 + 1/42 + 1/84 + … = 1+K/2 K = #rates 1-2 1-2 1-3 1-3 1-3 1-3 1-4 1/4 1/4 1/16 1 1 Optimal 1 = length rate 1/8 1/8 1/8 1/8 1/2 Approximation ratio = O(K) = O(log2 n), n = # of nodes 1
Rounding Algorithm 2 Algorithm (Charikar-Naor-Shieber’2001): • Round all rates to the closest power of 2 (or better) • Compute Steiner Trees for each rate • Output the union of these Steiner Trees. • Constructs a tree that is at most 2e (5.4) times larger than optimal • Can construct a tree that is at most 4.2 times optimal at the expense of impractical running time 6 4 4 1 3 6 6 1 8 7 4 2 2 4 6 cost = 69 +42= 62
Naive Primal Dual Regular Primal Dual • Form components out of each vertex • Grow components at an equal rate • Two components collapse into one when touched Naive Primal Dual • Grow each component at the rate proportional to the maximum rate of a vertex it contains 1 1 The white circles have rate 1 and the crosses have very small rate. The distance between successive crosses is is a much smaller number than rates
Integer Linear Program and Relaxation r1 • Given a network with k rates ri replace each edge e with length l by k edges, each having a cost ri l. • Let x(a,r) be the boolean variable denoting whether the edge of length r emanating from a is used. • The optimal QoSS tree is the solution to the following integer program: Minimize Subject to: For all cuts C s r2 The dual of this program is: Maximize Subject To: y_C => 0
Restarting Primal Dual 2 1. Replace each edge of length l with R edges of cost ri l , where i=1,…,R, where R is the number of rates. 2. 4. Grow each component with its own rate along edges whose rate is at least as high as the rate of the component 5. When two components touch, freeze the component with the lower rate. 6. When highest rate component spans all nodes of highest rate, do - all highest rate edges add to the tree - remove all other edges - collapse all highest rate nodes into a single node of the next highest rate - restart with the next highest rate. 6 4 4 1 3 6 6 1 8 7 4 2 2 4 6 cost = 69 +42= 62
Conclusions • We give 2 new primal-dual heuristics for QoSST problem • Compare on simulated data PD heuristics with two known before heuristics showing up to 7% cost improvement • Give a provably good practical approximation algorithm which guarantees at most 4.5 worse than optimum