Optimal Partition of QoS Requirements with Discrete Cost Functions

2 downloads 0 Views 147KB Size Report
The problem which is in general NP complete, was solved for continuous .... 4. 1 c(q ) c(q )1 c(q ) c(q ). Fig. 1. A discrete cost function, and its representation as a step function. ...... [1] Murali Kodialam and Steven H. Low. Resource allocation in ...
Optimal Partition of QoS Requirements with Discrete Cost Functions Danny Raz Yuval Shavitt raz, shavitt  @research.bell-labs.com Bell Laboratories, Lucent Technologies 101 Crawfords Corner Road Holmdel, NJ 07733-3030 Abstract— The future Internet is expected to support applications with quality of service (QoS) requirements. For this end several mechanisms are suggested in the IETF to support signaling, the most promising among them is DiffServ. An important problem in this framework is how to partition the QoS requirements of an application along a selected path. The problem which is in general NP complete, was solved for continuous convex cost functions by Lorenz and Orda. This work concentrates on discrete cost functions, and presents efficient exact and approximated solutions for various conditions of the problem. We also show that the more complex problem of QoS sensitive routing with discrete cost functions is hard, but has a fully polynomial approximation scheme.

I. I NTRODUCTION The future networks are expected to support applications with quality of service (QoS) requirements. For this end, mechanisms are required to support signaling for connection establishment that include QoS routing and resource allocation. The QoS routing problem is to find a minimal cost path (or a multicast tree) in the network that can support the connection QoS requirements (such as delay). Along the selected path, resources (bandwidth, buffer space) should be optimally allocated to support the required QoS at a minimal cost. The latter can be formulized as an optimization problem for the partition of the end-to-end QoS requirements to local requirements along a path (or a multicast tree). In general, the partition problem is intractable. The special case where the link cost functions, i.e., the function that describes the cost of allocating a QoS parameter on a link, are continuous convex cost functions was addressed recently by several works. Kodialam and Low [1] dealt with multicast trees for the strongly convex case. Lorenz and Orda [2] presented polynomial algorithms both for trees and paths for weakly convex cost functions and addressed the QoS routing problem [3]. This work concentrates on discrete cost functions, and presents efficient exact and approximated solutions for var-

ious cases. We first show that even the simplest possible discrete case, i.e., two level cost functions, is still intractable. We give an efficient dynamic programming solution for the special case where the QoS parameter domain is integer, but not necessarily convex. We present a sublinear algorithm for the homogeneous convex case. Both solutions are demonstrated to be easily distributed with low communication and storage complexity. The same techniques are also used to establish similar algorithms for the multicast problem. For the general discrete cost function case, we show a simple reduction of the QoS partition and the QoS routing problems to the restricted shortest path problem [4]. Using this reduction, one can easily derive an  -approximation algorithm both for the QoS partition and routing problems in the unicast case. However, this reduction does not apply to the multicast case. Thus, we present a different fully polynomial approximation algorithm for the QoS partition problem that works both for the unicast and multicast case. Namely, we prove that for any approximation parameter  our approximation algorithm finds a solution with cost not greater than  times the optimal cost, both for paths and trees. Moreover, we show that our approximation can solve also a more general class of non-discrete cost functions. The discrete model used in this work lends itself more easily for practical purposes than its continuous counterpart. For example, in the Internet, DiffServ is suggested as a framework for QoS provisioning [5], [6]. In DiffServ, each packet can be classified to one of finitely many service classes. Such a class, for example, can guarantee a certain bound on the delay for passing through an AS (autonomous system), and is associated with a cost. Consider an application like IP telephony, that requires a delay bound of say 120mSec. To admit this call, we first have to select a route that can support the delay bound, but we would also like to pay as little as possible. Once a path is chosen, we still need to partition the delay bound requirement among the different ASs that comprise this path in a

