Performance Evaluation 81 (2014) 20–39

Contents lists available at ScienceDirect

Performance Evaluation journal homepage: www.elsevier.com/locate/peva

Heavy traffic optimal resource allocation algorithms for cloud computing clusters Siva Theja Maguluri a,∗ , R. Srikant a , Lei Ying b a

Department of ECE and CSL, University of Illinois at Urbana–Champaign, 1308 W Main Street, Urbana, IL 61801, USA

b

School of ECEE, 436 Goldwater Center, Arizona State University, Tempe, AZ 85287, USA

article

info

Article history: Received 11 February 2013 Received in revised form 6 August 2014 Accepted 19 August 2014 Available online 27 August 2014 Keywords: Scheduling Load balancing Cloud computing Resource allocation

abstract Cloud computing is emerging as an important platform for business, personal and mobile computing applications. In this paper, we study a stochastic model of cloud computing, where jobs arrive according to a stochastic process and request resources like CPU, memory and storage space. We consider a model where the resource allocation problem can be separated into a routing or load balancing problem and a scheduling problem. We study the join-the-shortest-queue routing and power-of-two-choices routing algorithms with the MaxWeight scheduling algorithm. It was known that these algorithms are throughput optimal. In this paper, we show that these algorithms are queue length optimal in the heavy traffic limit. © 2014 Elsevier B.V. All rights reserved.

1. Introduction Cloud computing services are emerging as an important resource for personal as well as commercial computing applications. Several cloud computing systems are now commercially available, including Amazon EC2 system [1], Google’s AppEngine [2] and Microsoft’s Azure [3]. A comprehensive survey on cloud computing can be found in [4–6]. In this paper, we focus on cloud computing platforms that provide infrastructure as service. Users submit requests for resources in the form of virtual machines (VMs). Each request specifies the amount of resources it needs in terms of processor power, memory, storage space, etc. We call these requests jobs. The cloud service provider first queues these requests and then schedules them on physical machines called servers. Each server has a limited amount of resources of each kind. This limits the number and types of jobs that can be scheduled on a server. The set of jobs of each type that can be scheduled simultaneously at a server is called a configuration. The convex hull of the possible configurations at a server is the capacity region of the server. The total capacity region of the cloud is then the Minkowski sum of the capacity regions of all servers. The simplest architecture for serving the jobs is to queue them at a central location. In each time slot, a central scheduler chooses the configuration at each server and allocates jobs to the servers, in a preemptive manner. As pointed out in [7], this problem is then identical to scheduling in an ad hoc wireless network with interference constraints. In practice, however, jobs are routed to servers upon arrival. Thus, queues are maintained at each individual server. It was shown in [7–9] that using join-the-shortest queue-type algorithms for routing, along with the MaxWeight scheduling algorithm [10] at each server is throughput optimal. The focus of this paper is to study the delay, or equivalently, the queue length performance of the algorithms presented in [7].



Corresponding author. Tel.: +1 2174171631. E-mail addresses: [email protected] (S.T. Maguluri), [email protected] (R. Srikant), [email protected] (L. Ying).

http://dx.doi.org/10.1016/j.peva.2014.08.002 0166-5316/© 2014 Elsevier B.V. All rights reserved.

S.T. Maguluri et al. / Performance Evaluation 81 (2014) 20–39

21

Characterizing the exact delay or queue length in general is difficult. So, we study the system in the heavy-traffic regime, i.e., when the exogenous arrival rate is close to the boundary of the capacity region. We say that an algorithm is heavy traffic optimal if it minimizes limϵ→0 ϵ E [f (q)] where ϵ is the distance of the arrival rate vector from the boundary of the capacity region, q is the queue length vector and f (.) is a function which we will clearly define later. In the heavy-traffic regime, for some systems, the multi-dimensional state of the system reduces to a single dimension, called state-space collapse. In [11,12], a method was outlined to use the state-space collapse for studying the diffusion limits of several queuing systems. This procedure has been successfully applied to a variety of multiqueue models served by multiple servers [13–16]. Stolyar [17] generalized this notion of state-space collapse and resource pooling to a generalized switch model, where it is hard to define work-conserving policies. This was used to establish the heavy traffic optimality of the MaxWeight algorithm. Most of these results are based on considering a scaled version of queue lengths and time, which converges to a regulated Brownian motion, and then show sample-path optimality in the scaled time over a finite time interval. This then allows a natural conjecture about steady state distribution. In [18], the authors present an alternate method to prove heavy traffic optimality that is not only simpler, but shows heavy traffic optimality in unscaled time. In addition, this method directly obtains heavy traffic optimality in steady state. The method consists of the following three steps. 1. Lower bound: First a lower bound is obtained on the weighted sum of expected queue lengths by comparing with a singleserver queue. A lower bound for the single-server queue, similar to the Kingman bound [19], then gives a lower bound to the original system. This lower bound is a universal lower bound satisfied by any joint routing and scheduling algorithm. 2. State-space collapse: The second step is to show that the state of the system collapses to a single dimension. Here, it is not a complete state-space collapse, as in the Brownian limit approach, but an approximate one. In particular, this step is to show that the queue length along a certain direction increases as the exogenous arrival rate gets closer to the boundary of the capacity region but the queue length in any perpendicular direction is bounded. 3. Upper bound: The state-space collapse is then used to obtain an upper bound on the weighted queue length. This is obtained by using a natural Lyapunov function suggested by the resource pooling. Heavy traffic optimality can be obtained if the upper bound coincides with the lower bound. In this paper, we apply the above three step procedure to study the resource allocation algorithms presented in [7]. We briefly review the results in [7] now. Jobs are first routed to the servers, and are then queued at the servers, and a scheduler schedules jobs at each server. So, we need an algorithm that has two components, viz., 1. a routing algorithm that routes new jobs to servers in each time slot (we assume that the jobs are assigned to a server upon arrival and they cannot be moved to a different server) and 2. a scheduling algorithm that chooses the configuration of each server, i.e., in each time slot, it decides which jobs to serve. Here we assume that jobs can be preempted, i.e., a job can be served in a time slot, and then be preempted if it is not scheduled in the next time slot. Its service can be resumed in the next time it is scheduled. Such a model is applicable in situations where job sizes are typically large. It was shown in [7] that using the join-the-shortest-queue (JSQ) routing and MaxWeight scheduling algorithm is throughput optimal. In Section 3, we show that this policy is queue length optimal in the heavy traffic limit when all the servers are identical. We use the three step procedure described above to prove the heavy traffic optimality. The lower bound in this case is identical to the case of the MaxWeight scheduling problem. However, state-space collapse does not directly follow from the corresponding results for the MaxWeight algorithm in [18] due to the additional routing step here. We use this to obtain an upper bound that coincides with the lower bound in the heavy traffic limit. JSQ needs queue length information of all servers at the router. In practice, this communication overhead can be quite significant when the number of servers is large. An alternative algorithm is the power-of-two-choices routing algorithm. In each time slot, two servers are chosen uniformly at random and new arrivals are routed to the server with the shorter queue. It was shown in [7] that the power-of-two-choices routing algorithm with the MaxWeight scheduling is throughput optimal if all the servers are identical. Here, we show that the heavy traffic optimality in this case is a minor modification of the corresponding result for JSQ routing and MaxWeight scheduling. A special case of the resource allocation problem is when all the jobs are of the same type. In this case, scheduling is not required at each server. The problem reduces to a routing-only problem which is well studied [20–24]. For reasons to be explained later, the results from Section 3 cannot be applied in this case since the capacity region is along a single dimension (of the form λ < µ). In Section 4, we show the heavy traffic optimality of the power-of-two-choices routing algorithm. The lower and upper bounds in this case are identical to the case of JSQ routing in [18]. The main contribution here is to show state-space collapse, which is somewhat different compared to [18]. The results here complement the heavy traffic optimality results in [22,23] which were obtained using Brownian motion limits. We note that this paper is a longer version of [25]. In [25], certain details were omitted in the proofs in Sections 3.2, 3.3 and 4.3 due to space limitations. Here we provide the missing proofs. Note on Notation: The set of real numbers, the set of nonnegative real numbers and the set of positive real numbers are denoted by R, R+ and R++ respectively. We denote vectors in RJ or RM by x, in normal font. We use bold font x to denote vectors in RJM . The dot product in the vector spaces RJ or RM is denoted by ⟨x, y⟩ and the dot product in RJM is denoted by ⟨x, y⟩.

22

S.T. Maguluri et al. / Performance Evaluation 81 (2014) 20–39

2. System model and algorithm Consider a discrete time cloud computing system as follows. There are M servers indexed by m. Each server has I different kinds of resources such as processing power, disk space, memory, etc. Server m has Ri,m units of resource i for i ∈ {1, 2, 3, . . . , I }. There are J different types of jobs indexed by j. Jobs of type j need ri,j units of resource i for their service. A job is said to be of size D if it takes D units of time to finish its service. Let Dmax be the maximum allowed service time. Let Aj (t ) denote the set of type j jobs that arrive at the beginning of time slot t. Indexing the jobs in Aj (t ) from 1 through |Aj (t )|, we define aj (t ) = k∈Aj (t ) Dk to be the overall size of the jobs in Aj (t ) or the total time slots requested by the jobs in Aj (t ). Thus, aj (t ) denotes the total work load of type j that arrives in time slot t. We assume that aj (t ) is a stochastic process which is i.i.d. across time slots, E[aj (t )] = λj and Pr(aj (t ) = 0) > ϵA for some ϵA > 0 for all j and t. Many of these assumptions can be relaxed, but we make these assumptions for the ease of exposition. Second moments of the arrival processes are assumed to be bounded. Let v ar [aj (t )] = σj2 , λ = (λ1 , . . . , λJ ) and σ = (σ1 , . . . , σJ ). We denote

σ 2 = (σ12 , . . . , σJ2 ).

In each time slot, the central router routes the new arrivals to one of the servers. Each server maintains J queues corresponding to the work loads of the J different types of jobs. Let qj,m (t ) denote the total backlogged job size of the type j jobs at server m at time slot t. Consider server m. We say that server m is in configuration s = (s1 , s2 , . . . , sJ ) ∈ (Z+ )J if the server is serving s1 jobs of type 1, s2 jobs of type 2, etc. This is possible only if the server has enough resources to accommodate all these jobs. In other J words, j=1 sj ri,j ≤ Ri,m ∀i ∈ {1, 2, . . . , I }. Let smax be the maximum number of jobs of any type that can be scheduled on any server. Let Sm be the set of feasible configurations on server m. We say that s is a maximal configuration if no other job can be accommodated i.e., for every j′ , s + ej′ (where ej′ is the unit vector along j′ ) violates at least one of the resource constraints. ∗ ∗ Let Cm be the convex hull of the maximal configurations of server m. Let Cm = {s ∈ (R+ )J : s ≤ s∗ for some s∗ ∈ Cm }. Here s ≤ s∗ means sj ≤ s∗j ∀j ∈ {1, 2, . . . , J }. Cm can be thought of as the capacity region for server m. Note that if λ ∈ interior (Cm ), there exists an ϵ > 0 such that λ(1 + ϵ) ∈ Cm . Cm is a convex polytope in the nonnegative quadrant of RJ . M M m M J m m Define C = m=1 Cm = {s ∈ (R+ ) : ∃s ∈ Cm ∀ m s.t. s ≤ m=1 s }. We denote this as C = m=1 Cm . Here s just

