A Distributed Algorithm for Resource Allocation ... - NCSU COE People

0 downloads 0 Views 476KB Size Report
service provider's utility (i.e., an economic profit or any more generally defined desired ... explicitly incorporate the calculated end-to-end delay that a service ...
A Distributed Algorithm for Resource Allocation for Delay Sensitive Services Michael G. Kallitsis ∗ , Robert D. Callaway ∗† , Michael Devetsikiotis ∗† , and George Michailidis §

∗ Department

of Electrical and Computer Engineering, NC State University, Raleigh, North Carolina 27695 DataPower SOA Appliances, IBM, Research Triangle Park, North Carolina 27709 § Department of Statistics, University of Michigan, Ann Arbor, Michigan 48109 [email protected], [email protected], [email protected], [email protected]

† WebSphere

Abstract—In this paper, we present a distributed algorithm that dynamically allocates the available resources of a serviceoriented network to delay sensitive network services. Our algorithm is based on Gauss-Seidel type iterations. Thus, each node depends on its local information and sends/receives a small number of messages, until convergence is achieved. We use a utility-based framework to differentiate services based on both their relative profitability and quality-of-service requirements. Our performance metric is a network calculus driven, end-to-end delay that a service class experiences in the network. Finally, we evaluate the performance of our system under various scenarios, including an analysis with real instant messaging network traces.

I. I NTRODUCTION Recent advances in networking technologies have motivated telecommunication providers to introduce value-added services layered on top of their commodity transport services, so as to differentiate their services against those of their competitors. Moreover, businesses across all industries realize the need to be flexible and adaptable to change in order to succeed in today’s information-driven economy. Serviceoriented networking (SON) is an emerging architecture that addresses the requirements of a scalable network infrastructure, with distributed and dynamic data exchange between the services that comprise a corporation’s business processes. SON enables network devices to operate at the application layer to provide functions such as service-based routing, content transformation, and protocol integration to consumers and providers [1]. We expect that enterprise applications of the future will leverage distributed SON deployment patterns where several SON devices coordinate with peers using networkwide application-specific policies. Manual configurations are not ideal for these environments, nor can they adapt the configuration to dynamic network and application conditions. SON devices should therefore coordinate with their peers to determine the appropriate points in the network to perform configuration changes based on prevailing network and application conditions. Our framework is not targeting largescale Internet-based topologies though; we are interested in SON appliances deployed in large-size corporate networks (i.e, intranets). We combine ideas from economics, optimization theory, and traffic analysis to extend our existing Measurement Based Optimal Resource Allocation (MBORA) framework, presented in [2], and further developed in [3], that directly addresses

the dynamic and distributed resource allocation problem in service-oriented networks. Our problem formulation considers services with different priorities and quality-of-service requirements based on predefined service level agreements on end-to-end delay. Our framework effectively maximizes the service provider’s utility (i.e., an economic profit or any more generally defined desired welfare), in addition to allocating the resources to services in an optimal and fair manner. We explicitly incorporate the calculated end-to-end delay that a service experiences from source to destination into our mathematical formulation via an exponentially increasing cost function. This allows us to allocate resources to higher priority services in a SON which are experiencing delays that exceed their target threshold. Anticipating large and distributed future SON deployments, it is desirable to investigate the scalability of distributed resource allocation algorithm, such as the one presented in [3]. While certainly being attractive from an analytical point of view, gradient descent algorithms that are based on dual decomposition, coupled objective functions, etc., can have high implementation overheads that limit their scalability in real systems. This serves as our motivating factor to investigate alternative (and possibly suboptimal) techniques that can achieve near-optimal results with less message exchange overhead, and are therefore more scalable for SON deployments of the future. The structure of this paper is as follows: First, we review related work regarding flow control and optimization. In Section III, we provide an overview of our MBORA system and describe its components. In Section IV, we present the optimization problem that needs to be solved and in Section V we illustrate how the problem can be decomposed and solved in a distributed manner. Finally, we provide experimental performance evaluation results, including a scenario with real instant messaging network traces. II. R ELATED W ORK Our flow control methodology resembles the seminal work by Kelly et al. [4], [5] in which the network utility maximization (NUM) problem is introduced. The authors proposed a distributed algorithm, that yields a fair allocation of the network resources. In addition, the algorithm is stable in the sense that it will always converge to a solution despite any possible perturbations on the information that the algorithm