way that results in a minimal cost. Each of the AS publishes the guaranteed delay and the cost for each service level, which, maps directly to our model. The support of QoS has been the subject of excessive research. The specific aspect of resource allocation in this context has also been excessively studied, in particular, similar framework was studied by [7], [8], [2], [1]. The reader is refered to [9] for a survey on QoS multicast routing algorithms, though from a slightly different perspective. The rest of the paper is organized as follows. In the next section we detail our model and define families of discrete cost functions. In Section III we prove that the QoS partition problem is NP-hard. The paper then focus on the unicast case: in Section IV, we solve the problem for the special case of integer functions; and in the next section we give an approximation algorithm for general discrete cost functions. In Section VI we extend these results to the multicast case. In Section VII we describe an approximation algorithm for the QoS routing problem, and in Section VIII we show that our approximation results also hold for non-discrete cost functions. II. M ODEL A network is represented by a graph  

 , each link is associated with a discrete cost function  R, that assigns a real positive value to each QoS parameter value. To simplify the discussion we sometime refer to the QoS parameter as delay. In the unicast case, a path, p, of length  between two end nodes is given, and that the QoS requirement is additive. Given a bound,  , on the end to end QoS requirement, the QoS partition problem is to find a vector !#" %$&' )()()(' *$,+- , s.t., . +/10 $ /32  , and . +/10  / %$ /  is & & minimal. Note that, the case of bottleneck QoS requirement is trivial [2], and the multiplicative case can be easily reduced to the additive case by using the logarithm of the requirement [10], [2]. In the multicast case, a multicast tree, T, with  nodes is given, and the QoS partition problem is to find a vector !4" %$ & )()()(' *$ +  , s.t., . /%5 $ / 2  , for all paths, p, in p /10 &  / %$ /  is minimal. the tree and . The QoS partition problem is called homogeneous if all the links have the same cost function.

 

A. Discrete cost functions A general discrete cost function associates a cost with each discrete level of QoS. In the most general case, there may be infinitely many discrete QoS levels. We concentrate on the case where link 6 has 687 QoS levels, 9 /%: )()()(' 9 /= . In such a case  / " ? /  9 /%: @ )()()(A  /  9 /ΈÂ*ÍÏÎ . 1. · 2. for ÐÑÆ{Ò to Â*ÊÄ*Å : ÓÕÔ ÒIÖqÐfׯaØ ; if ÐÑÆÙÂ*Í>Î then ÓÇÔ8ÒIÖ¤Ð|ׯÛÚ ÍÏÎ . 3. 4. for ÜRÆÞÝ to ß : 5. for ÐÑÆšÒ to  ÊÄ*Å 6. ÓÇÔ¤ÜQÖqÐf׉ÆTÈà>ázâ@ÈàBáfãVädåäçæÏè*âxÚ Í Îé{ÓÕÔ1Ü]ê‚ÒIÖqкê Â Í Î@×*ëAÖ¾ÓÕÔ1Ü,êìÒAÖ¤Ðf×*ëAí 7. return the largest Ð such that ÓÕÔ1ßRÖ¤Ð|×Kî‘ï .

cost ³

 /: /  / . 64 57!9

the element with the maximal cost is in the optimal set. By "  , the cost found in this iteration is Lemma 4, with F bounded by VPx*¼ . Since the algorithm chooses the best cost over all iteration its output is at least as good. The running time of„ Algorithm General Discrete is ‹ Œ +  since we run the BD Algobounded by %˜  rithm at «omost and the complexity of BD is ‹ %˜‰՝ ¬*­ žA ˜" ‹ times, %˜‰՝ + ª žA . However, can replace / entries and sends them on link U to its parent. A node that receives the kNlIm values from all its children, calculates its  entries and sends them to its parent. When the root receives the kNl'm calculations from all its children it initiates the reservation phase by sending a BUDGET message. This message carries the QoS remaining budget downstream. A node that receives the BUDGET message uses the appropriate entry in the cost table it calculated before locating the QoS parameter allocation in its upstream link. It asks its upstream neighbor to allocate this amount using the RESERVE message, and sends a BUDGET message with the remainder of the budget downstream. The total number of messages is only N , while the bit ‹ complexity is %É  . The storage requirement for each ‹ link is    , thus, for a node with children the storage ‹ requirement is  . The time complexity is  , where is the tree hight. Figures 7 and 8 give a formal description of the algorithm. Each node has the following variables: ¿ the index of the parent link; kGlIm)?U¾ )–> a vector with the optimal cost calculated by the node downstream link U ; kNlImQ–> a vector with the results of the local optimal cost calculation; Y U  Q–> a vector with the QoS parameter that gives the best cost; and çk mQ6 mQ–> a binary vector to monitor the receipt of kNl'm calculations from the child links. In addition, a node holds a discrete cost function,  M   , for each of its downstream links U , and a list of its downstream links .

J

G

L

F "E

G

8KML

N

G

C. Approximations Distributed Multicast Partitioning 1. For START ? M Q–>* from link U U 2. ¿ 3.  ˆQ–>  M Q–> M 4. foreach 6  / 5. sent START ? Q–>* on link 6 çk m¾68m" %6Q [ Á Y U?l  6. 7. if “ J  8. foreach “ kNl'm)  “ "cr " t1u / L r  t1M u  “ /  9. L M Y U    arg 10. 11. send kGlIm)?U¾ )–> on link U 12. For xkNlImQ–> from link U 13. xkNlIm?UQ )–> kGlIm)Q–> mÀ  14. çk m¾6 m)?U  15. if o6  “  Jçk mQ6 m%6V " m À   16. foreach 17. kNl'm) “  " rEt1u / L .  5

3O P O

O

N

Q GR-Q

G

"S

F "E

"S

“ 

N

O

O E RG  MN

T

"S

E

IH  kNl'm)  p O 6QË 7 Pˆ%6V " r 1 t u “ " / S 18. F Y U"E    arg L .  5IH 7 xkNlIm  p O 6Qš  %6Q ¿ 19. send kGlIm)Q–> on link 20. For BUDGET ?pf 21. send RESERVE  Y U  ?p|* on link ¿ M 22. foreach 6  23. send BUDGET ?p O   Y U  ?p|** on link 6 24. For RESERVE ?pf from link U 25. reserve p delay guarantee on link U

"F UE

G

 "F "E

Fig. 7. Distributed Multicast Partitioning — a non-root node algorithm

Distributed Multicast Partitioning 1. For a request with demand  2. foreach 6  / 3. sent START ? Q–>* on link 6 çk m¾6 m)%6Q Á Y Unl  4. 5. For kNlImQ–> from link U kGlIm)   6. kNlIm?UQ 3  À 7. fkAmQ6 m)?U  m  "  8. if ,6  çk 5 m¾6 m)%6Q m À  " 9. xkNlIm .  kNlIm    10. foreach 6  11. send BUDGET R  on link 6 12. For RESERVE ?p| from link U 13. reserve p delay guarantee on link U