M



denotes an element in Cm and not mth power of s. Then, C = denotes the Minkowski sum of sets. So, m=1 Cm , where C is again a convex polytope in the nonnegative quadrant of RJ . So, C can be described by a set of hyperplanes as follows:

C = s ≥ 0 : c (k) , s ≤ b(k) , k = 1, . . . , K









where K is the number of hyperplanes that completely defines C , and (c (k) , b(k) ) completely defines the kth hyperplane H (k) , c (k) , s = b(k) . Since C is in the first quadrant, we have

∥c (k) ∥ = 1,

c (k) ≥ 0,

b(k) ≥ 0

for k = 1, 2, . . . , K .

It was shown in [7] that C is the capacity region of this system. Similar to C , define S = that the C is full-dimensional, i.e., it is J-dimensional.

M

m=1

Sm . WLOG, we assume

(k) Lemma 1. Given the kth hyperplane H (k) of the capacity region C (i.e., c (k) , λ = b(k) ), for each server m, there is a bm such



(k)

that c (k) , λ = bm is the boundary of the capacity region Cm , and b(k) =



that λ



(k)

=

(k)

M

m=1

(k)

Proof. Define bm

C=

M 

(k)

(k)



M

m=1

(k)



(k)

bm . Moreover, for every set λm ∈ Cm



(k)

(k)



(k)



such m

∈ C lies on the kth hyperplane H , we have that c , λm = bm .   = maxs∈Cm c (k) , s . Then, since

λm and λ

Cm ,

we have that b(k) =

m=1

M 

(k) bm .

m =1

M (k) (k) Again, by the definition of C , for every λ ∈ C , there are λm ∈ Cm for each m such that λ(k) = m=1 λm . However,     (k) (k) (k) these may not be unique. We will prove that for every such λm , for each m, c (k) , λm = bm . Suppose, for some server 

(k)

m1 , c (k) , λm1



m      M (k) (k) (k) < b(mk1) . Then since c (k) , M = , λ(mk2) > b(mk2) which is a m=1 λm m=1 bm , there exists m2 such that c

contradiction. Thus, we have the lemma.



3. JSQ routing and MaxWeight scheduling In this section, we will study the performance of JSQ routing with MaxWeight scheduling, as described in Algorithm 1. Let Yj,m (t ) denote the state of the queue for type j jobs at server m, where Yji,m (t ) is the (backlogged) size of the ith type j job at server m. It is easy to see that Y(t ) = {Yj,m (t )}j,m is a Markov chain under the JSQ routing and MaxWeight scheduling.  i Then, qj,m (t ) = i Yj,m (t ) is a function of the state Yj,m (t ).

S.T. Maguluri et al. / Performance Evaluation 81 (2014) 20–39

23

Algorithm 1 JSQ Routing and MaxWeight Scheduling 1. Routing Algorithm: All the type j arrivals in a time slot are routed to the server with the smallest queue length for type j jobs, i.e., the server m∗j = arg min qj,m . Ties are broken uniformly at random. m∈{1,2,...M }

∗ 2. Scheduling Algorithm: In each time slot, server m chooses a configuration sm ∈ Cm so that sm = arg max ∗ sm ∈Cm

J 

sm j qj,m . It then

j=1

schedules up to a maximum of sm j jobs of type j (in a preemptive manner). Note that even if the queue length is greater than the allocated service, all of it may not be utilized, e.g., when the backlogged size is from a single job, since different chunks of the same job cannot be scheduled simultaneously. Denote the actual number of jobs chosen by sm j . Note that if m qj,m ≥ Dmax smax , then sm j = sj .

The queue lengths of workload evolve according to the following equation: qj,m (t + 1) = qj,m (t ) + aj,m (t ) − sm j (t )

= qj,m (t ) + aj,m (t ) − sm j (t ) + uj,m (t )

(1)

m m m where uj,m (t ) is the unused service, given by uj,m (t ) = sm j (t ) − sj (t ), sj (t ) is the MaxWeight schedule and sj (t ) is the actual schedule chosen by the scheduling algorithm and the arrivals are

aj , m ( t ) =



aj (t ) 0

if m = m∗j (t ) otherwise.

(2)

Here, m∗j is the server chosen by the routing algorithm for type j jobs. Note that uj , m ( t ) = 0

when qj,m (t ) + aj,m (t ) ≥ Dmax smax .

(3)

Also, denote s = (sj )j where sj =

M 

sm j .

(4)

m=1

Denote a = (aj,m )j,m , s = (sm j )j,m and u = (uj,m )j,m . Also denote 1 to be the vector with 1 in all components. It was shown in [7] that this algorithm is throughput optimal. Here, we will show that this algorithm is heavy traffic optimal. Recall that the capacity region is bounded by K hyperplanes, each hyperplane H (k) described by its normal vector c (k) and the value b(k) . Then, for any λ ∈ interior (C ), we can define the distance of λ to H (k) and the closest point, respectively, as

ϵ (k) = min ∥λ − s∥

(5)

s∈H (k)

λ(k) = λ + ϵ (k) c (k) K

where ϵ (k) > 0 for each k since λ ∈ interior (C ). We let ϵ , ϵ (k) k=1 denote the vector of distances to all hyperplanes. Note that λ(k) may be outside the capacity region C for some hyperplanes. So define



Kλ , k ∈ {1, 2, . . . , K } : λ(k) ∈ C ;





Kλ identifies the set of dominant hyperplanes whose closest point to λ is on the boundary of the capacity region C , and hence is a feasible average rate for service. Note that for any λ ∈ interior (C ), the set Kλ is non-empty, and hence is well-defined. We further define

Kλo , k ∈ Kλ : λ(k) ∈ Relint (F (k) )





where F (k) denotes the face on which λ(k) lies and Relint means relative interior. Thus, Kλo is the subset of faces in Kλ for which the projection of λ is not shared by more than one hyperplane. For ϵ ,



ϵ (k)

hyperplane H

(k)

K

> 0, let λ(ϵ) be the arrival rate in the interior of the capacity region so that its distance from the is ϵ . Let λ(k) be the closest point to λ(ϵ) on H (k) . Thus, we have k=1

(k)

λ(k) = λ(ϵ) + ϵ (k) c (k) . Let q(ϵ) (t ) be the queue length process when the arrival rate is λ(ϵ) . c

(6)

(k)

JM (k) Define c(k) ∈ R+ , indexed by j, m as cj,m = √j . We expect that the state-space collapse occurs along the direction c(k) . M

This is intuitive. For a fixed j, JSQ routing tries to equalize the queue lengths across servers. For a fixed server m, we expect that the state-space collapse occurs along c (k) when approaching the hyperplane H (k) , as shown in [18]. Thus, for JSQ routing and MaxWeight, we expect that the state-space collapse occurs along c(k) in RJM .

24

S.T. Maguluri et al. / Performance Evaluation 81 (2014) 20–39

For each k ∈ Kλo(ϵ) , define the projection and perpendicular component of q(ϵ) to the vector c(k) as follows: (ϵ,k)

, c(k) , q(ϵ) c(k)

(ϵ,k)

(ϵ,k) , q(ϵ) − q∥ .

q∥

q⊥





In this section, we will prove the following proposition. Proposition 1. Consider the cloud computing system described in Section 2. Assume all the servers are identical, i.e., Ri,m = Ri for all servers m and resources i and that JSQ routing and MaxWeight scheduling as described in Algorithm 1 is used. Let the J exogenous arrival rate be λ(ϵ) ∈ Interior (C ) and the standard deviation of the arrival vector be σ (ϵ) ∈ R++ where the parameter

 K ϵ = ϵ (k) k=1 is such that ϵ (k) is the distance of λ(ϵ) from the kth hyperplane H (k) as defined in (5). Then for each k ∈ Kλo(ϵ) , the