978-1-4244-3533-3/09/$25.00 (c)2009 IEEE 1

collects from the network. The model presented in this paper differs from Kelly’s work; we incorporate the end-to-end delay of each service in the cost function of our utility, and furthermore, our distributed algorithm does not rely on dual decomposition. Flow control has been studied extensively in the context of wired networks [6], [7], [8], [9], [10], [11], [12], [13]. In [6], an optimization approach to flow control is presented, where the goal is to maximize the total utility of all sources over their transmission rates. The basic algorithm solves the dual problem and involves links calculating bandwidth prices and sources selecting rates based on current link prices. In [7], the authors investigate the problem of allocating transmission data rates to users in the Internet in a distributed fashion. In addition to the customary concave utility functions, they propose the use of sigmoidal (non-concave) ones as appropriate for capturing the elasticity of delay sensitive services, like video and audio. Therefore, a non-convex optimization problem needs to be addressed. In [8], the utility maximization problem in networks where flows arrive and depart dynamically is studied (as opposed to Kelly’s work where flows appear to have infinite backlog to transfer). Their goal is to maximize the long-term expected system utility, subject to link capacity constraints. In [9], a game-theoretic framework for bandwidth allocation for elastic services (an elastic service is defined as a service that can modify its data rate according to the available bandwidth within the network) is suggested and a distributed algorithm that yields the optimal and fair allocation is implemented. In [10], the authors propose to maximize a utility function established by the network subscribers and resources are shared based on the solution of that optimization problem. The above papers primarily attack the issue of congestion control on the Internet (e.g., a typical application of rate control appears in the TCP traffic context). Nonetheless, research based on the NUM framework have emerged for power control and rate adaptation in wireless networks [14], [15], MAC protocol [16], etc. A synoptic tutorial on crosslayer optimization can be found in [17]. III. M EASUREMENT BASED O PTIMAL R ESOURCE A LLOCATION Figure 1 illustrates our modeling framework. It corresponds to a SON appliance (e.g., see IBM’s WebSphere DataPower SOA appliance [18]) whose application layer awareness allows for content-based routing and resource allocation based on the priorities and QoS requirements of incoming services. The proposed system consists of the measurement, the optimization and the resource orchestrator module. On-line traffic estimation and monitoring is taken care by the measurement module. In this work, traffic is described by (ρi , σi , Ri ), where ρi is the mean arrival rate of class-i, σi represents the burst size and Ri its peak rate. Nevertheless, alternative traffic models could be used as well. The optimization module receives the traffic characteristics of each class and communicates with other network nodes in a distributed fashion to solve the optimization problem discussed in Section IV. Note that this

Adjacent MBORAs

ij*(t-1)

ȡ1, R1, ı1, L1

MEASUREMENT

ȡ2, R2, ı2, L2

OPTIMIZATION (Distributed Algorithm)

(EWMA) ȡk, Rk, ıK, Lk

ĭJ1 * Class 1

ĭJ2* Class 2

RESOURCE ORCHESTRATOR (DWFQ, DWRR)

ĭJk* Class k

Fig. 1.

High level architecture of MBORA at node-j.