O

N

N

T

O

G

O

E G AN IH

E

G

Fig. 8. Distributed Multicast Partitioning — the root algorithm

As mentioned before, in the multicast trees case we cannot use the reduction of Claim 1, since it will require finding a restricted shortest tree rather than a restricted shortest path.3 Thus, in order to derive a fully polynomial approximation scheme, we follow the steps we took in the path case: starting from a feasible (but possibly costy) partition on the tree, we try to use the extra delay we have in order to save as much cost as possible. We use many of the notations from Section V, and we assume that the multicast tree is a binary tree. It is easy to verify that for any multicast tree, T, with  nodes, there exists a binary multicast tree T± , with at most e  nodes, with exactly the same optimal cost.4 The amount of saving is expressed in the following definition. Definition 7: [The benefit discrete QoS partition problem on trees] Given a tree T, with  nodes, sets _ / " b Y / : Y / „ )/DC ()()( " Y / ~ ; g /DC of objects, specific sizes and ™ with   z ¿ À Y I l 8 6 ½   p G k o Á 68m Y /DC  " /DC  profits, Z and ™ ™  Z , find a subset of at Z , and a delay bound ¨ D / C · ; most  objects, Y , each from a different set, such that D / C 2 q / 5 1 / 0 ;  . pp ¨ , for all paths, p T, and . & /DC ; is maximized. · Next we prove that the benefit discrete QoS partition problem on trees has a pseudo polynomial algorithm, that uses dynamic programming. An algorithm similar to the dynamic programming algorithm from Section VI-A is not good enough because it is polynomial in the delay bound ¨ and not the maximal cost  ”¯®H° . In the multicast tree case the rules of the delay and the cost (benefit) is not symmetric since the cost (benefit) is computed over the entire tree while the delay bound is true for any path in the tree. Recall that we assume that the multicast tree T is a binary tree. We also assume that node  is the root of the tree, and that 6 and 6 are the indices of the left and right children of node 6 . Claim 5: Algorithm PPM is a pseudo polynomial algorithm for the benefit discrete QoS partition problem on ‹ Œ multicast trees, that works in *%˜4ñ ¾ ”¯®H°  time, » " r § / C § / C where ”¯®H° . 2 6 2  , and·  2 ¿ 2 Proof: Define %6H ¿  , for  · · š– ”¯®° , to be p iff there exists a QoS partition of the subtree rooted at node 6 with minimal delay bound p and · profit ¿ , and no other partition of this subtree with benefit ¿

WV

PX



¸

To the best of our knowledge approximating a restricted shortest tree for graphs with costs and delays, is an open problem. This is done by replacing the outgoing edges at any node that has more than two children, by a binary tree in which these children are the leaves, and all the links to internal nodes have both zero cost and zero delay.

Y

Pseodo / (T b _ g

Multicast [PPM] /§C /DC ¨ ) /1+ 0 & p Polynomial 1.  ÊÄ*Å ÆÛÈËÊ'Ì Í ÎzÂ Í Î . 2. for ÐÑÆ{Ò to  · ÊÄ*Å : 3. for all leaves Z : 4. ÓÇUÔ Z Ö¤Ð|× Æ [. 5. for ÜRÆÞÝ to ß : 6. for ÐÑÆšÒ to Â*ÊÄ*Å ÓÇÔ¤ÜQÖqÐf× Æ È àBáA\ äçæá-âÓÇÔ¤ÜhKÖqÐaê Z%×*Ö¾È àBáç!Ä ij`ba)è k ÓÕÔ18Ü hK֤Ѝ3ê ZfêÑlÐ d.e#ffÜ gÔqø ùÎ)Ö 01ßRÖQï ê . Í Ú Í ô,õ8ö × . 5. if Ô . Í + Í ên&—'-ù ,  & '-) × then & '-) Æ . Í + Í ôzõ¾ö ê3&—'-ù , .ô,õ8ö 6. remove the element + ÊÄ*Å from its set.