steady state queue length satisfies

  ζ (ϵ,k) k) ϵ (k) E c(k) , q(t ) ≤ + B(ϵ, 2 2

where ζ

(ϵ,k)

=

√1 M



c

 (k) 2

In the heavy traffic limit as ϵ lim ϵ (k) E c(k) , q



 (ϵ)

ϵ (k) ↓0



where ζ (k) = √1

c

M

 (k) 2



 2  , σ (ϵ) + (k)

2

M

(ϵ,k)

, B2

is o(

1

ϵ (k)

).

↓ 0, this bound is tight, i.e., (k)

ζ

=

ϵ (k) √

2



, (σ )2 .

We will prove this proposition by following the three step procedure described in Section 1, by first obtaining a lower bound, then showing state-space collapse and finally using the state-space collapse result to obtain an upper bound. 3.1. Lower bound Since λ(ϵ) is in the interior of C , the process q(ϵ) (t )



 (ϵ)

E c(k) , q



=E

(k) cj

 J

j =1





M m=1

M

qjm



 t

has a steady state distribution. We will obtain a lower bound on

in steady state using the lower bound on the queue length of a single-server

queue. For the cloud system, given the capacity region and the face F (k) , we will construct a single-server queue with appropriate arrivals and service rates to obtain a lower bound. Consider a single-server queuing system, φ (ϵ) (t ) with arrival process √1

M





at each time slot. Then φ(t ) is stochastically smaller than c(k) , q(t )(ϵ) . Thus, we have



E c(k) , q(ϵ)



(k)

b c (k) , a(ϵ) (t ) and service process given by √

M



  ≥ E φ (ϵ) .



Using φ 2 as the Lyapunov   function for the single-server queue and noting that the drift of it should be zero in steady state, (ϵ)

one can bound E φ

as follows [18]:

 (ϵ)  ζ (ϵ,k) k) ϵ (k) E φ ≥ − B(ϵ, 1 2



where c

 (k) 2

=



(k)

cj

2 J

(ϵ,k)

, B1

j=1

=

b(k) ϵ (k) 2

and ζ

(ϵ,k)

=

√1 M



c

 (k) 2

 2  , σ (ϵ) +



ϵ (k) √

2

M

.

Thus, in the heavy traffic limit as ϵ (k) ↓ 0, we have that lim ϵ (k) E

ϵ (k) ↓0

where ζ (k) = √1

M



(ϵ)

c(k) , q



c (k)

2





ζ (k) 2

(7)



, (σ )2 .

Note that this lower bound is a universal lower bound that is valid for any joint routing and scheduling algorithm. 3.2. State-space collapse In this subsection, we will show that there is a state-space collapse along the direction c(k) . We know that as the arrival rate approaches the boundary of the capacity region, i.e., ϵ (k) → 0, the steady state mean queue length E[∥q∥] → ∞. We will show that as ϵ (k) → 0, the queue length projected along any direction perpendicular to c(k) is bounded. This is

S.T. Maguluri et al. / Performance Evaluation 81 (2014) 20–39

25

Fig. 1. Illustration of the capacity region, the vector c(k) and state-space collapse. As the arrival rate approaches the boundary of the capacity region, the queue length vector q is increasing as O( 1ϵ ). But the component perpendicular to c, i.e. q⊥ is bounded.

illustrated in Fig. 1. So the constant does not contribute to the first order term in (k)

it is sufficient to study a bound on the queue length along c Define the following Lyapunov functions: V (q) ,

J M  

q2j,m ,

m=1 j=1

(k) V∥ (q) ,



(k)

c

 (ϵ) 2

,q

 

(k)



(k) 

W⊥ (q) , q⊥  ,

 2 1   = q∥(k)  =

M



J M  

1

ϵ (k)

, in which we are interested. Therefore,

. This is called state-space collapse.

 

(k)



(k) 

W∥ (q) , q∥ 

2 qj,m cj

.

m=1 j=1

Define the drift of the above Lyapunov functions:

∆V (q) , [V (q(t + 1)) − V (q(t ))] I(q(t ) = q)   (k) (k) (k) ∆W⊥ (q) , W⊥ (q(t + 1)) − W⊥ (q(t )) I(q(t ) = q)   (k) (k) (k) ∆W∥ (q) , W∥ (q(t + 1)) − W∥ (q(t )) I(q(t ) = q)   (k) (k) (k) ∆V∥ (q) , V∥ (q(t + 1)) − V∥ (q(t )) I(q(t ) = q). To show that the collapse happens along the direction of c(k) , we will need a result by Hajek [26], which   state-space (k)

(k) 

gives a bound on q⊥  if the drift of W⊥ (q) is negative. Here we use the following special case of the result by Hajek, as



presented in [18]. Lemma 2. For an irreducible and aperiodic Markov Chain {X [t ]}t ≥0 over a countable state space X, suppose Z : X → R+ is a nonnegative-valued Lyapunov function. We define the drift of Z at X as

∆Z (X ) , [Z (X [t + 1]) − Z (X [t ])]I(X [t ] = X ), where I(.) is the indicator function. Thus, ∆Z (X ) is a random variable that measures the amount of change in the value of Z in one step, starting from state X . This drift is assumed to satisfy the following conditions: 1. There exists an η > 0 and a κ < ∞ such that for all X ∈ X with Z (X ) ≥ κ,

E[∆Z (X )|X [t ] = X ] ≤ −η. 2. There exists a D < ∞ such that for all X ∈ X,

P (|∆Z (X )| ≤ D) = 1. Then, there exists a θ ⋆ > 0 and a C ⋆ < ∞ such that ⋆ lim sup E eθ Z (X [t ]) ≤ C ⋆ .





t →∞

If we further assume that the Markov Chain {X [t ]}t is positive recurrent, then Z (X [t ]) converges in distribution to a random variable Z¯ for which



E eθ

⋆ Z¯



≤ C ⋆,

which directly implies that all moments of Z¯ exist and are finite.

26

S.T. Maguluri et al. / Performance Evaluation 81 (2014) 20–39

(k)

(k)

We also need Lemma 7 from [18], which gives the drift of W⊥ (q) in terms of drifts of V (q) and V∥ (q). (k)

Lemma 3. Drift of W⊥ can be bounded as follows: 1

(k)

  (∆V (q) − ∆V∥(k) (q)) ∀ q ∈ RJ+ .  (k)  2 q⊥ 

∆W⊥ (q) ≤

(8)

Let us first consider the last term in this inequality:

 

(k)





(k)



 

(k)

E △ V∥ (q(ϵ) ) q(ϵ) (t ) = q(ϵ) = E V∥ (q(ϵ) (t + 1)) − V∥ (q(ϵ) (t )) q(ϵ) (t ) = q(ϵ)



  2  − c(k) , q(ϵ) (t )  q(t ) = q(ϵ)   2  2  (ϵ) (k) (ϵ) (ϵ) (k) (ϵ) (ϵ) (ϵ) = E c , q (t ) + a (t ) − s (t ) + u (t ) − c , q (t )  q(t ) = q  2  2  2  = E c(k) , q(ϵ) (t ) + a(ϵ) (t ) − s(ϵ) (t ) + c(k) , u(ϵ) (t ) − c(k) , q(ϵ) (t )      + 2 c(k) , q(ϵ) (t ) + a(ϵ) (t ) − s(ϵ) (t ) c(k) , u(ϵ) (t )  q(t ) = q(ϵ)   2   ≥ E c(k) , a(ϵ) (t ) − s(ϵ) (t ) − 2 c(k) , s(ϵ) (t ) c(k) , u(ϵ) (t )     + 2 c(k) , q(ϵ) (t ) c(k) , a(ϵ) (t ) − s(ϵ) (t )  q(t ) = q(ϵ)          2  ≥ 2 c(k) , q(ϵ) c(k) , E a(ϵ) (t ) q(t ) = q(ϵ) − E s(ϵ) (t ) q(t ) = q(ϵ) − 2 c(k) , smax 1   (ϵ,k) J M M       2∥q∥ ∥  (ϵ) m(ϵ) (ϵ) (ϵ) = √ cj E aj,m (t )|q(t ) = q − E sj (t )|q(t ) = q − K2 =E



2

c(k) , q(ϵ) (t + 1)

M

(ϵ,k)

=

2∥q∥



j=1 J ∥

M (ϵ,k)

=

2∥q∥



M (ϵ,k)

=

2∥q∥



M (ϵ,k)

=

2∥q∥



M

m=1

 cj

m=1

(ϵ)

λj −

E

m(ϵ) sj



(k) (k)

(k)

λj − ϵ cj −

cj

(t )|q(t ) = q



 − K2

(9)

M  

E

m(ϵ) sj

(t )|q(t ) = q

(ϵ)



 − K2

(10)

m=1

j =1 J ∥

(ϵ)

m=1

j=1 J ∥

M  

 cj

j =1

M 

λ

m(k) j



E

m(ϵ) sj

(t )|q(t ) = q

(ϵ)

 

2ϵ (k) k) − K2 − √ ∥q(ϵ, ∥ ∥

m(k)

cj λj

(11)

M

m=1

m=1

J M   ∥

M  

  2ϵ (k) k) (ϵ) − E sm (t )|q(t ) = q(ϵ) − K2 − √ ∥q(ϵ, ∥ j ∥ M

m=1 j=1

2ϵ (k) k) ≥ −K2 − √ ∥q(ϵ, ∥ ∥

(12)

M

where K2 = 2JMs2max . Eq. (9) follows from the fact that the sum of arrival rates at each server is the same as the external arrival rate. Eq. (10) follows from (6). From the definition of C , we have that there exists λm(k) ∈ Cm such that λ(k) = (k)

This gives (11). From Lemma 1, we have that for each m, there exists bm such that

m(k) j=1 cj j

J

m(ϵ)

(t ) ∈ Cm . Therefore, we have, for each m, J     m(k) (ϵ) cj λj − E sm (t )|q(t ) = q(ϵ) ≥ 0 j

λ

(k)

M

= bm and c (k) , s 

λm(k) . ≤ b(mk)

m=1

 m(ϵ)

for every s

j =1

and so (12) is true. Now, let us consider the first term in (8). By expanding the drift of V (q(ϵ) ) and using (3), it can be easily seen that

 (ϵ)

E △ V (q



(ϵ)

(ϵ)

)|q (t ) = q





≤ K + Eq(ϵ)

J  M  

(ϵ) 2qj,m

aj , m ( t ) −



sm j

  (t )

m=1 j=1

where K ′ = M

  2   2 + 2Js2max (1 + Dmax ) and Eq(ϵ) [.] is short hand for E[.|q(ϵ) (t ) = q(ϵ) ]. j λj + σj

(13)

S.T. Maguluri et al. / Performance Evaluation 81 (2014) 20–39

27

By the definition of aj,m (t ), (2), we have

 Eq(ϵ)

J M  

(ϵ) 2qj,m aj,m (t )



 = Eq(ϵ)

J 

m=1 j=1

(ϵ) 2qj,m∗ aj (t ) j

j =1

=

J 

(ϵ)



(ϵ)

2qj,m∗ λj . j

j =1

Then we have

 (ϵ)

E △ V (q(ϵ) )|q(ϵ) (t ) = q



≤ K′ + 2

J  j =1



= K +2

J  j =1

+2

J 

(ϵ) λ(ϵ) j qj,m∗ j

λj

−2

Eq(ϵ)

J 

−2

M

J 

(ϵ) qj,m sm j (t )



j =1

(ϵ)

λj

j =1

(ϵ) M  qj,m m=1



m=1

(ϵ) λ(ϵ) j qj,m∗ j

(ϵ)

j =1

−2

M 

(ϵ) M  qj,m

M 

 J 

Eq(ϵ)

m=1

(14)

M

m=1



(ϵ) qj,m sm j (t )

.

(15)

j =1

We will first bound the terms in (14). We will assume that the arrival rate λ(ϵ) is such that there exists a δ > 0 such (ϵ) that λj > δ for all j. This assumption is reasonable because we are interested in the limit when the arrival rate is on the boundary of the capacity region:

2

J 



(ϵ) λ(ϵ) qj,m∗ − j j

j =1

(ϵ) M  qj,m m=1

M

 = −2

J 

  λ(ϵ) j



M 



m=1

j =1



J 2  (ϵ) =− λ M j=1 j

(ϵ)

(ϵ)

qj,m M



qj,m∗



M



j

 M     (ϵ) (ϵ)  qj,m − qj,m∗  j

m=1

 



J M  2  2  (ϵ)  (ϵ) (ϵ) ≤− λ j  qj,m − qj,m∗  j M j=1 m=1

≤−

J 2 

M j=1

(16)

  2  M  M    1   (ϵ) (ϵ) λ(ϵ) qj,m − qj,m′  j  M

m=1

(17)

m′ =1

  2  M  J M     2 1   (ϵ) (ϵ) ≤− δ  qj,m − qj,m′  M j=1

M

m=1

 

J M  2  2δ   1 (ϵ)  =− qj,m − M j =1 M m=1

(18)

m′ =1



M  m′ =1

(ϵ) qj,m′

2

 2   J M J M    (ϵ) 2 2δ  1   (ϵ)  ≤− qj,m − qj,m′ . M

M j =1

j=1 m=1

(19)

m′ =1

Eq. (16) follows from the fact that the ℓ1 norm of a vector is no more than its ℓ2 norm for a vector in RM . The minimum mean is its empirical mean. In other words, for a vector x in RM , the convex function  square constant estimator of a vector  (ϵ) 2 is minimized for y = 1 ( x − y ) > δ . Eq. (19) m m m xm . This gives (17). Eq. (18) follows from the assumption that λj M

√

follows from the observation that ( j xj )2 ≥ We will now bound the terms in (15): 2

J  j =1

(ϵ)

λj

(ϵ) M  qj,m m=1

M

−2

M  m=1

Eq(ϵ)

 J  j=1



j

xj .



(ϵ) qj,m sm j (t )

=

J  

(k)

2 λj

j =1

(k) (k)

− ϵ cj

(ϵ) M  q

j ,m

m=1

M

−2

M  m=1

 Eq(ϵ)

J  j =1

(ϵ) qj,m sm j (t )



28

S.T. Maguluri et al. / Performance Evaluation 81 (2014) 20–39

2ϵ (k)

=−√

M 2ϵ (k)

≤−√

M

∥q∥(ϵ,k) ∥

+2

M 

Eq(ϵ)

 J 

m=1

∥q∥(ϵ,k) ∥

+

(ϵ) qj,m



λj(k) M

j =1

2JMDmax s2max

+2

M 

 −



m=1

min

r m ∈Cm

sm j

(t )

J 

(ϵ) qj,m



λ(j k) M

j =1

 rjm



.

(20)

Eq. (20) is true because of MaxWeight scheduling. Note that in Algorithm 1, the actual service allocated to jobs of type j at server m is the same as that of the MaxWeight schedule as long as the corresponding queue length is greater than Dmax smax . This gives the additional 2JMDmax s2max term. Assuming all the servers are identical, we have that for each m, Cm = {λ/M : λ ∈ C }. So, Cm is a scaled version of C . Thus, λm = λ/M. Since k ∈ Kλo(ϵ) , we also have that k ∈ Kλom(ϵ) for the capacity region Cm . Thus, there exists δ (k) > 0 so that (k)

Bδ(k) , H (k) ∩ {r ∈ R+ : ∥r − λ(k) /M ∥ ≤ δ (k) } J

lies strictly within the face of Cm that corresponds to F (k) . (Note that this is the only instance in the proof of Proposition 1 (k) that we use the assumption that all the servers are identical.) Call this face Fm . Thus we have

2

M  m=1



J 

min

r m ∈Cm

(ϵ)



qj,m

λj(k) M

j =1

 − rjm

≤2

M 

  min

(k) r m ∈B (k) j=1 δ

m=1

=2

M 

J 



J 

 min

(ϵ)

qj,m



(k) r m ∈B (k) j=1 δ

m=1



(ϵ)

λ(j k) M

qj,m −



 − rjm  J  j ′ =1

(ϵ)

qj′ ,m cj′

(21)

  cj

λ(j k) M

 − rjm 

(22)

   2  J  J M    (ϵ) (ϵ) (k)  qj′ ,m cj′ cj qj,m − = −2δ m=1

(23)

j ′ =1

j =1

  2  J   J M    2 (ϵ) (ϵ) (k)  qj′ ,m cj′ = −2δ qj,m − m=1

(24)

j ′ =1

j =1

  2  M J   J M     2 (ϵ) (ϵ) (k)  qj′ ,m cj′ . ≤ −2δ qj,m − m=1

m =1 j =1

(25)

j ′ =1

(k)

(k)

Eq. (22) is true because cis a vectorperpendicular to the face Fm of Cm whereas both λ(k) /M and r m lie on the face Fm . So, (ϵ)

(k)

λj

     = q(ϵ) m∥  cj

(ϵ) (ϵ) is in RJ . Its component along c ∈ RJ is qm∥ − rjm = 0. The vector q(ϵ) m = qj,m M j j         (ϵ)  J J (ϵ) (ϵ) (ϵ) (ϵ) ′ q − q c . Then, the component perpendicular to c is q = where qm∥  = q c c . Thus, the term ′ ′ j j,m j = 1 j ,m j m⊥ j = 1 j ,m j j  (k)   (ϵ) λj m J m in (22) is j (qm⊥ )j − rj . This is an inner product in R which is minimized when r is chosen to be on the boundary M  (k)  λj (k) (k) (ϵ) of Bδ (k) so that M − rjm points in the direction opposite to q(ϵ) ∥qm⊥ ∥. This gives (23). m⊥ and the minimum value is −δ



J j ′ =1

qj′ ,m cj′



J j =1

cj



j



(ϵ)

(ϵ)

(ϵ)

Eq. (24) can be obtained either by expanding or by using the Pythagorean theorem, viz., ∥qm⊥ ∥2 = ∥qm ∥2 − ∥qm∥ ∥2 . Similar

 √  to (19), since ( m xm )2 ≥ m xm , we get (25).

Now substituting (25), (20) and (19) in (14) and (15), we get

  2ϵ (k) (ϵ,k) E △ V (q(ϵ) )|q(ϵ) (t ) = q(ϵ) − K1 + √ ∥q∥ ∥ M  



J J M M 2δ    (ϵ) 2 1   (ϵ) ≤−  qj,m − q M M j=1 m=1 j,m j=1 m=1

2

  2  M J J M     2   (ϵ) (ϵ) (k)  − 2δ q − q c j ,m

m=1 j=1

j ,m j

m=1

j =1

(26)

S.T. Maguluri et al. / Performance Evaluation 81 (2014) 20–39

29

  2  2  J M J J  J M M  M 2     2   (a) 1   (ϵ) (ϵ) (ϵ) (ϵ) ′ q + q − q c ≤ −2δ q − j,m

M j =1

j=1 m=1

j,m

j ,m

m=1

j ,m j

m=1 j=1

m=1

j =1

  2  J M J M     2  (b) (ϵ) (ϵ) cj ′ ≤ −2δ qj,m − qj,m √ j=1 m=1

M

m=1 j=1

      k) 2 ′  (ϵ) 2 = −2δ q − q(ϵ,  ∥    k)  = −2δ ′ q(ϵ, ⊥ 

(27)

√ √ where K1 = K ′ + 2JMDmax s2max and δ ′ = min{ Mδ , δ (k) }. Inequality (a) follows from the fact that ( x + y)2 ≥ x + y. Inequality

(b) follows from the following claim, which is proved in Appendix A. Claim 1.



J M 1   (ϵ) q − M j=1 m=1 j,m

2 +

J  M  

(ϵ) qj,m

2



m=1 j=1

 J M   m =1

(ϵ) qj,m cj

2 ≥−

j =1

1



M

J M  

(ϵ) qj,m cj

2 .

m=1 j=1

Now substituting (12) and (27) in (8), we get

  K +K 1 2 (k)  − δ′ E △ W⊥ (q(ϵ) )|q(ϵ) (t ) = q(ϵ) ≤   (ϵ,k)  2 q⊥  ≤

−δ ′ 2

 whenever

(k) W⊥ (q(ϵ) )



K1 + K2



δ′

.

Moreover, since the departures in each time slot are bounded and the arrivals are finite there is a D < ∞ such that P (|∆Z (X )| ≤ D) almost surely. Now, applying Lemma 2, we have the following proposition. (ϵ)

Proposition 2. Assume all the servers are identical and the arrival rate λ(ϵ) ∈ interior (C ) is such that there exists a λj > δ for all j for some δ > 0. Then, under JSQ routing and MaxWeight scheduling, for every k ∈ Kλo(ϵ) , there exists a set of finite constants

   k) r ≤ Nr(k) for all ϵ > 0 and for each r = 1, 2, . . . . {Nr(k) }r =1,2,... such that E q(ϵ, ⊥ 

As in [17,18], note that k ∈ Kλo(ϵ) is an important assumption here. This is called the ‘Complete Resource Pooling’ assumption and was used in [17,27,28]. If k ∈ K r Kλo(ϵ) , i.e., if the arrival rate approaches a corner point of the capacity (k)

region as ϵ (k) → 0, then there is no constant δ (k) so that Bδ (k) lies in the face F (k) . In other words, the δ (k) depends on ϵ (k) and so the bound obtained by Lemma 2 also depends on ϵ (k) .

Remark. As stated in Proposition 1, our results hold only for the case of identical servers, which is the most practical scenario. However, we have written the proofs more generally whenever we can so that it is clear where we need the identical server assumption. In particular, in this subsection, up to Eq. (20), we do not need this assumption, but we have used the assumption after that, in analyzing the drift of V (q). The upper bound in the next section is valid more generally if one can establish state-space collapse for the non-identical server case. However, at this time, this is an open problem. 3.3. Upper bound In this section, we will obtain an upper bound on the steady state weighted queue length, E c(k) , q(ϵ) and show that in the asymptotic limit as ϵ (k) ↓ 0, this coincides with the lower bound. (k) Noting that the drift of ∆W∥ is zero in steady state, it can be shown, as in Lemma 8 from [18] that in steady state, for





JM

any c ∈ R+ , we have

E ⟨c, s(t ) − a(t )⟩2



E [⟨c, q(t )⟩ ⟨c, s(t ) − a(t )⟩] =

2



E ⟨c, u(t )⟩2



+



2

+ E [⟨c, q(t ) + a(t ) − s(t )⟩ ⟨c, u(t )⟩] .  

(28) (29)

We will obtain an upper bound on E c(k) , q(ϵ) by bounding each of the above terms. Before that, we need the following definitions and results. Let π (k) be the steady-state probability that the MaxWeight schedule chosen is from the face F (k) , i.e.,

  π (k) = P ⟨c , s(t )⟩ = b(k)

30

S.T. Maguluri et al. / Performance Evaluation 81 (2014) 20–39

where sj =

M

m m=1 sj

as defined in (4). Also, define

 γ (k) = min b(k) − ⟨c , r ⟩ : r ∈ S \ F (k) . 

Then noting that in steady state,

 E

c (k) , s(q)



  ≥ c (k) , λϵ = b(k) − ϵ (k) ,

it can be shown as in Claim 1 in [18] that for any ϵ (k) ∈ 0, γ (k) ,



1 − π (k) ≤







ϵ (k) . γ (k)

Then, note that

E



2 

b(k) − ⟨c , s(t )⟩

     2  = 1 − π (k) E b(k) − ⟨c , s(t )⟩ | ⟨c , s(t )⟩ ̸= b(k) , ≤

 ϵ (k)  (k) 2 2 ⟨ ⟩ . b + c , s 1 max γ (k)

(30)

JM

m ⊆ R+ as C m = C1 × · · · × CM . Then, C m is a convex polygon. Define C J

JM

m ∗ Claim 2. Let qm ∈ R+ for each m ∈ {1, 2, . . . , M }. Denote q = (qm )M m=1 ∈ R+ . If, for each m, (s ) is a solution of m ∗ m ∗ maxs∈Cm ⟨q , s⟩ then s = ((s ) )m is a solution of maxs∈Cm ⟨q, s⟩.

M m m m , ⟨q, s∗ ⟩ ≤ maxs∈C ⟨q, s⟩. Note that maxs∈C ⟨q, s⟩ = m Proof. Since s∗ ∈ C m=1 maxs ∈Cm ⟨q , s ⟩. Therefore, if m m     M M ∗ m m ∗ m m ⟨q, s ⟩ < maxs∈Cm ⟨q, s⟩, we have m=1 q , (s ) < m=1 maxsm ∈Cm ⟨q , s ⟩. Then there exists an m ≤ M such that qm , (sm )∗ < maxsm ∈Cm ⟨qm , sm ⟩, which is a contradiction.







Therefore, choosing a MaxWeight schedule at each server is the same as choosing a MaxWeight schedule from the convex (k) m . Since there are a finite number of feasible schedules, given c(k) ∈ RJM polygon, C + such that ∥c ∥ = 1, there exists an  

angle θ (k) ∈ (0, π2 ] such that, for all q ∈

(k)

q ∈ R+ : ∥q∥ ∥ ≥ ∥q∥ cos θ (k) JM





, (i.e., for all q ∈ R+ such that θqq(k) ≤ θ (k) JM



where θab represents the angle between vectors a and b), we have





 c(k) , s(t ) I (q(t ) = q) = b(k) / M I (q(t ) = q) .

We can bound the unused service as follows:

E c(k) , u(t )





  ≤ E c(k) , s(t ) − a(t )    1   (k) E c , s(t ) − c (k) , λϵ = √

M    1   (k) = √ E c , s(t ) − b(k) − ϵ (k) M

ϵ (k) ≤ √

(31)

M

where the last   inequality follows from the fact that the MaxWeight schedule lies inside the capacity region and so E c (k) , s(t ) ≤ b(k) . Now, we will bound each of the terms in (29). Let us first consider the left-hand side term in (28). Given that the arrival rate is λϵ we have

E c(k) , q(t ) c(k) , s(t ) − a(t )







       b(k)    b(k)   1  = E c(k) , q(t ) √ − √ c (k) , λ − E c(k) , q(t ) √ − c(k) , s(t ) M

M

M

  (k)     ϵ (k)  b = √ E c(k) , q(t ) − E ∥q(∥k) (t )∥ √ − c(k) , s(t ) . M

M

Now, we will bound the last term in this equation using the definition of θ



(k)

E ∥q∥ (t )∥



b

(k)

√ M

 − c(k) , s(t )

 

(k)



M

      (k)    b = E ∥q(t )∥ cos θqq(k) I θqq(k) > θ (k) × √ − c(k) , s(t ) ∥



as follows:

   (k)   (k)  b = E ∥q(t )∥ cos θqq(k) √ − c , s(t ) 

M

(32)

S.T. Maguluri et al. / Performance Evaluation 81 (2014) 20–39

31

       (k)   b = E ∥q(⊥k) (t )∥ cot θqq(k) I θqq(k) > θ (k) × √ − c(k) , s(t ) ∥



M





= E ∥q(⊥k) (t )∥I θqq(k) > θ (k)



b

(k)

√ M



1

≤ √ E ∥q(⊥k) (t )∥ b(k) − c (k) , s(t ) 



− c(k) , s(t ) 





M

cot θ (k)



 

  × cot θ (k)



(33)

cot θ (k)



     2  (k) ≤ √ E ∥q⊥ (t )∥2 E b(k) − c (k) , s(t ) M  (k)    (k)   cot θ (k) ϵ 2 (k) 2 + ⟨c , s ⟩ 1 ≤ √ N2 b max γ (k) M

(34)

where (32) follows from the definition of θ (k) , (33) follows from our choice of c(k) and the definition of s, and (34) follows from the Cauchy–Schwarz inequality. The last inequality follows from state-space collapse (Proposition 2) and (30). Thus, we have

 (k)    (k) (k)        cot θ ϵ (k) ϵ 2 (k) 2 + ⟨c , s ⟩ E c(k) , q(t ) c(k) , s(t ) − a(t ) ≥ √ E c(k) , q(t ) − √ N2 b 1 . max γ (k) M M 

(35)

Now, consider the first term in (28). Again, using the fact that the arrival rate is λϵ we have

2 



E c(k) , s(t ) − a(t )

=E

 

 b(k) c , a(t ) − √ (k)

2 

 +E

M

b(k)



M

(k)

 − c , s(t ) 

2 

ϵ (k) − 2√ E



b(k)



M

M

  − c(k) , s(t )



2      (k) ϵ (k)   (k)  2 c , λ − b b(k) 1  (k) ϵ   +E ≤E √ c , a(t ) − λ + √ √ − c , s(t ) 



M

=



1 M

E



c

1 

c (k)

M

(k)

2

M

, a(t ) − λ 

,σ2 +

ϵ

2 

M

 ϵ (k) ϵ (k)  + 2 √ E c (k) , a(t ) − λϵ + 

M

M

 (k) 2 ϵ M

+

1 ϵ (k) M

γ (k)



b(k)

2

+ ⟨c , smax 1⟩2

2 +

1 M

E



2 

b(k) − c (k) , s(t )





(36)

 ϵ (k)  (k) 2 2 ⟨ ⟩ b + c , s 1 (37) max M M γ (k)  2    2  ϵ (k) 2 √1 + c (k) , σ (ϵ) . Eq. (36) is obtained by noting that E [a(t )] = λϵ where ζ (ϵ,k) was earlier defined as ζ (ϵ,k) = √ M M  2      and so E c (k) , a(t ) − λϵ = v ar c (k) , a(t ) − λϵ = c (k) , v ar (a(t ) − λϵ ) . 1

= √



1

ζ (ϵ,k) + √

Consider the second term in (28):

2 



E c(k) , u(t )

    ≤ c(k) , 1smax E c(k) , u(t )  ϵ (k)  ≤ √ c(k) , 1smax

(38)

M

where the last inequality follows from (31). Now, we consider the term in (29). Weneed some definitions    so that we can only consider the non-zero components of (k)

(k)

c. Let L++ = j ∈ {1, 2, . . . , J } : cj (k)

(k) > 0 . Define  c(k) = cjm

(k)

(k)

(k) j∈L++







(k)

(k)

projections,  q∥ =  c(k) , q c(k) and  q⊥ =  q − q∥ . Similarly, define  u∥ and  u⊥ . Then, we have





E c(k) , q(t ) + a(t ) − s(t ) c(k) , u(t )









, q = qjm j∈L(k) and  u = ujm j∈L(k) . Also define, the ++ ++

    2  = E c(k) , q(t + 1) c(k) , u(t ) − E c(k) , u(t )    ≤ E c(k) , q(t + 1) c(k) , u(t )   (k)   (k) =E  c , q(t + 1)  c , u(t )

32

S.T. Maguluri et al. / Performance Evaluation 81 (2014) 20–39

  (k) (k) = E ∥ q∥ (t + 1)∥∥ u∥ ∥    (k) (k) =E  q∥ (t + 1), u∥ (t )   (k) =E  q∥ (t + 1), u(t )   (k) = E [⟨ q⊥ (t + 1), u(t ) q(t + 1), u(t )⟩] + E −      (k) ≤ E [⟨Dmax smax 1, q⊥ (t + 1)∥2 E ∥ u(t )∥2 u(t )⟩] + E ∥ ≤ Dmax smax E [⟨1, u(t )⟩] +



≤ Dmax smax E [⟨1, u(t )⟩] +



(k)

N2 E [⟨ u(t ), u(t )⟩]

(39) (40)

(k)

N2 smax E [⟨1, u(t )⟩]

where (39) follows from the Cauchy–Schwarz inequality. Eq. (40) follows from state-space collapse  (3) and from  (k)

(k)

(k)

(Proposition 2), since E ∥ q⊥ ∥2 ≤ E ∥q⊥ ∥2 ≤ N2 . Note that

E [⟨1, u(t )⟩] ≤

1 (k)

cmin 1

=

(k)

cmin

E  c(k) , u(t )





E c(k) , u(t )





ϵ (k) ≤ √ M (k) ∆

(k)

where cmin = minj∈L(k) cj ++

> 0 and the last inequality follows from (31). Thus, we have

  ϵ (k) E c , q(t ) + s(t ) − a(t ) c(k) , u(t ) ≤ Dmax smax √ + 

(k)

M

 (k)

ϵ (k)

N2 smax √ . M

(41)

Now, substituting (35), (37), (38) and (41) in (29), we get

  ζ (ϵ,k) k) ϵ (k) E c(k) , q(t ) ≤ + B(ϵ, 2 2

where (ϵ,k)

B2

  ϵ (k)  (k) 2 ϵ (k)  (k) 2 (k) ⟨ ⟩ c , 1smax b + c , s 1 + D s ϵ + max max max (k) γ 2 2 M  √  (k)   (k)  2 (k) (k) ϵ + MN2 smax ϵ (k) + cot θ N2 b(k) + ⟨c , smax 1⟩2 . ( k ) γ 1

= √

Thus, in the heavy traffic limit as ϵ (k) ↓ 0, we have that lim ϵ (k) E

ϵ (k) ↓0



(ϵ)

c(k) , q





ζ (k)

(42)

2

where ζ (k) was defined as ζ (k) = √1

M



c (k)

2

 , (σ )2 . Thus, (7) and (42) establish the first-moment heavy-traffic optimality

of JSQ routing and MaxWeight scheduling policy. The proof of Proposition 1 is now complete. In the following sections, we will study other routing algorithms that are easier to implement than JSQ. 3.4. Power-of-two-choices routing and MaxWeight scheduling JSQ routing needs complete queue length information at the router. In practice, this communication overhead can be considerable when the number of servers is large. An alternate simpler algorithm is the power-of-two-choices routing algorithm. In this subsection, we will consider the power-of-two-choices routing algorithm with the MaxWeight scheduling algorithm for the cloud resource allocation problem. In the power-of-two-choices routing algorithm, in each time slot t,

S.T. Maguluri et al. / Performance Evaluation 81 (2014) 20–39 j

33

j

for each type of job m, two servers m1 (t ) and m2 (t ) are chosen uniformly at random. All the type m job arrivals in this time slot are then routed to the server with the shorter queue length among these two, i.e., m∗j (t ) = arg minm∈{mj (t ),mj (t )} qj,m (t ). 1

2

Then, we have that the cloud computing system is heavy traffic optimal. In other words, we have the following result. Theorem 1. Proposition 1 holds when power-of-two-choices routing is used instead of JSQ routing. The proof of this theorem is similar to that of Proposition 1 and the details are in Appendix B. 4. Power-of-two-choices routing In this section, we consider the power-of-two-choices routing algorithm, without any scheduling. This is a special case of the model considered in the previous section when all the jobs are of the same type and each server can serve only one job at a time. In this case, there is a single queue at each server and no scheduling is needed. Note on Notation: In this section, since J = 1 here, we just denote all vectors (in RM ) in bold font x. The result from the previous section is not applicable here because of the following reason. In Proposition 1, a sequence of systems with the arrival rate approaching a face of the capacity region, along its normal vector were considered. The normal vector of the face plays an important role in the state-space collapse, and so the upper bound obtained is in terms of this normal. So, this result cannot be applied if the arrival rates were approaching a corner point where there is no common normal vector. In particular, the proof of state-space collapse in Section 3.2 is not applicable here because one cannot define (k) a ball Bδ (k) as in (21) at a corner point. 4.1. System model There are M servers, and jobs arrive into the system to be served. Unlike the cloud model, here, each server can serve only one job at a time and each job needs service for certain amount of time. On arrival, the jobs are routed to one of the servers by a routing algorithm and are queued there. The servers serve the jobs in the queue according to first come first serve (FCFS) service discipline. Since there is only queue at each server (and only one job type), FCFS service discipline is non-preemptive. Let A (t ) denote the set of jobs that arrive at the beginning of time slot t. Let Dk be the size of kth job. We define  a(t ) = k∈A(t ) Dk to be the overall size of the jobs in A(t ) or the total time slots requested by the jobs. We assume that a(t ) is a stochastic process which is i.i.d. across time slots, E[a(t )] = λ and Pr(a(t ) = 0) > ϵa for some ϵa > 0 for all t. Let σ 2 = v ar [a(t )]. Let am (t ) denote the arrivals to server m at time t after routing. Let µ be the amount of service available in each time slot at each server. Not all of this service may be used either because the queue is empty or because different chunks of the same job cannot be served simultaneously. Let sm (t ) be the actual amount of service scheduled available in time slot t at server m. Let um (t ) denote the unused service which is defined as um (t ) = µ − sm (t ). Let qm (t ) denote the queue length at server m at time t, and let q(t ) denote the vector (q1 (t ), q2 (t ), . . . , qM (t )). Then, we have qm (t + 1) = qm (t ) + am (t ) − µ + um (t ). Note that um (t ) = 0

whenever qm (t ) + am (t ) ≥ Dmax µ.

(43)

In this subsection, we will prove the following proposition using a procedure similar to the one in Section 3. Proposition 3. Consider the routing or load balancing system described above. Let the exogenous arrival rate λ(ϵ) be such that ϵ = M µ − λ(ϵ) and the standard deviation of the arrival vector be σ (ϵ) ∈ R+ . Let q(ϵ) (t ) be the corresponding queue length vector. Then the steady state queue length satisfies

E

 

(ϵ)



q

 ≤

σ (ϵ)

2

+ ϵ2



m

+ B(ϵ) 2

(ϵ)

where B2 is o( (1k) ). ϵ In the heavy traffic limit as ϵ ↓ 0, this bound is tight, i.e., lim ϵ E ϵ↓0

  m

(ϵ)

q

 =

σ2 2

.

We again follow the three step procedure used in the previous section to show heavy traffic optimality. Since the powerof-two-choices algorithm tries to equalize any two randomly chosen queues, we expect that there is a state-space collapse along the direction where all queues are equal, similar to the JSQ algorithm.

34

S.T. Maguluri et al. / Performance Evaluation 81 (2014) 20–39

Let c1 = √1 (1, 1, . . . , 1) be the unit vector in RM along which we expect state-space collapse. Let 1 denote the vector M

(1, 1, . . . , 1). For any Q ∈ RM , define Q to be the component of Q along c1 , i.e., Q∥ = ⟨Q, c1 ⟩ c1 where ⟨., .⟩ denotes the  ∥ m Qm

canonical dot product. Thus, Q∥ =

M

1. Define Q⊥ to be the component of Q perpendicular to Q∥ , i.e., Q⊥ = Q − Q∥ .

( Define the Lyapunov functions V∥ (Q) = ∥Q∥ ∥ = 2



m Qm

M

 1  )2 and W (Q) = ∥Q ∥ =  Q 2 − ( m Qm )2 2 . ⊥ ⊥ m m M

We also need the following definitions to mathematically express the power-of-two-choices routing. Let X (t ) denote the servers chosen at time slot t. So, X (t ) can take one of M C2 values of the form (m, m′ ) where m, m′ ∈ Z+ and 1 ≤ m < m′ ≤ M. Here M C2 denotes the number of 2-combinations in a set of size M. Note that X (t ) is an i.i.d. random process with a uniform distribution over all possible values. Define M C2 different arrival processes denoted by am,m′ (t ) with 1 ≤ m < m′ ≤ M as ˆ,m ˆ ′ ), then follows. If x(t ) = (m am,m′ (t ) =

a( t ) 0



ˆ and m′ = m ˆ′ for m = m otherwise.

Thus, {am,m′ (t )} can be thought of as a set of correlated arrival processes. They are correlated so that only one of them can have a non-zero value at each time. Let λm,m′ = E[am,m′ (t )]. Then λm,m′ = MλC . The arrivals in am,m′ (t ) can be routed only 2

to either server m or server m′ . According to the power-of-two-choices algorithm, all the jobs are then routed to the server with smallest queue among m and m′ . Ties are broken at random. 4.2. Lower bound Consider an arrival process with arrival rate λ(ϵ) such that ϵ = M µ − λ(ϵ) . Let q(ϵ) (t ) denote the corresponding queue length vector. Since the system is stabilizable, there exists a steady state distribution of q(ϵ) (t ). Again, lower bounding  ( m q(ϵ) ) by a single queue length as in Section 3.1, we have

 

E

(ϵ)



q

m

where B1 =

Msmax . 2

lim inf ϵ E

 (ϵ) 2 σ + ϵ2 ≥ − B1 2ϵ

Thus, in the heavy traffic limit we have

 

ϵ→0

(ϵ)



q



m

σ2 2

.

(44)

4.3. State-space collapse For simplicity of notation, in this subsection, we write q for q(ϵ) . We will bound the drift of the Lyapunov function W⊥ (Q), (k) and again use Lemma 2 to obtain state-space collapse. We again use (8) with c1 instead of c(k) to get the drift of W⊥ (q) in (k)

terms of drifts of V (q) and V∥ (q). Let us first consider the last term:

E △ V∥ (q)|q(t ) = q = E V∥ (q(t + 1)) − V∥ (q(t ))|q(t ) = q









  2  2   1 = E qm (t + 1) − qm (t ) |q(t ) = q M

m

m

  2  2    1 = E qm (t ) + am (t ) − µ + um ( t ) − qm (t ) |q(t ) = q M

m

m

m

 2  2   1 qm (t ) + am (t ) − µ + um (t ) = E M

m

 +2



qm (t ) + am (t ) − µ

m



1 M

m

 

 um (t )



 

m

2 qm (t )

 |q(t ) = q

m

  2          E am ( t ) − µ +2 qm (t ) am (t ) − µ − 2M µ um (t ) |q(t ) = q m

m

m

m

S.T. Maguluri et al. / Performance Evaluation 81 (2014) 20–39



2





M

qm

   E

m





am (t ) − µ |q(t ) = q − 2µE

 

m

 

≥ −K3 + 2

≥ −K3 − 2

ϵ

−µ



 

M

λ M

m



um (t )|q(t ) = q

m

 qm

35



qm

(45)

m

where K3 = 2M µ2 is obtained by bounding sm (t ) and um (t ) by smax . Now, we will bound the first term in (8). Expanding [△ V (q)|q(t )] and using (43), it is easy to see that

 E [△ V (q)|q(t ) = q] ≤ K4 − 2µ



qm (t ) + EX E

m

= K4 − 2µ

 

2qm (t )am (t )|q(t ) = q, X (t ) = (i, j)

(46)

m



qm (t ) +

 (i,j):i
m

1 MC

E [a(t )] 2 min{qi (t ), qj (t )} 2

where K4 = M (2µ2 (Dmax + 1)+σ 2 +λ2 ). Note that 2 min{qi (t ), qj (t )} ≤ qi (t )+  qj (t ) for all i, j and 2 min{qmin (t ), qmax (t )} = (qmin (t ) + qmax (t )) − (qmax (t ) − qmin (t )). Using these two relations, we get (i,j):i
E [△ V (q)|q(t ) = q] ≤K4 − 2µ



qm (t ) −

m

=K 4 − 2

ϵ  M

λ MC

qm (t ) −

m

(qmax − qmin ) + 2

λ MC

2λ  M

qm (t ).

m

(qmax − qmin ). 2

Note that

  2    qm  m    ∥q⊥ ∥ = qm − M

m

 ≤

M (qmax − qmin )2



M (qmax − qmin ) .

= Thus, we have

E [△ V (q)|q(t ) = q] ≤ K4 − 2

ϵ  M

qm (t ) −

m

λ ∥q⊥ ∥ √ .

MC 2

M

Substituting this and (45) in (8), we have

E [△ W⊥ (q)] ≤

K3 + K4 2∥q⊥ ∥



λ MC

1

√ .

2

2 M

This means that we have negative drift for sufficiently large W⊥ (q) = ∥q⊥ ∥. Since thedrift of W⊥ (q) is uniformly bounded (ϵ) with probability 1, using Lemma 2, there exist finite constants {Nr′ }r =1,2,... such that E ∥q⊥ ∥r ≤ Nr′ for each r = 1, 2, . . . . 4.4. Upper bound The upper bound is again obtained by bounding each of the terms in (29). This is identical to the case of JSQ routing (Proposition 3 in [18]). So, we will not repeat the proof here, but just state the upper bound:

E

 

(ϵ)



q

 ≤

(ϵ)

lim inf ϵ E ϵ→0



2

+ ϵ2



m

where B2 = M

σ (ϵ)

N2′ smax

ϵ

  m

+ B(ϵ) 2

+ smax . Thus, in heavy traffic limit, we have 2  σ2 (ϵ) q ≤ . 2

36

S.T. Maguluri et al. / Performance Evaluation 81 (2014) 20–39

This coincides with the heavy-traffic lower bound in (44). This establishes the first-moment heavy-traffic optimality of the power-of-two choices routing algorithm. 5. Conclusions We considered a stochastic model for load balancing and scheduling in cloud computing clusters. We studied the performance of JSQ routing and MaxWeight scheduling policy under this model. It was known that this policy is throughput optimal. We have shown that it is heavy traffic optimal when all the servers are identical. We also found that using the power-of-two-choices routing instead of JSQ routing is also heavy traffic optimal. We then considered a simpler setting where the jobs are of the same type, so only load balancing is needed. It has been established by others using diffusion limit arguments that the power-of-two-choices algorithm is heavy traffic optimal. We presented a steady-state version of this result here using Lyapunov drift arguments. Acknowledgments Research was funded in part by ARO MURIs W911NF-08-1-0233 and W911NF-12-1-0385 and NSF Grants ECCS-1255425, CNS-1261429 and ECCS-1202065. Appendix A. Proof of Claim 1 Let j ̸= j′ and m ̸= m′ . Then, clearly,



0≤

 j
  2 (ϵ) (ϵ) ′ − (q ′ )c − q(ϵ) (q(ϵ) j,m − qj,m′ )cj j ,m j′ ,m′ j (ϵ)

(ϵ)

(ϵ)

(ϵ)

2(qj,m − qj,m′ )cj′ (qj′ ,m − qj′ ,m′ )cj ≤

 j
(ϵ) ′ (q(ϵ) j,m − qj,m′ )cj

2

 2 (ϵ) + (q(ϵ) − q ) c ′ ′ ′ j j ,m j ,m

(A.1)

J  J J  J   (ϵ) 2 (ϵ) (ϵ) (ϵ) 2 ′ ′ (q(ϵ) (q(ϵ) j,m − qj,m′ ) (cj ) j,m − qj,m′ )cj (qj′ ,m − qj′ ,m′ )cj ≤ J  

(A.2)

j =1 j ′ =1

j=1 j′ =1

(q(ϵ) j ,m



(ϵ) qj,m′ )cj

2

 J J   (ϵ) 2 (ϵ) (cj′ )2 . (qj,m − qj,m′ ) ≤ 

j =1

j′ =1

j =1

The left-hand sides of (A.1) and (A.2) are equal because of the following reason. The two sums in the LHS of (A.2) can be split into three cases, viz., j = j′ , j < j′ and j > j′ . The term corresponding to j = j′ is zero. The other two cases correspond to the same term which gives the factor 2 in (A.1). Considering the three cases, it can be shown that the right-hand sides of (A.1) J and (A.2) are equal. Noting that j′ =1 (cj′ )2 = 1 and summing over m, m′ such that m < m′ , we get

  m
J  (ϵ)  (q(ϵ) j,m − qj,m′ )cj

 2   J  2   (ϵ) (ϵ) ≤ qj,m − q ′

M  M 



m=1 m′ =1

J 

(ϵ) qj,m cj

(A.3)

j ,m

m
j =1

j =1

    J J  M  M      (ϵ) (ϵ) (ϵ) (ϵ) (ϵ) (qj,m − qj,m′ )cj ≤ qj,m qj,m − qj,m′ .

j =1

m=1 m′ =1

j =1

(A.4)

j =1

The left-hand side of (A.4) is obtained using the same method as in (A.2) as follows. The two sums in the LHS of (A.4) can be split into three cases, viz., m = m′ , m < m′ and m > m′ . The term corresponding to m = m′ is zero. The other two cases can be combined to get



 J 

m
j =1

(ϵ) qj,m cj

     J J J    (ϵ) (ϵ) (ϵ) (ϵ) (ϵ) (qj,m − qj,m′ )cj + qj,m′ cj (qj,m′ − qj,m )cj j =1

j =1

j=1

which is the same as the term in the left-hand side of (A.3). Similarly, the right-hand side term can be obtained. Expanding the products in (A.4), we get

 J M  M   m=1 m′ =1

J M   m=1

2 −

 J M  M   m=1 m′ =1

j =1



M

(ϵ) qj,m cj

(ϵ)

2

qj,m cj

j =1

The claim is now proved.

 −

J M   m=1 j=1

(ϵ) qj,m cj

 J 

j=1

(ϵ)

qj,m cj

(ϵ) qj,m′ cj

 ≤

j=1

2 ≤M

J  M   j=1 m=1

 J M  M    j =1

(ϵ)

qj,m

2

J M   j =1

2

m=1 m′ =1





(ϵ) qj,m

m=1

(ϵ)

qj,m



M  M  m=1 m′ =1

2 .

(ϵ) (ϵ) qj,m qj,m′



S.T. Maguluri et al. / Performance Evaluation 81 (2014) 20–39

37

Appendix B. Outline of the proof of Theorem 1 We will use the same Lyapunov functions defined in the proof of Proposition 1. We will first bound the drift of the Lyapunov function V (.). Note that the bound (13) on the drift of V (.) is valid:

 (ϵ)

E △ V (q



(ϵ)

(ϵ)

)|q (t ) = q





≤ K + Eq(ϵ)

J  M  

(ϵ) 2qj,m



aj,m (t ) −

sm j

(t )

 

.

(B.1)

m=1 j=1

The arrival term here can be bounded as follows, similar to the arrival term in (46) in Section 4. Let Xj = (m1j , m2j ) denote the two servers randomly chosen by power-of-two-choices algorithms for routing of type j jobs:

Eq(ϵ)

 J  M  

(ϵ) 2qj,m



  aj,m (t )

j=1 m=1

  J  M  

=E E

(ϵ) 2qj,m

j=1 m=1

 J  (a) = E

1



j=1 (m1j ,m2j ):m1j
=

(b)



J 

1

λj M

MC 2

j =1 J 

1

(ϵ)

2 min{qj,m1j , qj,m2j }

 λj M λj

j =1

 (ϵ)



C2

 (m1j ,m2j ):m1j


(ϵ) 2qj,m

m

M



J



(ϵ) (ϵ) 2aj (t ) min{qj,m1j , qj,m2j }|q(t ) = q(ϵ) 

(ϵ)



C2 (m ,m ):m
j=1

=

     aj,m (t )  q(t ) = q(ϵ) , Xj = (m1j , m2j )  q(t ) = q(ϵ)  





1 MC

(ϵ)

(ϵ)

(ϵ)

qj,m1j + qj,m2j  − (qj,max − qj,min )

(q(ϵ) j,max



(ϵ) qj,min )

(ϵ)

(ϵ)

(ϵ)

2





(ϵ)

where qj,max = maxm qj,m and qj,min = minm qj,m . Equation (a) follows from the definition of power-of-two-choices (ϵ) (ϵ) (ϵ) (ϵ) (ϵ) (ϵ) routing and (b) follows from the fact that 2 min{qj,m1j , qj,m2j } ≤ qj,m1j + qj,m2j for all m1j and m1j and 2 min{qj,max , qj,min } ≤ (ϵ) (ϵ) (ϵ) (q(ϵ) j,max + qj,min ) − (qj,max − qj,min ). Then, from (B.1), we have

E △ V (q(ϵ) )|q(ϵ) = q(ϵ) ≤ K ′ −





J 

1

λj M

j =1

+2

J 

λj

j=1

C2

(ϵ) (q(ϵ) j,max − qj,min )

 q(ϵ) j,m m

M

 − 2Eq(ϵ)

(B.2)

J M  

(ϵ) 2qj,m sm j (t )

 .

(B.3)

m=1 j=1

Now, we will bound the term in (B.2). As in Section 3.2, we will assume that the arrival rate λ(ϵ) is such that there exists a δ > 0 such that λ(ϵ) > δ for all j: j



J  j =1

1

λj M

C2

(q(ϵ) j,max



(ϵ) qj,min )

=−

J 

λj

j=1

≤−

J 

λj

j=1



1 MC

MC



2

M



(ϵ)

(ϵ)

M qj,max − qj,min

2

    (ϵ) 2  qj,m′ M   1  (ϵ)  m′  q − √   j ,m 

2

M

M

m=1

    (ϵ) 2  qj,m′ J M  2  ′′   (ϵ)  m′ ≤− δ  qj,m −  M j =1

where δ ′′ =

m=1

M

δ√ . This term is the same as the term in (18) with δ ′′ (M −1) M

instead of δ . This term can then be bound by the term

in (19). Noting that the terms in (B.3) are identical to those in (15), we can bound them using (20) and (25) as in Section 3.2.

38

S.T. Maguluri et al. / Performance Evaluation 81 (2014) 20–39

Then, we get

E △ V (q(ϵ) )|q(ϵ)



    (ϵ) 2  qj,m′ J M  ( k )  2ϵ 2  ′′   (ϵ)  m′ (ϵ,k) ′ 2 (ϵ) ≤ K + 2JMDmax smax − √ ∥q∥ ∥ − =q δ  qj,m −  M j =1

M

  2  M J   J M     2 (ϵ) (ϵ) (k)  − 2δ qj,m − qj′ ,m cj′ . m=1 j=1

m=1

m=1

M

(B.4)

j ′ =1

This equation is now identical to (26) with δ ′′ instead of δ . Note that the remainder of the proof of state-space collapse in Section 3.2 is independent of the routing policy and is valid when δ is replaced with δ ′′ . Moreover, the proofs of lower bound in Section 3.1 and upper bound in Section 3.3 are also valid here. Thus, once we have the above relation, the proof of heavy traffic optimality of this policy is identical to that of JSQ routing and MaxWeight scheduling policy and so the proof of Theorem 1 is complete. References [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28]

EC2, http://aws.amazon.com/ec2/. AppEngine, http://code.google.com/appengine/. Azure, http://www.microsoft.com/windowsazure/. I. Foster, Y. Zhao, I. Raicu, S. Lu, Cloud computing and grid computing 360-degree compared, in: Grid Computing Environments Workshop, 2008. GCE’08, 2008, pp. 1–10. M. Armbrust, A. Fox, R. Griffith, A. Joseph, R. Katz, A. Konwinski, G. Lee, D. Patterson, A. Rabkin, I. Stoica, et al. Above the clouds: A Berkeley view of cloud computing. Tech. Rep. UCB/eeCs-2009-28, EECS Department, U.C. Berkeley. D.A. Menasce, P. Ngo, Understanding cloud computing: Experimentation and capacity planning, in: Proc. 2009 Computer Measurement Group Conf., 2009. S.T. Maguluri, R. Srikant, L. Ying, Stochastic models of load balancing and scheduling in cloud computing clusters, in: Proc. IEEE Infocom., 2012, pp. 702–710. S.T. Maguluri, R. Srikant, Scheduling jobs with unknown duration in clouds, in: INFOCOM, 2013 Proceedings IEEE, 2013, pp. 1887–1895. S.T. Maguluri, R. Srikant, Scheduling jobs with unknown duration in clouds, IEEE/ACM Trans. Netw. (2014) in press. Available online at https://ieeexplore.ieee.org/xpl/articleDetails.jsp?tp=&arnumber=6672027. L. Tassiulas, A. Ephremides, Stability properties of constrained queueing systems and scheduling policies for maximum throughput in multihop radio networks, IEEE Trans. Automat. Control 4 (1992) 1936–1948. M. Bramson, State space collapse with application to heavy-traffic limits for multiclass queueing networks, Queueing Syst. Theory Appl. (1998) 89–148. R.J. Williams, Diffusion approximations for open multiclass queueing networks: Sufficient conditions involving state space collapse, Queueing Syst. Theory Appl. (1998) 27–88. M.I. Reiman, Some diffusion approximations with state space collapse, in: Proceedings of International Seminar on Modelling and Performance Evaluation Methodology, in: Lecture Notes in Control and Information Sciences, Springer, Berlin, 1983, pp. 209–240. J.M. Harrison, Heavy traffic analysis of a system with parallel servers: Asymptotic optimality of discrete review policies, Ann. Appl. Probab. (1998) 822–848. J.M. Harrison, M.J. Lopez, Heavy traffic resource pooling in parallel-server systems, Queueing Syst. (1999) 339–368. S.L. Bell, R.J. Williams, Dynamic scheduling of a parallel server system in heavy traffic with complete resource pooling: asymptotic optimality of a threshold policy, Electron. J. Probab. (2005) 1044–1115. A. Stolyar, MaxWeight scheduling in a generalized switch: State space collapse and workload minimization in heavy traffic, Adv. Appl. Prob. 14 (1) (2004) 1–53. A. Eryilmaz, R. Srikant, Asymptotically tight steady-state queue length bounds implied by drift conditions, Queueing Syst. (2012) 1–49. J.F.C. Kingman, Some inequalities for the queue GI/G/1, Biometrika (1962) 315–324. M. Mitzenmacher, The power of two choices in randomized load balancing (Ph.D. thesis), University of California at Berkeley, 1996. M. Bramson, Y. Lu, B. Prabhakar, Randomized load balancing with general service time distributions, in: Proceedings of the ACM SIGMETRICS International Conference on Measurement and Modeling of Computer Systems, SIGMETRICS’10, ACM, New York, NY, USA, 2010, pp. 275–286. H. Chen, H.Q. Ye, Asymptotic optimality of balanced routing, http://myweb.polyu.edu.hk/~lgtyehq/papers/ChenYe11OR.pdf, 2010. Y.T. He, D.G. Down, Limited choice and locality considerations for load balancing, Perform. Eval. 65 (9) (2008) 670–687. N.D. Vvedenskaya, R.L. Dobrushin, F.I. Karpelevich, Queueing system with selection of the shortest of two queues: An asymptotic approach, Probl. Inf. Transm. 32 (1) (1996) 15–27. S.T. Maguluri, R. Srikant, L. Ying, Heavy traffic optimal resource allocation algorithms for cloud computing clusters, in: International Teletraffic Congress, 2012, pp. 1–8. B. Hajek, Hitting-time and occupation-time bounds implied by drift analysis with applications, Adv. Appl. Probab. (1982) 502–525. A. Mandelbaum, A.L. Stolyar, Scheduling flexible servers with convex delay costs: heavy-traffic optimality of the generalized c µ-rule, Oper. Res. 52 (6) (2004) 836–855. H.Q. Ye, D.D. Yao, Utility-maximizing resource control: Diffusion limit and asymptotic optimality for a two-bottleneck model, Oper. Res. 58 (3) (2010) 613–623.

Siva Theja Maguluri received his B.Tech. in Electrical Engineering from the Indian Institute of Technology Madras in 2008 and his M.S. in Electrical and Computer Engineering from the University of Illinois at Urbana–Champaign in 2011. He is currently a Ph.D. candidate at the Department of Electrical and Computer Engineering and a Research Assistant in the Coordinated Science Lab at UIUC. His research interests include cloud computing, queueing theory, game theory, stochastic processes and communication networks.

S.T. Maguluri et al. / Performance Evaluation 81 (2014) 20–39

39

R. Srikant received his B.Tech. from the Indian Institute of Technology, Madras in 1985, his M.S. and Ph.D. from the University of Illinois in 1988 and 1991, respectively, all in Electrical Engineering. He was a Member of Technical Staff at AT&T Bell Laboratories from 1991 to 1995. He is currently with the University of Illinois at Urbana–Champaign, where he is the Fredric G. and Elizabeth H. Nearing Professor in the Department of Electrical and Computer Engineering, and a Research Professor in the Coordinated Science Lab. He was an associate editor of Automatica, the IEEE Transactions on Automatic Control, the IEEE/ACM Transactions on Networking, and the Journal of the ACM. He has also served on the editorial boards of special issues of the IEEE Journal on Selected Areas in Communications and IEEE Transactions on Information Theory. He was the chair of the 2002 IEEE Computer Communications Workshop in Santa Fe, NM and a program co-chair of IEEE INFOCOM, 2007. He is currently the Editor-in-Chief of the IEEE/ACM Transactions on Networking. He was a Distinguished Lecturer for the IEEE Communications Society for 2011–12. His research interests include communication networks, stochastic processes, queueing theory, information theory and game theory. Lei Ying received his B.E. degree from Tsinghua University, Beijing, China, and his M.S. and Ph.D. in Electrical and Computer Engineering from the University of Illinois at Urbana–Champaign. Currently he is an Associate Professor at the School of Electrical, Computer and Energy Engineering at Arizona State University and an Associate Editor of the IEEE/ACM Transactions on Networking. His research interest is broadly in the area of stochastic networks, including big data and cloud computing, cyber security, P2P networks, social networks and wireless networks. He won the Young Investigator Award from the Defense Threat Reduction Agency (DTRA) in 2009 and NSF CAREER Award in 2010. He was the Northrop Grumman Assistant Professor in the Department of Electrical and Computer Engineering at Iowa State University from 2010 to 2012.

Heavy traffic optimal resource allocation algorithms for ...

Aug 27, 2014 - b School of ECEE, 436 Goldwater Center, Arizona State University, Tempe, AZ 85287, USA ... We call these requests jobs. The cloud service ...

855KB Sizes 8 Downloads 311 Views

Recommend Documents

Optimal Resource Allocation for Multiuser MIMO-OFDM ...
tiplexing (OFDM), a broadband frequency-selective channel is decoupled into ... strong candidate for next generation wireless systems, like 4th generation ...

Optimal Feedback Allocation Algorithms for Multi-User ...
a weighted sum-rate maximization at each scheduling instant. We show that such an .... station has perfect knowledge of the channel state m[t] in every time slot.

OPTIMAL RESOURCE PROVISIONING FOR RAPIDLY ...
OPTIMAL RESOURCE PROVISIONING FOR RAPIDL ... UALIZED CLOUD COMPUTING ENVIRONMENTS.pdf. OPTIMAL RESOURCE PROVISIONING FOR ...

DREAM: Dynamic Resource Allocation for Software-defined ...
1. INTRODUCTION. Today's data center and enterprise networks require expensive .... services have a large number of tenants; for example, 3 million do-.

Minimax Optimal Algorithms for Unconstrained ... - Semantic Scholar
Jacob Abernethy∗. Computer Science and Engineering .... template for (and strongly motivated by) several online learning settings, and the results we develop ...... Online convex programming and generalized infinitesimal gradient ascent. In.

Minimax Optimal Algorithms for Unconstrained ... - NIPS Proceedings
regret, the difference between his loss and the loss of a post-hoc benchmark strat- ... While the standard benchmark is the loss of the best strategy chosen from a.

Optimal Allocation Mechanisms with Single ... - Semantic Scholar
Oct 18, 2010 - [25] Milgrom, P. (1996): “Procuring Universal Service: Putting Auction Theory to Work,” Lecture at the Royal Academy of Sciences. [26] Myerson ...

Genetic evolutionary algorithm for optimal allocation of ...
Given a set of connections between the source-destination node-pairs, the algorithm to ..... advantages of natural genetic system. In this article, more ..... rence on Wireless and Optical Communications Networks – 2006. (WOCN'06), IEEE ...

Optimal Power Allocation for Fading Channels in ...
Jul 8, 2008 - communication network (SCN) to opportunistically operate in the ...... Telecommunications Conference (GLOBECOM07), Washington. DC, USA ...

Genetic evolutionary algorithm for optimal allocation of ...
Keywords WDM optical networks · Optimal wavelength converter ... network may employ wavelength converters to increase the ..... toward the next generation.

A Simple Approach for Optimal Allocation of ...
topology of all-optical wide area network, few nodes may require less number of .... utilization for different nodes, the proposed algorithm chooses the nodes ...

Optimal Quantization and Bit Allocation for ...
Etienne Marcheret, Vaibhava Goel, Peder A. Olsen. IBM T. J. Watson Research, Yorktown Heights, NY, USA ... The first stage, level 1, relies on a set of Gaussians. G to convert an input d-dimensional feature vector xt to offset .... terms of the produ

Optimal Allocation Mechanisms with Single ... - Semantic Scholar
Oct 18, 2010 - We study revenue-maximizing allocation mechanisms for multiple heterogeneous objects when buyers care about the entire ..... i (ci,cLi)], where (pLi)z denotes the probability assigned to allocation z by pLi. The timing is as follows: S

Optimal sequential treatment allocation
Dec 12, 2017 - treatment) and obtaining more precise information later (by postponing the measurement). In addition, we argue that the desirability of a treatment cannot be measured only by its ex- pected outcome. A sensible welfare function must tak