happens only when there is a significant change in traffic characteristics; this is indicated by an out-of-control signal which is triggered by our Exponentially Weighted Moving Average (EWMA) control scheme when the traffic intensity of a particular class changes. More information about the MBORA system is provided in our earlier work [2], [3]. IV. F ORMULATION OF O PTIMIZATION P ROBLEM Our utility function consists of a revenue function and a cost one. The revenue function has a logarithmic form and is based on the seminal work of Kelly et al. [4] that allows for price-based differentiation of services. The cost function has an exponential form and the intuition behind that is to have an increasing cost function as a function of the end-to-end delay that a service class experiences. The motivation behind our utility function is a weighted proportionally fair allocation scheme, such as the one presented in [4]; the difference is that in our case we penalize services that violate their delay service level agreements. If the delay for all services in our system is negligible (significantly below their respective thresholds), then the allocation would converge to a proportionally fair solution. The revenue, rji (·), of class-i at node-j is given by rji (φji ) = pi log(φji Cj ), while the cost, ci (·), is given by the exponential function ci (·) = bi Di (·) exp[βi (Di (·) − di )]. The coefficient pi corresponds to the price/priority of servicei and bi is a parameter that adjusts the cost of the provider whenever the service level agreements (SLAs) of service-i are not met. A higher priority class u requires better service than a lower one v and this implies pu > pv and bu > bv . Di (·) is our performance metric; precisely, is the end-to-end delay metric shown in equation (4). Parameter di is the desired delay bound (target level under the SLA), while parameter βi adjusts the steepness of the cost function.  = [φ1 , . . . , φK ] where Let φi = [φ1i , φ2i , . . . , φN,i ] and φ K is the number of service classes and N is the number of

2