1. 2. 3. 4.

repeat as long as none of the sets is empty: ; for each :

Fig. 10. Algorithm General Discrete for multicast trees

has smaller delay bound. %6 ¿  is if no such partition exists. At node 6 , one can choose the amount of profit and delay from each of the sets associated with the left and the right children of 6 . One can also choose not to choose each of these elements. In any case, the relation defined by line 7 of Fig. 9 holds. Therefore the value of %Š ¿  , is the best possible delay bound for the given tree T with profit ¿ , and the algorithm outputs the optimal value. Since we need to compute ]–Ï ”3®° different values, and / to compute %6 ¿  we need at most ”¯®H° ?U ÙI steps, the ‹ Œ · over all complexity of the algorithm is *%˜Sì ¾ ”3®°  .





·

j

·

We apply now the rounding technique from Section V to achieve an approxiamtion scheme for this case. We use Algorith BD with a call to PPM rather than PP (this version ¸ is called BDM5 ). This results in an  -approximation «o¬V­ Œ " ‹ ” algo‹ + rithm that runs in time *%˜ ‘ ¾]' žA  „ .



%

Fig. 10 presents a slightly modified version of the GD Algorithms for the multicast trees case. Applying Claim 4 and Lemmas 4, 5 for GMD we get the following theorem. Theorem 5: Algorithm General Discrete Multicast is a fully polynomial approximation algorithm for QoS parti-

o The formal description of BDM is omitted.

Y % @CB!D

tion problem on multicast trees with general cost ” + discrete ” ‹ function. It has time complexity of  „ . VII. T HE Q O S R EQUIREMENTS ROUTING P ROBLEM In this section we formally define the QoS requirements routing problem with discrete cost functions. We then show that it is an NP hard problem and show how to obtain a fully polynomial approximation scheme for this problem. Definition 8: [The QoS requirements routing prob" lem with discrete cost functions] Given a graph  

 , each edge is associated with a discrete cost function, and a delay bound ¨ , find a path p, and a partition such that the delay along the chosen path is bounded by ¨ , and the cost along this path is the minimal possible. Clearly this problem is NP-complete since the QoS partition problem with general discrete cost function is a special case of it (when the graph  is a line). Even the simpler problem of finding the best path without specifying the QoS partition along it is NP-complete, this follows from a straight forward reduction to the restricted shortest path problem [4]. Claim 1 provides a constructive way to construct an instance of the restricted shortest path problem from a given instance of the QoS routing problem with general discrete cost function. Using it, and the approximation results from [4], we get the following Theorem. Theorem 6: The QoS requirements routing problem with discrete cost functions has a fully polynomial approximation scheme. VIII. G ENERAL C OST F UNCTIONS In this section we discuss general cost functions. That is, we do not assume any properties such as monotonicity or convexity. Such a function, which is defined for all cost values, is represented by a constant number of bytes. It computes the delay guarantee for a given cost in polynomial time in the representation of the input number. Note that although the discrete functions defined in Section II look similar to the general cost functions, the representation of such a function is linear in the number of points " y& and not constant. For example, the function kGlIm)?pf © [ is defined for every p , but if we want to represent it by a discrete function we would have to explicitly give the cost value of each possible delay. To emphasize this point / we use here Á  ¼kGlImÕ ¨  U Yd¦ for the reverse function kNl'm & , thus for the above example Á / & ?p| " y & . For such functions we can prove the following theorem. / Þ¼ËkNl'mû Theorem 7: For a set of  functions Á / & , or ¨  U Yd¦ , /such/ " that for each such a function either Á J / / ÁŠ? * , with p ¨‰•A is given, a graph  , a pair ? p

qp

p

p

a delay bound ¨ , and an approximation parameter  , one can: “ 1. Given a path 6 , find an  -approximation algorithm for the QoS partition problem. 2. Given a multicast tree, T, find an  -approximation for the QoS partition problem on multicast trees. Proof: First observe that given the reverse function Á / / & one can compute Á / & ?¨‰•A  "  / , and use the pair ? ¨ •A  . These pairs define a feasible solution, both for the path and multicast tree problems with cost bounded by  ”¯®H° " . +/

Suggest Documents