Delay-Sensitive Resource Allocation for Relay-Aided ...
[17] D. I. Kim, W. Choi, H. Seo, and B.-H. Kim, “Partial information relaying and relaying in 3GPP LTE,” Cooperative cellular wireless networks, p. 462, Mar. 2011.

incentive-based resource allocation and control for ...
Computing services, loosely defined as the allocation and management of ... resources in service computing environments, procedures which have many ...

Resource and Bandwidth Allocation
Grid computing systems (machines) pool together the resources of a heterogeneous collection of computing systems that are widely distributed, possibly.

Low-Complexity Feedback Allocation Algorithms For ...
station serves a subset of users, chosen based on limited feedback received during the initial control segment of a time slot. The users can ... 1 depicts the uplink of an FDD cellular network where the base station serves multiple mobiles or users .

Social-optimized Win-win Resource Allocation for Self-organizing Cloud
Cloud computing offers scalable and on-demand virtualized resources as a utility service over the Internet with bypassed inter-operability constraints. With VM's ...

Fair Beamwidth Selection and Resource Allocation for ...
†School of ECE, College of Engineering, University of Tehran, Iran. ‡School of ... promising technology for supporting extremely high data rates in the next generation .... devices begin with finding the best sector-level beams through a sequence

Rate Adaptive Resource Allocation for Multiuser OFDM ...
Abstract-- This paper presents a new rate adaptive resource allocation technique for multiuser Orthogonal Frequency. Division Multiplexing (OFDM) systems. We optimize both bit and subcarrier allocation by considering Rate maximization and. Total Powe

Dynamic Resource Allocation Mechanisms for Grid ...
scheduling algorithm to allow a flexible scheduling of resources ..... standard tools and techniques. • Human ... and navigate through the content of the e-learning.

Dynamic Resource Allocation Techniques for Half- and ...
Nov 7, 2014 - limited environments with applications to both wireline and wireless ...... approximate global knowledge by taking advantage of the clustered ...