network nodes. The optimization problem becomes: K  K N   rji (φi ) − ci (φi )} π = max{  φ

i=1 j=1

i=1

K N   pi log(φji Cj )Hji + = max{  φ



K 

i=1

(1)

j=1

Fig. 2. Simple topology. The two nodes exchange their local solutions until our convergence criteria are met.



bi Di (φi )eβi (Di (φi )−di ) }

i=1

subject to the constraints: Hji φji > Hji ρi ≥ 0, (∀j ∈ {1, 2, . . . , N }, ∀i ∈ {1, 2, . . . , K}| Hji = 1) K 

φji Hji − 1 ≤ 0, ∀j ∈ {1, 2, . . . , N }

(2)

j = 1, . . . , N (3)

i=1

H is the N × K incidence matrix representing the path taken by each service class in our topology. Hji = 1 when class i flows through node j and Hji = 0 otherwise. The performance metric Di (φi ) for class-i is given by: σi − Li Ri − ri Li  Li × + + ( + Sj ) (4) ri Ri − ρi ri φji Cj j=1 N

Di (φi ) =

 j−1 (t + 1), φj (t + 1) = fj (φ1 (t + 1), . . . , φ φj (t), . . . , φN (t)),

where ri = minj {φji Cj }. This is a deterministic end-to-end delay bound derived from network calculus [19]. It considers traffic details (ρi , σi , Ri ) and the maximum message size Li . Sj = Lj,max /Cj with Lj,max being the maximum message size at node-j across all classes. The mean ρi can be measured online whereas the remaining parameters are determined through offline analysis of network traces. ri represents the minimum allocation that class-i receives among the nodes-j it traverses. In (4), propagation delays are not considered as they are assumed insignificant. V. D ECOMPOSITION AND D ISTRIBUTED A LGORITHM This section elaborates on decomposing the aforementioned centralized problem into several subproblems so as to enable a distributed solution of the optimization problem. Decomposing the original problem into N separate subproblems is not trivial. Note that the end-to-end delay of service-i, Di (φi ), and, thus, the corresponding objective functions, can depend on local variables (i.e., node-j) and also on variables of other nodes. Specifically, Di (φi ) = Di (φji , {φξi }ξ∈Ξ(i) ) where ξ = j and Ξ(i) is the set of nodes that service classi traverses after passing through the first node it encounters and {φξi } emblematize the coupled variables. Therefore, we can potentially have coupled objective functions which is something not in favor of decomposing the original problem into several subproblems. Our decomposition method is motivated by Gauss-Seidel  are updated one type algorithms [20]. The components of φ at a time, and the most recently computed values of the other components are used. The resulting iteration is described mathematically by:

(5)

In the above iterative equation, φj = (φj1 , φj2 , . . . , φjK ) is the allocation of resources at node-j, and fj is a function that yields the next iterate. The main idea of the algorithm (see Algorithm 1) is that each node locally solves subproblem 6. The problem’s decision variables, φji , are just the local ones and the coupled variables, φξi , are kept fixed. After each iteration, nodes transmit their current solution to the coupled ones, inasmuch as convergence is not satisfied yet. In other words, a node would only reveal its solution to nodes serving the same flow. The optimal order of exchanged messages based on dependency graphs is part of our future studies.  max − φji

K 

bi Di (φji , {φξi }ξ∈Ξ(i) )Hji eβi (Di (·)−di )

i=1

+

K 



(6)

pi log(φji Cj )Hji

i=1

We illustrate our algorithm using the simple topology in Figure 2. The utility function is depicted 2 2 p log(φ i ji Cj ) − b1 D1 (φ11 , φ21 )exp[β1 (D1 (·) − i=1 j=1 d1 )] − b2 D2 (φ12 , φ22 )exp[β2 (D2 (·) − d2 )]. Based on our algorithm, during iteration number t, the following optimization problem is solved at node-1:  max p1 log(φ11 C1 ) − b1 D1 (φ11 , φ21 (t − 1))eβ1 (D1 (·)−d1 ) φ11 ,φ12  +p2 log(φ12 C1 ) − b2 D2 (φ12 , φ22 (t − 1))eβ2 (D2 (·)−d2 ) The current optimal solution, (φ11 (t), φ12 (t)), is sent to node-2, which then solves: max

φ21 ,φ22



p1 log(φ21 C2 ) − b1 D1 (φ11 (t), φ21 )eβ1 (D1 (·)−d1 )

+p2 log(φ22 C2 ) − b2 D2 (φ12 (t), φ22 )eβ2 (D2 (·)−d2 )



Node-2’s optimal solution, (φ21 (t), φ22 (t)), is transmitted to node-1 for iteration t + 1. The procedure continues until the convergence criteria are satisfied.

3

Algorithm 1 MBORA’s distributed algorithm at node-j

bi $/sec 100

di msec 1

ρi 0.15

σi bytes 10Li

Ri M bps 4

Li bytes 50

0.33 0.32 Class−1 0.31 0.3

Our scenario involves a tree-type topology consisting of N = 4 nodes and utilized by K = 5 services. Such topologies are useful in several settings, such as Enterprise Service Bus (ESB) topologies in service-oriented architectures (SOA) [21]. Specifically, the incidence matrix is: ⎛ ⎞ 1 1 1 0 0 ⎜ 1 1 1 1 1 ⎟ ⎟ H=⎜ (7) ⎝ 1 1 1 1 1 ⎠ 1 1 1 0 0 The parameters of the profit function and the traffic characteristics of each class used in this study are shown in Table I. Note that the traffic parameter ρi is normalized to the value of 1M bps. Node capacities were assumed to be j × M bps, where j = 1, . . . , N = 4. In Figure 3, we study the sensitivity of our system when the traffic load of class-1 changes. We observe the trend of allocating more resources for the service class bringing more traffic (i.e., class-1). Moreover, we noticed that as the system becomes more stressed, the overall profit of the provider decreases substantially (not shown in the panels for brevity); this is because a higher utilization of the system implies longer queue delays and, therefore, the value of the cost function increases. In Figure 4, we vary the pricing parameter and we view that allocations are strongly correlated with the price/priority of each class. In Figure 5, we examine the sensitivity of our model with respect to the delay threshold di . Notice that as the threshold increases (i.e., the QoS

0.05

0.15 0.25 Class−1 input load

Class−2, Class−3

0.3

Class−4, Class−5 0.25 0.2 0.15 0.1

0.35

0.05

0.15 0.25 Class−1 input load

0.35

Node−4 allocations

Node−3 allocations 0.355

0.3

0.2

Class−1

0.1

Class−2, Class−3

Class−1

0.35

Class−2, Class−3 0.345 0.34 0.335 0.33

Class−4, Class−5 0

0.05

0.15 0.25 Class−1 input load

Fig. 3.

0.35

0.325

0.05

Optimum alloation φ1i

0.4

0.45

0.35

0.4 Class−1

0.35

Class−2, Class−3 0.3

0.05

0.35

Node−2 alloations

0.5

0.25

0.15 0.25 Class−1 input load

Sensitivity to mean arrival traffic load ρ1 .

Node−1 alloations

0.25 0.5 Class−1 price

Class−1 Class−2, Class−3 Class−4, Class−5

0.3 0.25 0.2

0.75

0.05

Node−3 alloations

0.25 0.5 Class−1 price

0.75

Node−4 alloations 0.4 Class−1

Optimum alloation φ3i

A. Numerical results

Class−2, Class−3

0.4

VI. P ERFORMANCE E VALUATION In this section, we deliberate on the sensitivity of our system with respect to modeling parameters like mean arrival rate, pricing parameters and QoS requirements. In addition, we evaluate MBORA under real network traces, and finally, we compare the communication overhead of our model with an alternative distributed algorithm based on dual decomposition.

Optimum allocation φ2i

Optimum allocation φ1i

0.34

Optimum allocation φ4i

pi $/bps 0.05

Class−1

Optimum alloation φ2i

PARAMETERS OF EACH SERVICE CLASS i (i = 1, 2, . . . , 5)

0.35

Optimum alloation φ4i

TABLE I

Node−2 allocations

Node−1 allocations 0.35

Optimum allocation φ3i

1: procedure A LGORITHM 2: INPUT: Utilities, links capacities, incidence matrix H.  3: INIT: t = 0. Set φ(0) to non-negative values. 4: while Termination Criterion = HAPPY do 5: Receive previous iteration solution from adjacent nodes. 6: Assume coupled variables fixed, equal to prev. iter. solution. 7: Solve subproblem (6). 8: Update coupled nodes with local solution. 9: t=t+1 10: end while  11: return optimum allocation φˆ∗j 12: end procedure

0.25 Class−1 Class−2, Class−3 0.2

Class−4, Class−5

0.38

Class−2, Class−3

0.36 0.34 0.32

0.15 0.05

0.25 0.5 Class−1 price

Fig. 4.

0.75

0.05

0.25 0.5 Class−1 price

0.75

Sensitivity to pricing parameter p1 .

requirement is relaxed), the corresponding class is allocated less resources (class-1 in this case).

B. Real network traces scenario In this part, we employ application layer traffic to capture the performance of our model in a real world scenario. Specifically, we use three different traces of instant messaging traffic that were captured at the internet gateway of a large enterprise (see [3]). The incidence matrix for this scenario is:

4

0.35 Class−1 Class−2, Class−3 0.3

0.25

Optimum allocation φ

Optimum allocation φ

2i

0.24

1i

0.4

0.2

0.22 0.2

Mean traffic (ρ1 , ρ2 , ρ3 )

class−4, Class−5

360

(0.01, 0.20, 0.08)

501

(0.09, 0.51, 0.20)

613

(0.23, 0.20, 0.23)

1023

(0.02, 0.07, 0.04)

1921

(0.09, 0.41, 0.32)

2413

(0.01, 0.06, 0.06)

3391

(0.09, 0.46, 0.21)

3851

(0.04, 0.06, 0.04)

4831

(0.57, 0.37, 0.12)

5332

(0.01, 0.02, 0.04)

0.1 5 10 15 20 Class−1 delay threshold d1 (× msec) Node−4 allocations

4i

0.4 Class−1, Class−2, Class−3 Class−4, Class−5

Optimum allocation φ

3i

Time slot (in minutes)

0.16

Node−3 allocations

Optimum allocation φ

Class−2, Class−3

Class−1 0.18

0.1 5 10 15 20 Class−1 delay threshold d1 (× msec)

0.35 0.3

TABLE II T RAFFIC CHANGES CAPTURED BY OUR EWMA CONTROL SCHEME . EWMA PARAMETERS USED ARE λ = 0.47 AND L = 3.711 ( SEE [22]).

Node−2 allocations

Node−1 allocations

0.25 0.2 0.15

0.35

0.3

0.25 Class−1 Class−2, Class−3

0.1

0.1 5 10 15 20 Class−1 delay threshold d (× msec)

0.2

1

Fig. 5.

TABLE III A LLOCATION GIVEN BY MBORA TO IM SERVICES : SERVICES HAVE

0.1 5 10 15 20 Class−1 delay threshold d (× msec) 1

EQUAL PRICES

Time slot

Sensitivity to delay threshold d1 .



1 ⎜ 1 H=⎜ ⎝ 1 1

1 1 1 1

⎞ 0 1 ⎟ ⎟ 1 ⎠ 0

(8)

Class-i, i ∈ {1, 2, 3}, is assigned the following parameters: pricing parameters are set to pi = $1/bps and bi = $1/sec, delay threshold is di = 2 secs, link capacity is C = 20Kbps and steepness parameter is βi = 0.1. Traffic characterization includes: peak rate Ri = 1 (normalized to C) and burst size σi = 10 × Li , where Li is the maximum message size (200 bytes, see [3]). Our experiment was performed on a time window of 6000 minutes. In Table II, we view the outcome of our EWMA monitoring scheme. Specifically, we see the time slots that traffic changes occurred, and the newly estimated mean arrival rate, ρi , as measured by our online measurement module. After each time shift, an out-of-control signal is generated and the optimization problem is resolved to reallocate the available resources. Table III tabulates the results; the first column represents the time slot that traffic change happened and the remaining columns show the optimal allocation at each network node. In Table IV, we see the allocation calculated by MBORA in the case where service class-1 has the highest priority. In particular, its reimbursement price is set to b1 = 5. Incoming traffic was identical to the previous scenario. One can observe the increase of bandwidth allotment to service class-1. In the aforementioned tables, time slots that are marked with an asterisk indicate a suboptimal solution of the optimization problem. Analysis of the convergence performance of our algorithm is part of our future studies.

360∗ 501 613 1023 1921 2413 3391 3851 4831∗ 5332

Node-1 (φ11 , φ12 )

Node-2 (φ21 , φ22 , φ23 )

Node-3 (φ31 , φ32 , φ33 )

Node-4 (φ41 , φ42 )

(0.47, (0.49, (0.50, (0.50, (0.50, (0.50, (0.51, (0.50, (0.57, (0.50,

(0.32, 0.36, 0.32) (0.25, 0.51, 0.25) (0.34, 0.33, 0.33) (0.34, 0.34, 0.32) (0.27, 0.41, 0.32) (0.34, 0.33, 0.33) (0.27, 0.46, 0.27) (0.33, 0.34, 0.33) (0.55, 0.35, 0.1) (0.33, 0.34, 0.33)

(0.23, 0.27, 0.5) (0.13, 0.51, 0.36) (0.23, 0.23, 0.53) (0.25, 0.25, 0.5) (0.16, 0.41, 0.43) (0.24, 0.24, 0.51) (0.15, 0.46, 0.39) (0.24, 0.25, 0.51) (0.55, 0.35, 0.1) (0.25, 0.25, 0.51)

(0.8, 0.2) (0.45,0.55) (0.50, 0.50) (0.49, 0.51) (0.47, 0.53) ((0.50, 0.50) (0.46, 0.54) (0.50, 0.50) (0.57,0.43) (0.50, 0.50)

0.53) 0.51) 0.50) 0.50) 0.50) 0.50) 0.49) 0.50) 0.43) 0.50)

C. Comparison with algorithms based on dual decomposition In our previous work [3], we developed a distributed algorithm based on dual decomposition. The algorithm uses a technique called consistency pricing to overcome the problem of the coupled objective functions. However, this technique involves a significant number of message exchange (i.e., consistency prices and decision variables) between coupled nodes. Our Gauss-Seidel type algorithm requires fewer message swaps among network devices and, thus, it has reduced communication overhead than dual decomposition type algorithms. For example, in the topology of the previous subsection, our TABLE IV A LLOCATION GIVEN BY MBORA TO IM SERVICES . C LASS -1 HAS A HIGHER PRIORITY

Time slot 360∗ 501 613 1023 1921 2413∗ 3391 3851 4831 5332

Node-1 (φ11 , φ12 )

Node-2 (φ21 , φ22 , φ23 )

Node-3 (φ31 , φ32 , φ33 )

Node-4 (φ41 , φ42 )

(0.55, (0.49, (0.58, (0.57, (0.58, (0.44, (0.54, (0.58, (0.58, (0.58,

(0.41, 0.32, 0.27) (0.29, 0.51, 0.2) (0.42, 0.30, 0.28) (0.42, 0.29, 0.29) (0.27, 0.41, 0.32) (0.34, 0.43, 0.23) (0.33, 0.46, 0.21) (0.42, 0.30, 0.28) (0.55, 0.35, 0.1) (0.42, 0.30, 0.28)

(0.32, 0.23, 0.45) (0.18, 0.51, 0.31) (0.31, 0.21, 0.48) (0.33, 0.22, 0.45) (0.21, 0.41, 0.37) (0.26, 0.34, 0.40) (0.20, 0.46, 0.34) (0.33, 0.22, 0.45) (0.55, 0.35, 0.1) (0.33, 0.22, 0.46)

(0.8, 0.2) (0.49, 0.51) (0.65, 0.35) (0.64, 0.36) (0.59, 0.41) (0.94,0.06) (0.54, 0.46) (0.65, 0.35) (0.63, 0.37) (0.65, 0.35)

0.45) 0.51) 0.42) 0.43) 0.42) 0.56) 0.46) 0.42) 0.42) 0.43)

5

ACKNOWLEDGMENT The work of GM is supported by NSF grants DMS-0806094 and DMS-0505535. MD is supported by IBM and CACC. R EFERENCES

Fig. 6.

Structured topologies.

algorithm requires 4 messages per iteration: node-4 sends its solution to node-3, node-3 updates node-2 with its local solution and the solution of node-4, node-2 forwards its results and the values of nodes 3 and 4 to node-1, and, finally, node1 concludes the iteration by transmitting to node-4 its local calculations along with the solutions of nodes 2 and 3. On the contrary, the dual decomposition algorithm would require 8 message exchanges per iteration. To illustrate the communication difference we examine three topologies with specific structure (Figure 6). We assume the following: (a) in the serial topology, a class passes via nodes 1 to N , (b) in the split case, a class follows the path between nodes A and B and a second one travels through A and C, (c) in the tree setup, we have 2L classes starting from the root node and each of them ends at a different leaf node. L is defined as the height of the tree, i.e. L = log2 (N ) − 1. Let D denote the number of messages required in the dual decomposition method and GS the number needed for the proposed algorithm. In the serial case, D = 2(N − 1) and GS = N . In the split topology, D = 2(N1 + 2N2 − 1) and 1. Finally, in the tree scenario, D = GS L= N1 + 2N2 +  L 2 i=1 2i and GS = i=1 2i + 2L . Clearly, GS < D in all of the above cases. VII. C ONCLUSION In this paper, we proposed a distributed algorithm that optimally allocates resources in a service-oriented network. The algorithm is dynamically invoked when traffic intensities change and has reduced communication overhead compared to dual decomposition based algorithms. Hence, it is adaptive, scalable, and suitable for online implementation due to the reduced traffic overhead required for its operation. Also, we consider pricing and QoS criteria of each services. Our performance evaluation studies showed that the algorithm is sensitive to our modeling parameters and yields the desired results. Opportunities for future work include analysis of the convergence behavior of the algorithm, investigation of asynchronous message communication and reduction of message exchanges via dependency graphs.

[1] R. D. Callaway, A. Rodriguez, M. Devetsikiotis, and G. Cuomo, “Challenges in Service-Oriented Networking,” in Proceedings of IEEE GLOBECOM, 2006. [2] M. G. Kallitsis, G. Michailidis, and M. Devetsikiotis, “Pricing and Measurement-Based Optimal Resource Allocation in Next Generation Network Services,” in Proceedings of the First IEEE Workshop on Enabling the Future Service-Oriented Internet, Washington, DC, USA, November 2007. [3] M. G. Kallitsis, R. D. Callaway, M. Devetsikiotis, and G. Michailidis, “Distributed and dynamic resource allocation for delay sensitive network services,” Proceedings of 51st Annual IEEE Global Telecommunications Conference (GLOBECOM), November 2008. [4] F. Kelly, A. Maulloo, and D. Tan, “Rate control in communication networks: shadow prices, proportional fairness and stability,” in Journal of the Operational Research Society, vol. 49, 1998. [5] F. Kelly, “Charging and rate control for elastic traffic,” European Transactions on Telecommunications, vol. 8, pp. 33–37, 1997. [6] S. H. Low and D. E. Lapsley, “Optimization flow control, I: basic algorithm and convergence,” IEEE/ACM Trans. Netw., vol. 7, no. 6, pp. 861–874, 1999. [7] J.-W. Lee, R. R. Mazumdar, and N. B. Shroff, “Non-convex optimization and rate control for multi-class services in the Internet,” IEEE/ACM Trans. Netw., vol. 13, no. 4, pp. 827–840, 2005. [8] K. Ma, M. Ravi, and J. Luo, “On the performance of primal/dual schemes for congestion control in networks with dynamic flows,” in Proceedings of IEEE INFOCOM 2008, 2008. [9] H. Ya¨ıche, R. R. Mazumdar, and C. Rosenberg, “A game theoretic framework for bandwidth allocation and pricing in broadband networks,” IEEE/ACM Trans. Netw., vol. 8, no. 5, pp. 667–678, 2000. [10] S. Kalyanasundaram, E. K. P. Chong, and N. B. Shroff, “Optimal resource allocation in multi-class networks with user-specified utility functions,” Comput. Networks, vol. 38, no. 5, pp. 613–630, 2002. [11] P. Xu, G. Michailidis, and M. Devetsikiotis, “Profit-oriented resource allocation using online scheduling in flexible heterogeneous networks,” Telecommunication Systems, vol. 31, no. 2-3, pp. 289–303, 2006. [12] Y. Li, M. Chiang, and A. R. Calderbank, “Congestion control in networks with delay sensitive traffic,” in Proc. IEEE GLOBECOM, 2007. [13] S. Stidham, “Pricing and congestion management in a network with heterogeneous users,” in IEEE Transactions on Automatic Control, vol. 49, 2004. [14] J.-W. Lee, R. R. Mazumdar, and N. B. Shroff, “Downlink power allocation for multi-class wireless systems,” IEEE/ACM Trans. Netw., vol. 13, no. 4, pp. 854–867, 2005. [15] ——, “Opportunistic power scheduling for multi-server wireless systems with minimum performance constraints,” IEEE Transactions on Wireless Communications, vol. 5, no. 6, pp. 1506–1515, 2006. [16] J.-W. Lee, M. Chiang, and A. R. Calderbank, “Utility-optimal randomaccess control,” IEEE transactions on wireless communications, vol. 6, no. 7, pp. 2741–2751, 2007. [17] M. Chiang, S. Low, A. R. Calderbank, and J. C. Doyle, “Layering as optimization decomposition: A mathematical theory of network architectures,” Proceedings of the IEEE, vol. 95, no. 1, pp. 255–312, 2007. [18] WebSphere DataPower SOA Appliances, IBM, 2008, http://www306.ibm.com/software/integration/datapower/. [19] J.-Y. L. Boudec and P. Thiran, Network Calculus. A Theory of Deterministic Queuing Systems for the Internet. Springer, 1998. [20] D. P. Bertsekas and J. N. Tsitsiklis, “Some aspects of the parallel and distributed iterative algorithms—a survey,” Automatica, vol. 27, no. 1, pp. 3–21, 1991. [21] C. Nott and M. Stockton, “IBM developerWorks: choose an ESB topology to fit your business model,” May 2006. [Online]. Available: http://www-128.ibm.com/developerworks/webservices/library/wssoa-esbtop/ [22] J. M. Lucas and M. S. Saccucci, “Exponentially weighted moving average control schemes: properties and enhancements,” Technometrics, vol. 32, no. 1, pp. 1–29, 1990.

6