Utility Maximizing Load Balancing Policies

Published Online:https://doi.org/10.1287/stsy.2022.0103

Abstract

Consider a service system where incoming tasks are instantaneously dispatched to one out of many heterogeneous server pools. Associated with each server pool is a concave utility function that depends on the class of the server pool and its current occupancy. We derive an upper bound for the mean normalized aggregate utility in stationarity and introduce two load balancing policies that achieve this upper bound in a large-scale regime. Furthermore, the transient and stationary behavior of these asymptotically optimal load balancing policies is characterized on the scale of the number of server pools in the same large-scale regime.

Funding: This work was supported by the Netherlands Organization for Scientific Research (NWO) through [Gravitation Grant NETWORKS-024.002.003] and [Gravitation Grant Vici 202.068].

Supplemental Material: The online appendix is available at https://doi.org/10.1287/stsy.2022.0103.

1. Introduction

We consider a service system where incoming tasks are instantaneously assigned to one out of many heterogeneous server pools. All the tasks sharing a server pool are executed in parallel and the execution times do not depend on the class of the server pool or the number of tasks currently contending for service. Nevertheless, associated with each server pool is a not necessarily increasing concave utility function that does depend on the class of the server pool and the number of tasks currently sharing it. These features are characteristic of streaming and online gaming services, where the duration of tasks is mainly determined by the application, but still congestion can have a strong impact on the experienced performance (e.g., video resolution and fluency).

The goal is to assign tasks to maximize the overall utility of the system, defined as the aggregate utility of all the server pools normalized by the number of server pools. We derive an upper bound for its stationary mean through an optimization problem where the optimization variable is a sequence that describes the distribution of a fractional number of tasks across the server pools; the objective of the problem is the overall utility function, and the main constraint is that the total number of tasks must be equal to the offered load of the system. We construct an optimal (fractional) task assignment that solves this problem and has a particularly insightful structure, and we formulate the upper bound for the mean stationary overall utility in terms of this solution.

Armed with the previous insight, we propose and analyze two assignment policies that maintain the occupancy state of the system aligned with an optimal task assignment. Specifically, we examine a policy that assigns every new task to a server pool with the largest marginal utility; this policy is dubbed join the largest marginal utility (JLMU). We also introduce a multithreshold policy that follows the same greedy principle but only approximately and uses significantly less state information. The optimal threshold values depend on the typically unknown offered load of the system and are adjusted over time through an inbuilt learning scheme; thus, we name this policy self-learning threshold assignment (SLTA). Assuming exponential service times, we characterize the asymptotic transient and stationary behavior of both policies on the scale of the number of server pools, and we prove that both policies achieve the upper bound for the mean stationary overall utility as the number of server pools grows large.

A fundamental difference between JLMU and SLTA is that the former is naturally agnostic to the offered load, whereas for the latter, the optimal thresholds depend on the offered load. However, we show that the online learning scheme of SLTA is capable of finding the optimal threshold values without any prior knowledge of the offered load, which makes it possible to deploy SLTA if the offered load is not known in advance.

1.1. Main Contributions

The main contribution of this paper is an upper bound for the mean stationary overall utility that is asymptotically tight for exponentially distributed service times and thereby serves as a crucial performance benchmark. The asymptotic tightness of the upper bound is proved by studying the stationary behavior of JLMU and SLTA in the regime where the number of server pools grows large and by establishing that both assignment policies achieve the upper bound in the latter regime.

The analysis of JLMU is based on a fluid limit given by an infinite system of differential equations with a discontinuous right-hand side. We prove that the associated initial value problem always has a unique solution by making a connection with a system of integral equations, expressed in terms of Skorokhod one-dimensional reflection mappings and using a uniqueness result for certain Kolmogorov backward equations. Moreover, we show that the fluid limit holds with respect to an 1 norm and that the system of differential equations is globally asymptotically stable with respect to this norm. These results are used to prove that the stationary distribution of the process that describes the occupancy state of the system converges in 1 to an optimal task assignment for the offered load of the system. The asymptotic optimality of JLMU is then established by proving that the stationary overall utilities form a convergent and uniformly integrable sequence of random variables; the proof of the latter properties exploits a representation of the overall utility as a linear functional on 1 and our convergence results with respect to the 1 norm.

Although SLTA is simple to implement, its analysis is inherently challenging due to the complex interdependence between two components of the policy. Namely, the dispatching rule, which depends on the multiple thresholds, and the online learning scheme, which adjusts the thresholds over time. Furthermore, an additional technical difficulty is that the learning scheme is triggered by excursions of the occupancy state of the system that asymptotically vanish on the scale of the number of server pools.

To analyze the large-scale transient behavior of SLTA, we use a methodology of Goldsztajn et al. (2021a) that allows overcoming of the aforementioned challenges by means of a nontraditional fluid limit analysis. In this paper, we extend the latter methodology to also prove weak convergence of the stationary distribution of the occupancy process and thresholds. Here our contributions are proofs of ergodicity and tightness of stationary distributions through a careful drift analysis, as well as a suitably adapted interchange of limits argument designed to leverage the large-scale transient result obtained with the methodology of Goldsztajn et al. (2021a). Equipped with the convergence results for the stationary distributions, we prove the asymptotic optimality of SLTA in a similar way as for JLMU by showing that all our limit theorems hold with respect to the 1 norm and exploiting the linear representation of the overall utility function.

1.2. Related Work

Load balancing and task assignment in parallel-server systems has received immense attention in the past decades; some relevant papers are Winston (1977), Vvedenskaya et al. (1996), Mitzenmacher (2001), Lu et al. (2011), Stolyar (2015), and Eschenfeldt and Gamarnik (2018). Traditionally the focus used to be on performance, but more recently the implementation overhead has emerged as an equally important issue. In large-scale deployments, this overhead has two main sources: the communication burden of messaging between the dispatcher and the servers and the operational cost of storing and managing state information at the dispatcher (Gamarnik et al. 2018, 2020). We refer to Van der Boor et al. (2022) for an extensive survey on scalable load balancing.

Whereas the load balancing literature has been predominantly concerned with systems of parallel single-server queues, the present paper considers an infinite-server setting where the service times of tasks do not depend on the number of competing tasks. As noted earlier, this feature is characteristic of streaming applications, where the level of congestion does not significantly affect the duration of tasks. The level of congestion has, however, a strong impact on the amount of resources received by individual streaming sessions, and thus on the experienced quality-of-service, which can be modeled through utility functions. Infinite-server dynamics have been commonly adopted as a natural paradigm for modeling streaming sessions on flow-level (Benameur et al. 2002, Key et al. 2004), and the problem of managing large data centers serving streaming sessions has been recently addressed in Mukherjee et al. (2020). Systems with infinite-server dynamics have also been analyzed in Mukhopadhyay et al. (2015a, b), Karthik et al. (2017), and Xie et al. (2015), which concern loss models that are different in nature from the setting considered in the present paper.

When the server pools are homogeneous, the overall utility is a Schur-concave function of the vector describing the number of tasks at each server pool. In this case, maximizing the aggregate utility of the system boils down to equalizing the number of tasks across the various server pools. Join the shortest queue (JSQ) maximizes the mean stationary overall utility of the system for exponential service times and, in fact, has stronger stochastic optimality properties (Menich and Serfozo 1991, Sparaggis et al. 1993). In the homogeneous setting, JLMU reduces to JSQ and is thus optimal for exponential service times. In addition, SLTA reduces to the policy considered in Goldsztajn et al. (2021a, b), which asymptotically matches the performance of JSQ on the fluid and diffusion scales for exponentially distributed service times. Although the policy considered in Zhou et al. (2017, 2018) and Horváth et al. (2019) is similar to SLTA in name, this policy does not equalize the queue lengths.

The problem of maximizing the overall utility of the system is more challenging if the server pools are heterogeneous as in this paper. Heterogeneity is the norm in data centers, where servers from different generations coexist because old machines are only gradually replaced by more powerful versions; as shown in Figure 1, this feature has been recently addressed in the load balancing literature for single-server models (Gardner and Stephens 2019, Jaleel et al. 2020, Gardner et al. 2021) but not in the infinite-server context. When the server pools are heterogeneous, it is no longer optimal to maintain an evenly balanced distribution of the load; in fact, it is not even obvious at all how tasks should be distributed to maximize the overall utility function, and the optimal distribution of tasks across the server pools depends on this function. Another striking difference with the homogeneous setting is that JLMU is generally not optimal in the prelimit for exponentially distributed service times; we establish that, in general, the optimality is only achieved asymptotically in the heterogeneous case.

Figure 1. Schematic View of Some of the Related Work
Notes. Most of the load balancing literature concerns systems of parallel and homogeneous single-server queues; this vast literature is surveyed in Van der Boor et al. (2022). Some recent papers study single-server dynamics in heterogeneous settings or infinite-server dynamics in homogeneous settings, whereas the present paper considers a heterogeneous system with infinite-server dynamics.

From a theoretical perspective, one of the most interesting features of SLTA is its capacity to learn the offered load of the system. The problem of adaptation to unknown demands was previously addressed in Mukherjee et al. (2017) and Goldsztajn et al. (2018, 2022) in the context of single-server models by assuming that the number of servers can be right-sized on the fly to match the load of the system. However, in the latter papers the dispatching rule remains the same at all times because the right-sizing mechanism alone is sufficient to maintain small queues, by adjusting the number of servers. Different from these right-sizing mechanisms, the learning scheme of SLTA modifies the parameters of the dispatching rule over time to maximize the overall utility of the system.

1.3. Outline of the Paper

In Section 2, we introduce some of the notation used throughout the paper and we prove the upper bound for the mean stationary overall utility. In Section 3, we specify the JLMU and SLTA policies, and we state their asymptotic optimality with respect to the mean stationary overall utility. In Section 4, we present several results that pertain to the asymptotic transient behavior of these two policies and that are used to establish their asymptotic optimality. To characterize the asymptotic behavior of JLMU and SLTA, we construct systems of different sizes on a common probability space in Section 5, where we also prove relative compactness results. Limit theorems for the transient regimes of JLMU and SLTA are proved in Sections 6 and 7, respectively, and the asymptotic optimality of these policies is established in Section 8. Some proofs are deferred to Online Appendices A, B and C.

2. Performance Upper Bound

In this section, we define some of the notation used throughout the paper and we prove the upper bound for the mean stationary overall utility. In Section 2.1, we introduce two descriptors for specifying the state of the system, and we define the overall utility function. In Section 2.2, we present the optimization problem used to derive the upper bound for the mean stationary overall utility. In Section 2.3, we construct a solution of this problem explicitly, and in Section 2.4, we use the constructed solution to formulate the upper bound for the mean stationary overall utility, which we prove in Section 2.5.

2.1. Basic Notation

Consider a system with m classes of server pools. All the tasks sharing a server pool are executed in parallel and the execution times do not depend on the class of the server pool or the number of tasks currently contending for service. Nevertheless, associated with each server pool is a concave utility function which does depend on the class of the server pool and the number of tasks sharing it. For example, these functions can be used to model the overall quality-of-service provided to streaming tasks sharing an underlying resource with a fixed capacity. The objective is to assign the incoming tasks to the various server pools to maximize the aggregate utility of all the server pools in stationarity.

The number of server pools is denoted by n, and the number and fraction of server pools of class i are denoted by An(i) and αn(i)=An(i)/n, respectively. We assume that tasks arrive as a Poisson process of intensity nλ with independent and identically distributed service times of mean 1/μ, and we define Xn(i,k) as the number of tasks in server pool k of class i; bold symbols are used in the paper to indicate time dependence. Server pools of the same class that have the same number of tasks are exchangeable; thus, we usually consider a different state descriptor. Specifically, we let

qn(i,j)1nk=1An(i) 𝟙{Xn(i,k)j}
denote the fraction of server pools which are of class i and have at least j tasks. The values of Xn and qn at a given time are referred as the occupancy state or task assignment.

The concave utility function associated with server pools of class i is denoted by ui, and the overall utility of the system is defined as the aggregate utility of all the server pools normalized by the number of server pools. More precisely, we let

un(Xn)1ni=1mk=1An(i)ui(Xn(i,k)).

Note that qn(i,j)qn(i,j+1) is the fraction of server pools of class i with j tasks. Thus, the overall utility may equivalently be expressed as

u(qn)i=1mj=0ui(j)[qn(i,j)qn(i,j+1)].

Although the overall utility function is generally not linear as a function of Xn, it is always linear as a function of qn, as shown by the previous expression.

The total number of tasks in the system, normalized by the number of server pools, can be expressed in terms of the occupancy state qn as follows:

sni=1mj=1qn(i,j)=i=1mj=1j[qn(i,j)qn(i,j+1)].(1)

The quantity j[qn(i,j)qn(i,j+1)] represents the number of tasks in server pools of class i with exactly j tasks, normalized by the total number of server pools. Hence, sn indeed corresponds to the normalized total number of tasks.

Throughout the paper, we write P and E to denote the probability and expectation with respect to a given probability measure. If ρλ/μ denotes the normalized offered load, then the stationary distribution of the total number of tasks is Poisson with mean nρ due to the infinite-server dynamics of the system. Thus, E[sn]=ρ in stationarity, for any task assignment policy.

2.2. Optimization Problem

Based on the previous statements, we now formulate an optimization problem that yields an upper bound for the mean stationary overall utility:

 maximizequ(q) subject toi=1mj=1q(i,j)=ρ,0q(i,j+1)q(i,j)q(i,0)=αn(i) for alli,j.(2)

To see that the optimum of (2) yields an upper bound for the mean stationary overall utility, consider any policy such that qn has a stationary distribution. We assume that the policy is such that the evolution of the system over time can be described by a Markov process, with a possibly uncountable state space, that has a stationary distribution. Let qn be a random variable with the stationary distribution of qn and define E[qn] as the sequence whose (i, j) element is E[qn(i,j)]. Observe that

E[u(qn)]=u(E[qn]).(3)

Indeed, the utility functions are concave, so for each i there exists jiN such that ui(j) and ui(k) have the same sign if j,k>ji. Therefore, (3) follows from Tonelli’s theorem. In addition, E[qn] satisfies the constraints of (2) because the total number of tasks in stationarity has mean nρ. Thus, E[u(qn)] is upper bounded by the optimum of (2).

2.3. Structure of an Optimal Solution

For brevity, we refer to an optimizer of (2) as an optimal task assignment; the term optimal fractional task assignment would be more appropriate since the offered load nρ may not be integral. In this section we define a ranking of the server pools that can be used to construct an optimal task assignment. For this purpose, consider the sets

I{1,,m}×N andI+{(i,j)I:j1}.

A server pool has coordinates (i,j)I+ if its class is i and it has precisely j1 tasks; for example, in Figure 2, server pool A of class 1 has coordinates (1, 4), and both server pools of class 3 have coordinates (3, 1). Because server pools with the same coordinates are statistically identical, we may focus on ranking coordinates rather than server pools.

Figure 2. Schematic Representation of the Marginal Utilities
Notes. White rectangular slots and gray rectangles represent idle and busy servers, respectively. Each of the columns labeled with letters represents a server pool and the dashed lines enclose server pools of the same class. If the tasks sent to a given server pool are always placed in the first idle server from bottom to top, then the marginal utilities written on top of the idle servers indicate the increase in the aggregate utility of the system when the server receives a task.

Formally, we define a total order on I+ that gives precedence to coordinates associated with larger marginal utilities. The marginal utility of a server pool of class i with j tasks is denoted by Δ(i,j)ui(j+1)ui(j) and represents the change in the utility function of such a server pool if it receives an additional task. The marginal utility of the coordinates (i, j) is just Δ(i,j1), the marginal utility of server pools of class i with j1 tasks.

Consider the dictionary order on I, defined by

(i1,j1)(i2,j2) if and only ifi1<i2 ori1=i2 andj1<j2.

We obtain a total order on I+ by writing (i1,j1)(i2,j2) if and only if one of the following conditions holds:

Δ(i1,j11)<Δ(i2,j21), or 
Δ(i1,j11)=Δ(i2,j21) and (i1,j11)(i2,j21).

In particular, the marginal utility of server pools with coordinates (i1, j1) is smaller than or equal to that of server pools with coordinates (i2,j2)(i1,j1). The dictionary order is used to break the tie when both coordinates are associated with the same marginal utility, but a different tie breaking rule could be used instead.

Consider the task assignment qn* defined by

qn*(i,j){0 if(i,j)σn*,αn(i) if(i,j)σn*,ρ(r,s)σn*αn(r) if(i,j)=σn*, for all(i,j)I+.(4)

In Section 2.5, we prove that qn* constitutes an optimal task assignment if σn* is defined as the unique element of I+ that satisfies

(i,j)σn*αn(i)ρ<(i,j)σn*αn(i).(5)

For the uniqueness of σn*, the number of terms in the summations on both sides of (4) increases as the ranking of σn* becomes worse and that the summation on the right has exactly one more term than the summation on the left.

2.3.1. Numerical Examples.

Figure 3 depicts the optimal task assignments obtained through (4) for two sets of utility functions and different values of ρ. If n is such that nαn(i) and nρ are integers for all i, then the plots can be interpreted as sets of n adjacent columns, where each column represents a server pool and the colored portion of a column indicates the number of tasks sharing the server pool, as in the diagram of Figure 2. The thick vertical lines separate the server pool classes and the quantities qn*(i,j) can be read off by rotating the plots.

Figure 3. Distribution of the Offered Load Across the Various Server Pools Under the Optimal Task Assignment of (4)
Notes. (Left) ui(x)=xlog(r(i)/x) with r=(5,10,15). (Right) u1(x)=x,u2(x)=2xx2/20,u3(x)=3x/2 if x < 20 and u3(x)=30 if x20. In both cases m = 3 and αn=(1/2,1/4,1/4).

The left plot corresponds to utility functions of the form ui(x)=xg(r(i)/x), with g a concave and increasing function. These utility functions can be used to model the aggregate quality-of-service provided to streaming tasks sharing a single server pool. The quantity r(i) represents the total amount of resources in a server pool of class i and g(r(i)/x) models the quality-of-service provided to a single task when the server pool is shared by x tasks and each task gets a fraction r(i)/x of the total resources. For a given ρ, the left plot of Figure 3 depicts server pools with roughly r(i)/c(r,ρ) tasks, with c(r,ρ) a normalizing constant that does not depend on g; for some values of ρ, all server pools have exactly r(i)/c(r,ρ) tasks, but in other cases some of these numbers are rounded. This behavior is explained by noting that the derivative of ui(x) can be expressed as a function of r(i)/x, thus the occupancy levels r(i)/c(r,ρ) equalize the marginal utilities.

In the left plot of Figure 3, the occupancy levels of the various server pools maintain approximately fixed ratios as ρ increases. The right plot shows a completely different behavior: as ρ increases from 0 to 1.25, only the occupancy of server pools of class 2 grows, but from 1.25 to 6.25, only the occupancy of server pools of class 3 grows, and eventually exceeds the occupancy of server pools of class 2. Furthermore, as ρ increases beyond 7.5, only the occupancy of server pools of class 1 increases.

2.4. Performance Upper Bound

We now state the upper bound for the mean stationary overall utility. The proof uses the remarks of Sections 2.2 and 2.3 and is given in Section 2.5.

Theorem 1.

Consider any task assignment policy such that the occupancy process qn has a stationary distribution and let qn be a random variable distributed as this stationary distribution. Then

E[u(qn)]u(qn*).

In Section 3.4, we establish that the upper bound is asymptotically achievable when service times are exponentially distributed. In particular, we will see that JLMU achieves the upper bound of Theorem 1 as the number of server pools grows large; recall that JLMU is generally not optimal in the prelimit, not even for exponential service times. Moreover, we will establish that SLTA also achieves the upper bound asymptotically while relying on considerably less state information.

2.5. Proof of the Upper Bound

Recall from Section 2.2 that the optimum of (2) is an upper bound for the mean stationary overall utility. Therefore, we only need to prove that the task assignment qn* defined in (4) is an optimizer of (2). For this purpose, we introduce the following definition. We say that a sequence qRI is eventually zero if there exists k > 0 such that q(i,j)=0 for all i and j > k. The following lemma implies that qn* is an optimizer of (2) if we impose the additional constraint that the solution must be eventually zero.

Lemma 1.

If q satisfies the constraints of (2) and is eventually zero, then u(q)u(qn*).

Proof.

Because q is eventually zero, it is possible to write

u(q)=i=1j=0ui(j)[q(i,j)q(i,j+1)]=i=1mui(0)q(i,0)+i=1mj=1Δ(i,j1)q(i,j)=i=1mui(0)αn(i)+(i,j)I+Δ(i,j1)q(i,j).(6)

In the last expression, the terms of the summation are ordered with respect to and in particular in nonincreasing order of the marginal utilities Δ(i,j1). The task assignment qn* is obtained by choosing the coefficients q(i, j) so that the first coefficients are maximal while all the coefficients add up to ρ. Thus, qn* maximizes the right-hand side of (6). □

We now provide a solution of (2), without imposing any additional constraints.

Proposition 1.

The task assignment qn* defined in (4) is an optimizer of (2).

Proof.

By Lemma 1, it suffices to prove that u(q)u(qn*) for each q that is not eventually zero and satisfies the constraints of (2). Next, we fix one such sequence q and we construct an eventually zero sequence z such that u(q)u(z) and z satisfies the constraints of (2). Then u(q)u(z)u(qn*) by Lemma 1, as desired.

Choose kN such that αn(i)k>ρ for all i. For each i, we define z(i, j) iteratively, by

z(i,j){min{q(i,j)+l=k+1q(i,j)l=0j1[z(i,l)q(i,l)],αn(i)} ifjk,0 ifj>k.

Informally, each coefficient q(i, j) can be regarded as a container with capacity αn(i), as shown in Figure 4. For each i, the sequence q(i,·) is transformed into z(i,·) in two steps: first we remove all the mass from the coefficients q(i, j) with j > k, and then we place this mass on the coefficients q(i, j) with jk. In the latter step, we start with the first coefficient, placing as much mass as possible without exceeding the capacity αn(i). The remainder of mass is placed in the following coefficients in the same fashion, and in increasing order of j. Observe that all the mass will have been placed right after the coefficient q(i, k) is done because q satisfies the constraints of (2) and αn(i)k>ρ. Furthermore, the following property holds:

j=0k[z(i,j)q(i,j)]=j=k+1q(i,j) for alli.(7)

The overall utility of the task assignment q satisfies

u(q)=i=1mj=0ui(j)[q(i,j)q(i,j+1)]=i=1mj=0kui(j)[q(i,j)q(i,j+1)]+i=1mj=k+1ui(j)[q(i,j)q(i,j+1)]i=1mj=0kui(j)[q(i,j)q(i,j+1)]+i=1mj=k+1[ui(k)+(jk)Δ(i,k)][q(i,j)q(i,j+1)]=i=1mj=0kui(j)[q(i,j)q(i,j+1)]+i=1mui(k)q(i,k+1)+i=1mΔ(i,k)j=k+1q(i,j)=i=1mui(0)αn(i)+i=1mj=0kΔ(i,j1)q(i,j)+i=1mΔ(i,k)j=k+1q(i,j)=u(z)+i=1mj=0kΔ(i,j1)[q(i,j)z(i,j)]+i=1mΔ(i,k)j=k+1q(i,j).

For the last step, recall that z is eventually zero, so u(z) can be computed as in (6). Note that q(i,j)z(i,j) and Δ(i,j1)Δ(i,k) if jk. Therefore,

u(q)u(z)+i=1mΔ(i,k)j=1k[q(i,j)z(i,j)]+i=1mΔ(i,k)j=k+1q(i,j)=u(z)u(qn*).

The middle equality and last inequality follow from (7) and Lemma 1, respectively. □

Figure 4. Schematic View of the Construction of z(i,·) from q(i,·) for Some Fixed i

The proof of Theorem 1 follows easily from Proposition 1.

Proof of Theorem 1.

As indicated at the end of Section 2.2, the optimum of (2) upper bounds the mean stationary overall utility E[u(qn)]. Thus, it follows from Proposition 1 that u(qn*) upper bounds the mean stationary overall utility. □

3. Load Balancing Policies

In this section we describe the load balancing policies considered in the paper, and we state their asymptotic optimality with respect to the mean stationary overall utility when service times are exponential. In Sections 3.1 and 3.2, we specify JLMU and SLTA, respectively. In Section 3.3, we define stochastic models, based on continuous-time Markov chains, for the analysis of both policies. In Section 3.4, we state the asymptotic optimality result.

Before proceeding, it is illustrative to draw an analogy between the setting considered in this paper and the load balancing literature for systems of parallel single-server queues, where the primary objective is to minimize queueing delay. The natural policy for the setting considered in this paper is JLMU, while the natural policy for minimizing queueing delay in systems of parallel single-server queues is JSQ. The deployment of these policies involves a considerable communication overhead, or storing and managing a significant amount of state information. In the setting considered in this paper, SLTA provides a asymptotically optimal performance for exponential service times and uses substantially less state information than JLMU. From this perspective, SLTA is the counterpart of JIQ in the load balancing literature for systems of parallel single-server queues (Lu et al. 2011, Stolyar 2015).

3.1. Join the Largest Marginal Utility (JLMU)

JLMU assigns every new task to a server pool that currently has the best ranked coordinates, thus also the largest marginal utility. Formally, define

σ(q)=(σi(q),σj(q))max{(i,j)I+:q(i,j1)>q(i,j)}(8)
for each occupancy state q. The maximum is taken with respect to , and the condition q(i,j1)>q(i,j) implies that some server pool of class i has precisely j1 tasks. If qn is the occupancy state right before a task arrives, then JLMU assigns the task to a server pool of class σi(qn) with exactly σj(qn)1 tasks.

The coordinates obtained through (8) correspond to server pools with the largest marginal utility by definition of . In addition, observe that the dictionary order is used to break ties between coordinates associated with the same marginal utility. If two server pools have the same coordinates, then it does not matter which of them is assigned the new task since they are statistically identical. For definiteness, we postulate that the tie is broken uniformly at random.

If all the server pools have the same utility function, then JLMU reduces to JSQ, and the overall utility is a Schur-concave function of Xn. If in addition the service times are exponential, then the stochastic optimality properties proved in Sparaggis et al. (1993) and Menich and Serfozo (1991) for JSQ imply that JLMU maximizes the mean stationary overall utility in this homogeneous setting. It might be natural to expect that the optimality with respect to the mean stationary overall utility extends to the heterogeneous setting. We refute this, however, in Section 8.3, where we construct a heterogeneous system for which JLMU is strictly suboptimal. The constructed example also hints at the underlying reasons for the suboptimality in the heterogeneous case. Essentially, instead of always assigning incoming tasks greedily, such that the increase in the overall utility is maximal, it is sometimes advantageous to dispatch the new tasks conservatively, to hedge against pronounced drops of the overall utility that may be caused by a quick succession of departures. The right balance between greedy and conservative actions depends intricately on the utility functions, but we prove that JLMU is always asymptotically optimal for exponential service times, regardless of the specific set of utility functions; this result is stated formally in Section 3.4.

3.2. Self-Learning Threshold Assignment (SLTA)

JLMU relies on complete information about the number of tasks per server pool, which could be impractical in large-scale deployments. In contrast, SLTA only requires to store at most two bits per server pool, which is considerably less state information. To specify this policy, we need to describe its two components. Namely, the dispatching rule, for assigning the incoming tasks to the server pools, and the learning scheme, for dynamically adjusting a set of thresholds that the dispatching rule uses.

Consider the unique enumeration {(ik,jk):k1} of I+ such that (ik,jk)(ik+1,jk+1) for all k. Given r1, we define a set of thresholds by

i(r)max{j0:(i,j)(ir,jr) orj=0} for alli.

Recall the optimal task assignment defined at the end of Section 2.3. The learning scheme keeps an estimate (irn,jrn) of the coordinates σn*, which depend on the typically unknown offered load of the system. The index rn determines this estimate and is used to compute thresholds from the previous expression, which are in turn used to assign tokens to the server pools. Specifically, a server pool of class i with exactly j1 tasks has

  • A green token if j1<i(rn),

  • A yellow token if i=irn and j1i(rn).

The first condition is equivalent to rn>1 and (i,j)(irn,jrn), and the second condition is equivalent to i=irn and (i,j)(irn,jrn). Also, a server pool can have both a green and a yellow token at the same time. As indicated in Figure 5, a larger increase in the overall utility is obtained by dispatching tasks to server pools with green tokens first, then to server pools with yellow tokens and only afterward to server pools without tokens.

Figure 5. Schematic Representation of the Thresholds and Tokens Used by SLTA for (irn,jrn)=(2,2)
Notes. The thresholds are indicated by thick horizontal lines that cross the server pools, and the tokens are represented using squares and circles underneath the server pools; a square corresponds to a green token and a circle corresponds to a yellow token. Assuming that the rectangular slots within a server pool are always filled from bottom to top, the slots marked with an * provide a marginal utility of Δ(irn,jrn1). The symbols and indicate how the marginal utility of the other slots compares to the latter value.

The tokens are used by the dispatching rule. Specifically, when a task arrives, it is assigned to a server pool according to the following criteria.

  • In the presence of green tokens of class iirn1, the dispatcher picks one of these green tokens uniformly at random, and if only green tokens of class i=irn1 remain, then one of these is picked. Then the task is sent to the corresponding server pool.

  • In the presence of only yellow tokens, the dispatcher picks a yellow token uniformly at random and sends the task to the corresponding server pool.

  • Otherwise, the task is sent to a server pool chosen uniformly at random.

If (irn,jrn) are the coordinates σn* defined in (5), then this dispatching rule drives the occupancy state of the system toward the optimal task assignment qn* specified in (4).

The learning scheme aims at finding the coordinates σn*, which depend on the typically unknown offered load. The learning scheme is parameterized by βn>0 and adjusts the value of rn at certain arrival epochs, in steps of one unit. Specifically, when a task arrives, the learning scheme acts only under the following circumstances.

  • If the system has at least nβn green tokens and at least one belongs to a server pool of class irn1, then rn is decremented by one after the task is dispatched.

  • If the number of yellow tokens is smaller than or equal to one and there are no other tokens, then rn is incremented by one after the task is dispatched.

Observe that exactly one of the thresholds changes when the value of rn is modified and that this threshold changes by one unit. Also, note that

ni=1mnqn(i,i(rn)) andnαn(irn)nqn(irn,jrn)
are the number of green and yellow tokens, respectively.

3.2.1. Comparison with the Homogeneous Case.

When all the server pools are of the same class, SLTA reduces to the load balancing policy studied in Goldsztajn et al. (2021a). In this case, there is a single threshold whose optimal value is simply ρ. When the threshold has this value, the number of green tokens and the total number of tokens are typically small and positive, respectively. On the other hand, when the threshold is below optimal, the total number of tokens tends to be zero, and when the threshold is larger than optimal, the number of green tokens tends to be relatively large. These properties are used to adjust the threshold in an online manner when the offered load is unknown. In few words, the threshold is increased in the absence of tokens, and it is decreased if the number of green tokens is large enough.

In the general case, there are as many thresholds as the number of server pool classes, and the optimal threshold values depend intricately on the utility functions and the offered load. However, the ranking introduced in Section 2.3 makes it possible to express all the thresholds as a function of the coordinates σn*. Hence, the optimal thresholds can still be found through a one-directional search, but now in the totally ordered space I+. Moreover, because this space is countable, the search can be carried out by adjusting the integral parameter rn until (irn,jrn) reaches the optimal value σn*.

The learning scheme of SLTA operates so that all the thresholds are at their optimal values if and only if rn is at its optimal value, and when this happens, the number of green tokens and the total number of tokens are typically small and positive, respectively. When rn is below optimal, all the thresholds are smaller than or equal to their optimal values, and at least one of the thresholds is strictly smaller than optimal; in this case, the total number of tokens tends to be zero. Similarly, when rn is above optimal, all the thresholds are larger than or equal to their optimal values and at least one of the thresholds is above optimal; as a result, the number of green tokens tends to be relatively large. As in the homogeneous case, these observations are used to adjust rn over time. Loosely speaking, in the absence of tokens, rn is increased by one unit, which implies that one of the thresholds is increased by one unit, and when the number of green tokens is large enough, rn is decreased by one unit, and thus one of the thresholds is decreased by one unit.

The dispatching rule and the online learning scheme of SLTA make distinctions between green tokens of class irn1 and green tokens of any other class. The rationale is that the marginal utility of server pools of class i with i(rn)1 tasks is the lowest when i=irn1; thus, it makes sense to give green tokens of this class the lowest priority for receiving new tasks. Although this may slightly improve performance, it is not crucial. Nevertheless, the differential treatment of class irn1 simplifies the mathematical analysis of SLTA. In particular, the distinction made in the description of the learning scheme ensures that if the system had yellow tokens, then it will continue to have yellow tokens after rn is decreased, which is used in Remark 1. In addition, the differential treatment by the dispatching rule simplifies the proof of Proposition 6.

3.3. Stochastic Models

If service times are exponentially distributed, then qn and (qn,rn) are continuous-time Markov chains when the load balancing policies are JLMU and SLTA, respectively. In either case, the process sn that describes the normalized total number of tasks is defined by (1). Due to the infinite-server dynamics of the system, nsn has the law of an M/M/ queue with arrival rate nλ and service rate μ.

Let 1 be the space of absolutely summable sequences in RI, equipped with the norm

x1(i,j)I|x(i,j)| for allx1.

Throughout we assume that sn(0) is finite, so qn(0) takes values in 1. As a result, if we let Fn{k/n:0kn}, then qn takes values in the set

Qn{qFnI1:q(i,j+1)q(i,j)q(i,0)=αn(i) for all(i,j)I}.

If the load balancing policy is JLMU, then the state space of qn is defined as the subset Sn of Qn that is reachable from an empty occupancy state. If the load balancing policy is SLTA, then the state space of (qn,rn) is the subset Sn of Qn×{rN:r1} that is reachable from an empty occupancy state with rn=1.

The notation used for the processes sn and qn, for the state space Sn, and for some other objects that will be defined later, is exactly the same for JLMU and SLTA, but we always indicate which policy is being considered.

3.4. Asymptotic Optimality

Throughout the rest of the paper, we assume that there exist constants α(i)(0,1) and a random variable q0 such that the following limits hold:

limnαn(i)=α(i) for alli andlimnqn(0)q01=0.(9)

In analogy with (5) and (4), we consider the unique σ*=(ir*,jr*)I+ such that

(i,j)σ*α(i)ρ<(i,j)σ*α(i),(10)
and we define an occupancy state q* in terms of σ* by
q*(i,j){0 if(i,j)σ*,α(i) if(i,j)σ*,ρ(i,j)σ*α(i) if(i,j)=σ*, for all(i,j)I+.(11)

In Section 8.1, we establish that qn and (qn,rn) have a unique stationary distribution for all n when the assignment policies are JLMU and SLTA, respectively. The following theorem is proved in Section 8.2 and implies that both policies are asymptotically optimal if the marginal utilities are bounded, and the service times are exponentially distributed; we also require that (9) holds, and we impose some mild technical assumptions, to be stated in Section 4.2.1. The condition on the marginal utilities always holds when the utility functions are nondecreasing due to the concavity of these functions.

Theorem 2.

Suppose that service times are exponentially distributed. Also, if the load balancing policy is SLTA, assume that the assumptions of Section 4.2.1 hold and that

limnβn=0 andliminfnnγ0βn>0 for someγ0(0,1/2).

The following statements hold in the asymptotic regime described by (9).

  • (a) Suppose that JLMU is used and let qn have the stationary distribution of qn. Then the random variables qn converge weakly in 1 to q*.

  • (b) Suppose that SLTA is used and let (qn, rn) have the stationary distribution of (qn,rn). The random variables (qn, rn) converge weakly in 1× N to (q*,r*).

  • (c) Furthermore, if the load balancing policy is either JLMU or SLTA and the marginal utilities are bounded, then the random variables u(qn) are uniformly integrable and

    limnE[u(qn)]=u(q*)=limnu(qn*).

The claims concerning the stationary overall utilities are proved using (a) and (b), as well as the fact that u(q) is a bounded linear functional of q1. To establish (a) and (b), we first use drift analysis to prove that the random variables in (a) and (b) are tight in 1 and 1×N, respectively. Then (a) is established through an interchange of limits argument based on a fluid limit and a global asymptotic stability result for the fluid dynamics; these two results are stated in Theorems 5 and 4, respectively. A different type of argument is used to prove (b). Namely, the fluid limit step is circumvented, and Theorem 6 serves as the counterpart of Theorems 4 and 5, as illustrated in Figure 6.

Figure 6. Schematic View of the Proofs of (a) and (b) of Theorem 2, on the Left and Right, Respectively

Deriving a fluid limit for a SLTA system would be inherently difficult due to the intricate interdependence between the dispatching rule and the learning scheme and because the actions of the learning scheme are triggered by excursions of the occupancy process that have vanishing size. We deal with these challenges using a methodology of Goldsztajn et al. (2021a) to derive the fluid approximation of Theorem 6, which consists of asymptotic bounds, over arbitrarily long intervals of time, for the occupancy state and the thresholds. As noted earlier, this fluid approximation serves as a counterpart of both the fluid limit and the global asymptotic stability results for JLMU.

3.4.1. Simulation Experiments.

The asymptotic optimality of JLMU and SLTA is illustrated by Table 1, which shows estimates of the mean stationary overall utility E[u(qn)] for simulation experiments with different values of n. All the estimates correspond to systems with two server pool classes of equal size and utility functions of the form ui(x)=xlog(r(i)/x) for r=(20,30). Also, two different values of ρ are considered, so that the optimal task assignment defined in (4) takes two distinct forms. For ρ=9.75, the optimal task assignment is such that all server pools of class 1 have 8 tasks, half of the server pools of class 2 have 11 tasks, and the other half have 12 tasks. For ρ = 10, the optimal task assignment is such that all server pools of class 1 have 8 tasks and all server pools of class 2 have 12 tasks.

Table

Table 1. Results of Simulation Experiments with Different Values of n

Table 1. Results of Simulation Experiments with Different Values of n

nρ=9.75u*(ρ)9.1731ρ=10u*(ρ)9.1629
u*(sn)u(qn) JLMUu(qn) SLTAu*(sn)u(qn) JLMUu(qn) SLTA
509.17529.16529.16499.15949.14339.1439
1009.17469.16999.16989.16279.14999.1498
1509.17389.17069.17059.16339.15349.1534
2009.17439.17239.17239.16349.15569.1555
2509.17359.17209.17209.16399.15729.1572
3009.17389.17279.17269.16139.15489.1547
3509.17429.17349.17349.16199.15639.1562
4009.17349.17289.17289.16329.15789.1578
4509.17379.17329.17319.16309.15769.1576
5009.17269.17219.17219.16329.15839.1583


Notes. The systems considered have two server pool classes of equal size and utility functions of the form ui(x)=xlog(r(i)/x) with r=(20,30). Service times are exponentially distributed with μ = 1 and the time averages · are computed over intervals of length 180 with equilibrium initial conditions. The same sequences of interarrival and service times were used in the simulation experiments for JLMU and SLTA. Also, βn=1/n0.45 in the simulations for SLTA. The upper bound of Theorem 1 for a normalized offered load of x is denoted by u*(x).

All the server pools of the same class have the same number of tasks when ρ = 10, and thus we say that the optimal task assignment qn* is integral; that is, the optimal task assignment is integral if qn*(σn*)=0. In contrast, the optimal task assignment is fractional when ρ=9.75 because server pools of class 2 may have either 11 or 12 tasks. Server pools of class 1 behave similarly in the fractional and integral settings: almost all of the time all server pools of class 1 have precisely eight tasks when n is moderately large. However, the behavior of server pools of class 2 depends on the setting. In the fractional case, server pools typically have 11 or 12 tasks and the fractions of server pools with 11 and 12 tasks oscillate around a half. In the integral case, server pools typically have 12 tasks but a small number of server pools sometimes have 11 or 13 tasks instead. The aggregate utility of the system decreases by Δ(2,11) whenever a server pool of class 2 goes from 12 to 11 tasks and increases by the same quantity when the server pool goes from 11 to 12 tasks. Therefore, the contributions to the average overall utility of the oscillations observed in the fractional case roughly balance each other. In the integral case, the aggregate utility increases by Δ(2,12), instead of Δ(2,11), if a server pool of class 2 goes from 12 to 13 tasks. Therefore, in the integral case, the contributions to the average overall utility of class 2 server pools that drop to 11 tasks or reach 13 tasks are amplified by different marginal utilities. As a result, the mean stationary overall utility E[u(qn)] is closer to the upper bound u(qn*) in the fractional case, as reflected by the estimates in Table 1.

Although there is a difference between the fractional and integral settings, in both settings, the empirical mean of the overall utility u(qn) is extremely close to the upper bound u(qn*) across all the values of n listed in Table 1. Furthermore, the deviation of the empirical mean from the upper bound approaches zero as n increases in both cases. We also observe that the empirical mean of u(qn) is almost the same for JLMU and SLTA in all the experiments and particularly for the largest values of n.

A final remark on the simulation experiments is that the empirical mean of u(qn) is slightly larger than u(qn*) in a few of the experiments within the fractional setting: both for JLMU and SLTA when n = 350 and just for JLMU when n = 450. It may be checked that the statement of Theorem 1 still holds if the stationary expectation sign is replaced by a time average and the upper bound is computed through (4) and (5) but with ρ replaced by the time average of sn; the proof does not change. The value of the upper bound when ρ is replaced by the time average of sn is displayed in Table 1, and in all the experiments, the empirical mean of u(qn) is indeed smaller than this empirical upper bound. Thus, the experiments where the empirical mean of u(qn) slightly exceeds the upper bound u(qn*) are an indication of how close the performance of JLMU and SLTA is to optimal.

4. Approximation Theorems

In this section, we assume exponential service times and we state several results used to prove Theorem 2. In Section 4.1, we specify a fluid model of a JLMU system, based on differential equations, and we state some properties of this model. In Section 4.2, we state limit theorems that characterize the asymptotic transient behavior of JLMU and SLTA.

4.1. Fluid Model of JLMU

Consider a large-scale system where the load balancing policy is JLMU and assume that α(i) is the fraction of server pools of class i. Then the occupancy state of the system remains within the set

Q{q[0,1]I1:q(i,j+1)q(i,j)q(i,0)=α(i) for all(i,j)I}.

The evolution of the occupancy state of this large-scale system can be modeled through the system of differential equations introduced in the following definition.

Definition 1.

We say that q:[0,)Q is a fluid trajectory if the coordinate functions q(i,j) are absolutely continuous for all (i,j)I and the following conditions hold almost everywhere with respect to the Lebesgue measure:

q˙(i,j)=Λ(q,i,j)μj[q(i,j)q(i,j+1)],(12a)
Λ(q,i,j)0 for all(i,j)I+,(12b)
where Λ:Q×I+R is defined by
Λ(q,i,j){0 if(i,j)σ(q),μj[α(i)q(i,j+1)] if(i,j)σ(q),λ(k,l)σ(q)μl[α(k)q(k,l+1)] if(i,j)=σ(q).

In the latter definition, λ is the arrival rate of tasks normalized by the number of server pools, μ is the service rate of tasks, and q(i,j) represents the fraction of server pools that are of class i and have at least j tasks. Thus, the system of Differential Equations (12) has a simple interpretation. The right-most term of (12a) corresponds to the departure rate of tasks from server pools of class i with exactly j tasks, and Λ(q,i,j) represents the arrival rate of tasks to server pools that belong to class i and have precisely j1 tasks. The definition of Λ is motivated by the following remarks.

  • Server pools of class i with exactly j1 tasks are not assigned additional tasks if (i,j)σ(q). Hence, we should have Λ(q,i,j)=0 in this case.

  • All server pools of class i have at least j tasks if (i,j)σ(q). Therefore, Λ(q,i,j) should be equal to the last term of (12a) in this case, because q(i,j) is at its maximum value and thus its derivative should be zero.

  • The total arrival rate of tasks normalized by the number of server pools is equal to λ, and this determines the value of Λ(q,i,j) when (i,j)=σ(q).

4.1.1. Properties of Fluid Trajectories.

The two results stated here are proved in Section 6.1. The first one is a uniqueness theorem for the solutions of (12). Existence is ensured by Theorem 5 of Section 4.2.

Theorem 3.

Fix an initial condition qQ. If there exists a fluid trajectory q such that q(0)=q, then this fluid trajectory is unique.

To prove this theorem, we first show that all fluid trajectories satisfy an infinite system of integral equations, stated using Skorokhod one-dimensional reflection mappings. The theorem is then proved using a Lipschitz property of these mappings and a uniqueness result for certain Kolmogorov backward equations.

Besides uniqueness of solutions of (12), we also establish that there exists a unique equilibrium point and that this equilibrium point is globally asymptotically stable; that is, all fluid trajectories converge to the unique equilibrium over time.

Theorem 4.

Let q* be as in (11). Then q* is the unique equilibrium of (12). Furthermore, all fluid trajectories converge to q* in 1 over time.

Recall that (11) is the counterpart of (4), which is used to formulate the upper bound for the mean stationary overall utility provided in Theorem 1. It is not difficult to check that u(qn*)u(q*) as n grows large, which hints at the asymptotic optimality of JLMU.

4.2. Limit Theorems

In Section 5.1, we construct the processes defined in Section 3.3 on a common probability space (Ω,F, P) for all n, in such a way that the sample paths of the occupancy processes lie in the space D1[0,) of càdlàg functions with values in 1, which we endow with the topology of uniform convergence over compact sets. This construction is used to prove limit theorems that characterize the asymptotic transient behavior of JLMU and SLTA. Before stating these theorems, we introduce some mild technical assumptions.

4.2.1. Technical Assumptions.

As indicated earlier, we assume that (9) holds with q0 a random variable that takes values in Q and represents the limiting initial occupancy state. The initial number of tasks in the limit, normalized by the number of server pools, is defined as

s0(i,j)I+q0(i,j).(13)

If the load balancing policy is SLTA, then we assume that the first inequality in (10) is strict and that there exists a constant γ0(0,1/2) such that

limnβn=0 andliminfnnγ0βn>0.(14)

These assumptions are used to prove that the learning scheme reaches an equilibrium in all large enough systems with probability one. Finally, we adopt the following assumptions about the initial state of the system: There exists a random variable R1 such that

rn(0)R,(15a)
qn(0,i,j)<αn(i) for all(i,j)(irn(0),jrn(0)),(15b)
for all n with probability one. We impose (15b) just to simplify the analysis; this property always holds after a certain time, which depends on the initial state of the system.

Remark 1.

Property (15b) is preserved by arrivals and departures; thus, it holds at all times provided that it holds at time zero. Furthermore, every new task is sent to a server pool with coordinates (i,j)(irn,jrn) if the number of tokens is positive right before the arrival. Hence, (15b) implies that tasks are sent to server pools with coordinates (i,j)(irn,jrn) at all times and for all n with a probability of one.

4.2.2. Statements of the Theorems.

First we state a fluid limit for JLMU, proven in Section 6.2. In view of Theorem 4, this fluid limit implies that, as n grows large, the occupancy processes of JLMU approach functions that converge over time to the unique equilibrium of (12).

Theorem 5.

Suppose that the load balancing policy is JLMU. Then there exists a set of probability one Γ with the following property. If ωΓ, then qn(ω) converges in D1[0,) to the unique fluid trajectory with initial condition q0(ω).

Because q0 is arbitrary, the previous theorem implies that solutions to (12) exist for all initial conditions. Therefore, Theorems 3 and 5 imply that for each initial condition qQ there exists a unique fluid trajectory with initial condition q.

The proof of Theorem 5 uses a methodology of Bramson (1998) to prove that, with a probability of one, every subsequence of {qn:n1} has a further subsequence that converges uniformly over compact sets with respect to a metric for the product topology of RI. Then we show that this convergence in fact holds with respect to ·1 and that the limits of convergent subsequences are fluid trajectories, also with a probability of one.

The counterpart of Theorems 4 and 5 for SLTA is the following result. The proof is provided in Section 7.2 and is based on a methodology of Goldsztajn et al. (2021a).

Theorem 6.

Suppose that the load balancing policy is SLTA and let σ* and r* be as in (10). There exist τeq:[0,)R and a set of probability one Γ with the following property. If ωΓ and Tτ>τeq(s0(ω)), then the next limits hold:

limnsupt[τ,T]|rn(ω)r*|=0,(16a)
limnsupt[τ,T]nγ|α(i)qn(ω,t,i,j)|=0 if(i,j)σ* andγ[0,1/2),(16b)
limsupnsupt[τ,T](i,j)σ*qn(ω,t,i,j)eμ(tτ)c(ω,τ),(16c)
where c(ω,τ) can be expressed in terms of ρ, τ, and s0(ω).

5. Strong Approximations

In this section, we construct the processes defined in Section 3.3 on a common probability space for all n. In addition, we prove that {qn:n1} is almost surely relatively compact in D1[0,) both for JLMU and SLTA. The construction of the processes is carried out in Section 5.1, and the relative compactness results are provided in Section 5.2.

5.1. Coupled Construction of Sample Paths

Consider the following stochastic processes and random variables.

  • Driving Poisson processes: A collection {N}{Nν:νI+} of independent Poisson processes with unit rate, for counting arrivals and departures. These processes are defined on a common probability space (ΩD,FD, PD).

  • Selection variables: A family {Uk:k1} of independent random variables, uniformly distributed on [0,1) and defined on a common probability space (ΩS,FS, PS).

  • Initial conditions: Sequences {qn(0):n1} and {rn(0):n1} for SLTA of random variables for describing the initial states of the systems, defined on a common probability space (ΩI,FI, PI) and satisfying the assumptions of Section 4.2.1.

Denote the completion of the product probability space of (ΩD,FD, PD),(ΩS,FS, PS) and (ΩI,FI, PI) by (Ω,F, P). The processes introduced in Section 3.3 are constructed on the latter space as deterministic functions of the stochastic primitives.

5.1.1. Construction for JLMU.

Let Nnλ(t)N(nλt) for each t0 and each n. This quantity will be used to count the number of tasks arriving to the system with n server pools during the interval [0,t]. Also, denote the jump times of Nnλ by {τn,k:k1} and define τn,00. For each function q:[0,)Qn and each n, we define two counting processes, for arrivals and departures, denoted An(q) and Dn(q), respectively. The coordinates (i,j)I of these processes are identically zero if j = 0, whereas the other coordinates are defined as follows:

An(q,t,i,j)1nk=1Nnλ(t) 𝟙{(i,j)=σ(q(τn,k))},(17a)
Dn(q,t,i,j)1nN(i,j)(n0tμj[q(s,i,j)q(s,i,j+1)]ds).(17b)

For each n, the functional equation

q=qn(0)+An(q)Dn(q)(18)
has a unique solution with a probability of one. More precisely, there exists a set of probability of one Γ0 with the following property: For each ωΓ0 and each n, there exists a unique càdlàg function qn(ω):[0,)Qn that solves (18). This solution can be constructed by forward induction on the jump times of the driving Poisson processes. The assumption qn(ω,0)Qn implies that qn(ω,0) has finitely many nonzero coordinates and ensures that the constructed solution is defined on [0,) with probability one; that is, the constructed solution does not explode in finite time.

The occupancy processes are defined by extending the previous solutions to Ω, setting qn(ω,t)=0 for all t0 and all ωΓ0. In addition, we let

AnAn(qn) andDnDn(qn),
and we note that the sample paths of An,Dn and qn lie in D1[0,). Functional Equation (18) can now be rewritten as follows:
qn(ω)=qn(ω,0)+An(ω)Dn(ω) for allωΓ0.(19)

This construction endows the processes qn with the intended statistical behavior. The processes An(i,j) count the arrivals to server pools of class i with precisely j1 tasks and the processes Dn(i,j) count the departures from server pools of class i with exactly j tasks. Indeed, An(i,j) has a jump at the arrival epoch τn,k if and only if the incoming task should be assigned to a server pool of class i with j1 tasks under the JLMU policy. In addition, the intensity of Dn(i,j) equals the total number of tasks in server pools of class i with exactly j tasks times the rate at which tasks are executed, and this totals the departure rate from server pools of class i with precisely j tasks.

5.1.2. Construction for SLTA.

The processes (qn,rn) are constructed to a large extent as in Section 5.1.1 when the load balancing policy is SLTA. The only differences arise in (17a) and (18). Namely, (17a) must be modified to capture the dispatching rule of SLTA, and (18) must be accompanied by another equation for describing the evolution of rn.

The counterpart of (17a), with an extra argument r:[0,){rN:r1}, is

An(q,r,t,i,j)1nk=1Nnλ(t)ηk(q(τn,k),r(τn,k),i,j) for all(i,j)I+.

The functions ηk are defined in Online Appendix B using the selection variables Uk, so that they have the following property. If (q, r) is the value of (qn,rn) when the kth task arrives, then SLTA sends this task to a server pool of class i with precisely j1 tasks if and only if ηk(q,r,i,j)=1. Moreover, ηk(q,r,h,l)=0 for all (h,l)(i,j).

The analog of the functional Equation (18) is

q(t)=qn(0)+An(q,r,t)Dn(q,t),(20a)
r(t)=rn(0)+k=1Nnλ(t)[𝟙In,k 𝟙Dn,k],(20b)
where the sets In,k and Dn,k are defined formally in Online Appendix A. The former set indicates that (q,r) corresponds to a system with no green tokens and at most one yellow token right before the kth arrival. The latter set indicates that the number of green tokens is larger than or equal to nβn and that at least one of these tokens belongs to a server pool of class ir1 right before the kth arrival. Also, Dn(q) is defined as in (17b).

As in Section 5.1.1, there exists a set of probability of one Γ0 with the next property. For each ωΓ0 and each n, there exists a unique pair of càdlàg functions qn(ω):[0,)Qn and rn(ω):[0,){rN:r1} that solve (20); these functions can be constructed by forward induction on the jumps of the driving Poisson processes. The processes (qn,rn) are defined by extending the above solutions to Ω, setting qn(ω,t)=0 and rn(ω,t)=0 for all t0 and all ωΓ0. In addition, we define

AnAn(qn,rn) andDnDn(qn),
and we note that the sample paths of An,Dn and qn lie in D1[0,). Functional Equation (20) can now be rewritten as follows:
qn(ω,t)=qn(ω,0)+An(ω,t)Dn(ω,t),(21a)
rn(ω,t)=rn(ω,0)+k=1Nnλ(ω,t)[𝟙In,k(ω) 𝟙Dn,k(ω)],(21b)
for all ωΓ0 and all t0.

5.2. Relative Compactness Results

Let DRI[0,) denote the space of càdlàg functions on [0,) with values in RI. We endow the space RI with the metric defined in Online Appendix B, which is compatible with the product topology, and we equip DRI[0,) with the topology of uniform convergence over compact sets. The following proposition is proved in Online Appendix B.

Proposition 2.

Suppose that the load balancing policy is JLMU or SLTA. There exists a set of probability of one Γ, where

limnqn(0)q01=0,(22a)
limnsupt[0,T]nγ|1nNnλ(t)λt|=0,(22b)
limnsupt[0,μjT]nγ|1nN(i,j)(nt)t|=0 for all(i,j)I+,(22c)
for all T0 and γ[0,1/2). Also, {An(ω):n1},{Dn(ω):n1} and {qn(ω):n1} are relatively compact subsets of DRI[0,) for all ωΓ and satisfy that the limit of every convergent subsequence is a function with locally Lipschitz coordinates. If the load balancing policy is SLTA, then there exists a random variable R1 such that, apart from the previous properties, we also have on Γ that
rn(0)R andqn(0,i,j)<αn(i) for all(i,j)(irn(0),jrn(0)) andn.(23)

The product topology of RI is coarser than the topology of 1; thus, convergence in DRI[0,) does not imply convergence in D1[0,). The following technical lemma is used to demonstrate that {An:n1},{Dn:n1} and {qn:n1} are relatively compact in D1[0,) with a probability of one; the proof is given in Online Appendix A.

Lemma 2.

Suppose that the load balancing policy is JLMU or SLTA. There exists a set of probability of one ΓΓ with the following property. For each ωΓ and T0, there exist jT(ω) and nT(ω) such that

An(ω,t,i,j)=0 for allt[0,T],1im,j>jT(ω) andnnT(ω).

Also, if the load balancing policy is SLTA, then there exists RT(ω) such that

rn(ω,t)RT(ω) for allt[0,T] andnnT(ω).

Proposition 3.

The sequences {An(ω):n1},{Dn(ω):n1} and {qn(ω):n1} are relatively compact in D1[0,) for all ωΓ.

Proof.

We fix some ωΓ, which we omit from the notation. For {An:n1}, the claim is a straightforward consequence of Proposition 2 and Lemma 2. Here we prove the claim for {qn:n1}. If the load balancing policy is JLMU, then (19) and (22a) imply that the claim also holds for {Dn:n1}. If the load balancing policy is SLTA, then we must invoke (21a) instead of (19).

Consider any increasing sequence of natural numbers. By Proposition 2, there exists a subsequence K such that {qk:kK} converges in DRI[0,) to a function qDRI[0,) that satisfies q(0)=q0 and has locally Lipschitz coordinates. Therefore, it suffices to prove that the latter limit in fact holds in D1[0,). More specifically, we have to demonstrate that qD1[0,) and that

limksupt[0,T]qk(t)q(t)1=0 for allT0.

For this purpose, fix arbitrary T0 and ε>0. In addition, let jT and nT be as in the statement of Lemma 2, which implies that qk(i,j) and q(i,j) are nonincreasing on [0,T] provided that j>jT and knT. The coordinates of q are continuous; thus, we may conclude from the monotone convergence theorem that q(s)q(t)10 as st[0,T] monotonically, from above or below. Because T is arbitrary, q is continuous with respect to ·1 and, in particular, qD1[0,).

For all t[0,T],ljT and knT, we have

i=1mj>l|qk(t,i,j)q(t,i,j)|i=1mj>lqk(t,i,j)+i=1mj>lq(t,i,j)i=1mj>lqk(0,i,j)+i=1mj>lq0(i,j)qk(0)q01+2i=1mj>lq0(i,j).

Because q01 and qk(0)q010 with k, there exist jεjT and k0nT such that the following inequality holds for all t[0,T] and kk0:

i=1mj>jε|qk(t,i,j)q(t,i,j)|qk(0)q01+2i=1mj>jεq0(i,j)ε2.

Convergence in DRI[0,) implies uniform convergence over compact sets of the coordinate functions. In particular, there exists kεk0 such that

supt[0,T]i=1mj=0jε|qk(t,i,j)q(t,i,j)|ε2 for allkkε.

Therefore, we conclude that

supt[0,T]qk(t)q(t)1ε for allkkε,
which completes the proof because T and ε are arbitrary. □

6. Limiting Behavior of JLMU

In this section we assume that JLMU is used and we prove Theorems 3, 4, and 5. The first two theorems are proved in Section 6.1, which is devoted to the study of fluid trajectories. The proof of Theorem 5 is provided in Section 6.2.

6.1. Properties of Fluid Trajectories

To prove the uniqueness of fluid trajectories, we show that every fluid trajectory satisfies a system of equations involving one-dimensional Skorokhod reflection mappings. Then we use a Lipschitz property of these mappings to prove that the system of equations cannot have multiple solutions for a given initial condition. The proof strategy is inspired by a fluid limit derived in Bhamidi et al. (2022) using Skorokhod reflection mappings; this fluid limit corresponds to a system of parallel single-server queues with a JSQ policy.

Consider the space D[0,) of all real càdlàg functions defined on [0,) and let

xTsupt[0,T]|x(t)| for allxD[0,) andT0.

The next lemma introduces the one-dimensional Skorokhod mappings with upper reflecting barrier; a proof is provided in Online Appendix A.

Lemma 3.

Fix αR and suppose that xD[0,) is such that x(0)α. Then there exist unique y,zD[0,) such that the following statements hold.

  • (a) We have z(t)=x(t)y(t)α for all t0.

  • (b) The function y is nondecreasing, thus absolutely continuous, and y(0)=0.

  • (c) The function y is flat off {t0:z(t)=α}, i.e., y.(t) 𝟙{z(t)<α}=0 almost everywhere.

The map (Ψα,Φα) such that Ψα(x)=y and Φα(x)=z is called the one-dimensional Skorokhod mapping with upper reflecting barrier at α and satisfies

Ψα(x)(t)=sups[0,t][x(s)α]+ andΦα(x)(t)=x(t)Ψα(x)(t).(24)

In addition, if x,yD[0,) are any two functions such that x(0),y(0)α, then for each T0 we have the following Lipschitz properties:

Ψα(x)Ψα(y)TxyT andΦα(x)Φα(y)T2xyT.

Consider càdlàg functions x:[0,)RI such that x(0,i,j)α(i) for all (i,j)I+ and families of càdlàg functions vk:[0,)R such that vk(0)=0 for all kN. Define for each k1 a mapping Θk as follows:

Θk(x,v)(t)x(0,ik,jk)+vk1(t)0tμjk[x(s,ik,jk)x(s,ik,jk+1)]ds;
here recall the enumeration of I+ introduced in Section 3.2. The next lemma establishes that (q,w) satisfies the following set of conditions if q is a fluid trajectory and w is defined suitably in terms of q:
vk=Ψα(ik)[Θk(x,v)] for allk1,(25a)
x(ik,jk)=Φα(ik)[Θk(x,v)] for allk1,(25b)
v0(t)=λt for allt0,(25c)
x(t,i,0)=α(i) for allt0 andi.(25d)

Lemma 4.

Let q be a fluid trajectory and define r such that

σ(q(t))=(ir(t),jr(t)) for allt0.

Also, consider the absolutely continuous functions wk such that wk(0)=0 and

w.k(t)=[λs=1kμjs[α(is)q(t,is,js+1)]]𝟙{k<r(t)} for allk0.

Then (q,w) satisfies (25).

Proof.

It is clear that (q,w) satisfies (25c) and (25d), so we only need to verify that (25a) and (25b) hold as well. By Lemma 3, it is enough to check the following properties.

  • (a) We have q(t,ik,jk)=Θk(q,w)(t)wk(t)α(ik) for all t0 and k1.

  • (b) We have wk(0)=0 and w.k(t)0 almost everywhere for all k1.

  • (c) We have w.k(t) 𝟙{q(t,ik,jk)<α(ik)}=0 almost everywhere for all k1.

To establish (a), it suffices to show that

q.(ik,jk)=Θ˙k(q,w)w.k=w.k1w.kμjk[q(ik,jk)q(ik,jk+1)](26)
holds almost everywhere. Indeed, (a) holds at t = 0 and q(ik,jk)α(ik) at all times. Because w.k1w.k=Λ(q,ik,jk) and q is a fluid trajectory, we obtain (26) from (12a).

Property (b) is a consequence of the definition of wk and (12b), and (c) follows from the following observation. If q(t,ik,jk)<α(ik), then (ik,jk)σ(q(t)) and thus kr(t), which implies that w.k(t)=0. □

Next we prove Theorem 3. As noted earlier, the proof relies on the Lipschitz property of the Skorokhod reflection mappings Ψα and Φα. In addition, a uniqueness of solutions result for certain Kolmogorov backward equations is used.

Proof of Theorem 3.

Suppose that there exist two fluid trajectories x and y such that x(0)=y(0)=q. Define v in terms of x and w in terms of y as in Lemma 4. It follows from the same lemma that (x,v) and (y,w) satisfy (25). Next we fix T > 0 and we prove that x(t)=y(t) and v(t)=w(t) for all t[0,T].

As a first step, we demonstrate that there exists M > 0 such that

vk(t)=wk(t)=0 for allt[0,T] andkM.(27)

Because v.k1v.k=Λ(x,ik,jk)0, we conclude that v.kv.k1v.0=λ almost everywhere and for all k1. It follows from (12a), or equivalently from (25a) and (25b), that the following inequalities hold almost everywhere:

x.(ik,jk)v.k1v.kv.k1λ for allk1.(28)

Define αminmin{α(i):1im} and note that there exist ε>0 and k0 such that q(ik,jk)ε<αmin for all kk0 because qQ1. Property (c) of Lemma 3 implies that vk is zero until x(ik,jk) reaches α(ik)αmin for the first time. Using this remark and (28), it is possible to prove by induction on kk0 that

vk(t)=0 for allt[0,(k+1k0)αminελ).

The same property holds if (x,v) is replaced by (y,w); thus, (27) holds.

Next we show that x(t,i,j)=y(t,i,j) for all t[0,T] and (i,j)(iM,jM). For this purpose, fix an arbitrary i and let Jimin{j1:(i,j)(iM,jM)}. By (27), both x(i) and y(i) satisfy the following initial value problem:

z.(j)=μj[z(j)z(j+1)] andz(0,j)=q(i,j) for alljJi.(29)

The previous system of differential equations are the backward Kolmogorov equations of the pure birth process with state space Ei{jN:jJi} that has birth rate λjμj at state j. This process is nonexplosive because jJi1/λj=; hence, it follows from Fontes (1989) that the initial value problem (29) has a unique solution z such that z is bounded on [0,t]×Ei for all t0. Both x(i) and y(i) satisfy the latter condition because fluid trajectories take values in Q; thus, x(t,i,j)=y(t,i,j) for all t0 and jJi.

We conclude by proving that x(ik,jk)=y(ik,jk) and vk=wk along the interval [0,T] for all kM. Let f(i,j)x(i,j)y(i,j) and gkvkwk. The subsequent arguments are analogous to those in (Bhamidi et al. 2022, section 4.1).

For all t[0,T] and kM, we have

f(ik,jk)t2gk1t+2μjk0tf(ik,jk)sds+2μjk0tf(ik,jk+1)sds,gktgk1t+μjk0tf(ik,jk)sds+μjk0tf(ik,jk+1)sds;
these inequalities follow from the Lipschitz properties of Ψα(ik) and Φα(ik). Let us define Jmax{jk:kM} and h(t)max{f(ik,jk)t:kM}, then
gktgk1t+2μJ0th(s)ds2kμJ0th(s)ds
for all t[0,T] and kM. For the first inequality, f(ik,jk+1) is identically zero along the interval [0,T] if (ik,jk+1)=(il,jl) for some l > M, and for the last inequality, observe that g0 is identically zero by (25c). In addition, we have
f(ik,jk)t4kμJ0th(s)ds+4μJ0th(s)ds4(M+1)μJ0th(s)ds
for all t[0,T] and kM. We conclude that
h(t)4(M+1)μJ0th(s)ds for allt[0,T].

Therefore, Grönwall’s inequality yields h(t)=0 for all t[0,T], and this in turn implies that (x,v)=(y,w) along the interval [0,T]. □

We conclude this section by establishing that (12) has a unique equilibrium point and that all fluid trajectories converge to this equilibrium point over time.

Proof of Theorem 4.

First, we verify that q* is an equilibrium of (12). To this end, σ(q*)=σ*, and the right-hand side of (12a) equals zero if (i,j)σ* and q=q*. It only remains to be shown that this also holds for (i*,j*)σ*.

If (i,j)=σ(q), then

Λ(q,i,j)μj[q(i,j)q(i,j+1)]=λ(r,s)(i,j)μs[q(r,s)q(r,s+1)].

Define Jimax{j1:(i,j)σ*} for each i. If (i,j)=(i*,j*) and q is replaced by q*, then the right-hand side of (12a) equals

λ(i,j)σ*μj[q*(i,j)q*(i,j+1)]=λi=1mj=1Jiμj[q*(i,j)q*(i,j+1)]=λii*μJiα(i)μ(j*1)α(i*)μq*(i*,j*)=(i,j)σ*μα(i)ii*μJiα(i)μ(j*1)α(i*).

The expression in the last line equals zero by definition of Ji, and therefore we conclude that q* is indeed an equilibrium point of (12).

Next, we prove that all fluid trajectories converge coordinatewise to q* over time; this implies, in particular, that q* is the unique equilibrium of (12). Afterward we prove that all fluid trajectories in fact converge to q* in 1.

If q is a fluid trajectory and T0, then there exists jT such that Λ(q,i,j)=0 in [0,T] for all i and jjT. This can be established directly from (12), but also using Lemma 2, Theorem 5, and the uniqueness of solutions. For each i and kjT,

j=jTkq.(i,j)=j=jTkμj[q(i,j)q(i,j+1)]=μ(jT1)q(i,jT)j=jTkq(i,j)+μkq(i,k+1).

The last term vanishes as k because q takes values in 1. Also, q(i,j) does not increase in [0,T] for all jjT because Λ(q,i,j)=0 along [0,T]. Therefore,

|j=jTkq.(t,i,j)j=jTq.(t,i,j)|=j=k+1q(t,i,j)+μkq(t,i,k+1)j=k+1q(0,i,j)+μkq(0,i,k+1) for allt[0,T].

The right-hand side vanishes as k because q(0)1; thus, the left-hand side converges uniformly to zero over [0,T] and, by Rudin (1976, theorem 7.17), the derivative of

j=jTq(t,i,j) isj=jTq.(t,i,j) for alli andt(0,T).

This allows for the interchanges of summation and differentation that appear later.

Consider the function

f(i,j)I+q(i,j).

It follows from (12a) that f.=λμf. Thus, f(t)=ρ+[f(0)ρ]eμt for all t0. We conclude from this identity and (10) that

t0min{t0:f(t)(i,j)σ*α(i)}
exists and is finite. If t>t0, then the inequality inside the minimum sign is strict, and this implies that σ(q(t))σ* because q(t,i,j)=α(i) for all (i,j)σ(q(t)).

Consider the function

g(i,j)σ*q(i,j).

As noted previously, if t>t0, then σ(q(t))σ*, and thus we have

g˙(t)=[λ(i,j)σ*μj[q(t,i,j)q(t,i,j+1)]] 𝟙{σ(q(t))=σ*}(i,j)σ*μj[q(t,i,j)q(t,i,j+1)],
because Λ(q(t),i,j)=0 for all (i,j)σ* except perhaps for (i,j)=σ*. Hence,
g˙(t)=[λ(i,j)I+μj[q(t,i,j)q(t,i,j+1)]] 𝟙{σ(q(t))=σ*}[(i,j)σ*μj[q(t,i,j)q(t,i,j+1)]]𝟙{σ(q(t))σ*}=[λ(i,j)I+μq(t,i,j)] 𝟙{σ(q(t))=σ*}[i=1mj=Jiμj[q(t,i,j)q(t,i,j+1)]]𝟙{σ(q(t))σ*},
where Jimin{j1:(i,j)σ*}. Note that q(t,i,j)=α(i) if (i,j)σ(q(t)). Thus,
g˙(t)=[λμ(i,j)σ*α(i)μg(t)]𝟙{σ(q(t))=σ*}[i=1m(μ(Ji1)q(t,i,Ji)+j=Jiμq(t,i,j))]𝟙{σ(q(t))σ*}=[λμ(i,j)σ*α(i)μg(t)]𝟙{σ(q(t))=σ*}μg(t) 𝟙{σ(q(t))σ*}μi=1m(Ji1)q(t,i,Ji)𝟙{σ(q(t))σ*}[λμ(i,j)σ*α(i)]+μg(t).

By definition of σ*, we have θ(i,j)σ*α(i)ρ, and from the above bound for g˙, we get

g(t)ρθ+[g(t0)(ρθ)]eμ(tt0) for alltt0.

We conclude that

liminft(i,j)σ*q(t,i,j)=liminft[f(t)g(t)]ρ(ρθ)=(i,j)σ*α(i).

This proves that q(t,i,j)α(i)=q*(i,j) over time for all (i,j)σ*.

Consider now the function

h(i,j)σ*q(i,j).

Recall that σ(q(t))σ* for all t>t0. Therefore,

h˙(t)=(i,j)σ*μj[q(t,i,j)q(t,i,j+1)]μh(t) for allt>t0.

It follows that h(t)h(t0)eμ(tt0) for all tt0, and thus q(t,i,j)0=q*(i,j) over time for all (i,j)σ*. Furthermore, we have

limtq(t,σ*)=limt[f(t)h(t)(i,j)σ*q(t,i,j)]=ρ(i,j)σ*α(i)=q*(σ*),
and thus q(t,i,j)q*(i,j) for all (i,j)I.

Finally, observe that

limt(i,j)σ*|q(t,i,j)q*(i,j)|=limth(t)=0.

Consequently, q(t)q* over time not only coordinatewise but also in 1. □

6.2. Proof of the Fluid Limit

To prove Theorem 5, it suffices to demonstrate, for each ωΓ, that every subsequence of {qn(ω):n1} has a further subsequence with a limit in D1[0,) and that this limit is the unique fluid trajectory starting at q0(ω). The first part is covered by Proposition 3, every subsequence of {qn(ω):n1} has a further subsequence with a limit in D1[0,). Next, we characterize the limits of the convergent subsequences.

Let us fix an arbitrary ωΓ, which we omit from the notation for brevity, and an increasing sequence KN such that {Ak:kK},{Dk:kK} and {qk:kK} converge in D1[0,) to certain functions a,d and q, respectively, which have locally Lipschitz coordinates by Proposition 2. To characterize these three limits, it suffices to just characterize a and d because (19) and (22a) imply that

q=q0+ad.(30)

Because a and d have locally Lipschitz coordinates, there exists R(0,) such that Rc has zero Lebesgue measure and the derivatives of a(i,j) and d(i,j) exist for all (i,j)I at all points in R. These derivatives are zero if j = 0 by the definitions of Ak and Dk. The following lemma computes the derivatives for (i,j)I+.

Lemma 5.

Fix an arbitrary t0R, we have

d˙(t0,i,j)=μj[q(t0,i,j)q(t0,i,j+1)] for all(i,j)I+.(31)

Furthermore, q(t0) and the derivatives a˙(t0,i,j) satisfy

Λ(q(t0),i,j)=a˙(t0,i,j)0 for all(i,j)I+.(32)

Proof.

The sequences {Dk(i,j):kK} and {qk(i,j):kK} converge uniformly over compact sets to d(i,j) and q(i,j), respectively, for all (i,j)I. This remark, the definition of Dk and (22c) imply that

d(t,i,j)=0tμj[q(s,i,j)q(s,i,j+1)]ds for allt0.

It is clear that this identity establishes (31).

We now prove that

(i,j)I+a˙(t0,i,j)=λ anda˙(t0,i,j)0 for all(i,j)I+.(33)

The derivatives a˙(t0,i,j) are nonnegative because the processes Ak(i,j) are nondecreasing, so we only need to show that the derivatives add up to λ. For this purpose, note that

(i,j)I+Ak(t,i,j)=Nkλ(t) for allt0 andkK.

Fix T>t0, and let jT and nT be as in Lemma 2. The left-hand side has at most mjT nonzero terms for all knT and t[0,T]. It follows from (22b) that

(i,j)I+a(t,i,j)=λt for allt[0,T].

This yields (33) because the left-hand side has at most mjT nonzero terms.

It follows from (30) that the derivative of q(i,j) exists at t0 and

q.(t0,i,j)=a˙(t0,i,j)d˙(t0,i,j) for all(i,j)I.

Note that q(i,j) is upper bounded by α(i), so q(t0,i,j)=α(i) implies q.(t0,i,j)=0. Thus,

a˙(t0,i,j)=d˙(t0,i,j)=μj[α(i)q(t0,i,j+1)] ifq(t0,i,j)=α(i).(34)

To prove the equality in (32), define σ0=(i0,j0)σ(q(t0)). If (i,j)σ0, then q(t0,i,j)=q(t0,i,j1) by (8). Moreover, for a fixed i, the marginal utility Δ(i,j) does not increase with j because ui is a concave function. Therefore, (i,j)σ0 and j > 1 imply that (i,j1)σ0. We conclude that

q(t0,i,j)=q(t0,i,0)=α(i) for all(i,j)σ0.

The last property and (34) imply that (32) holds if (i,j)σ0.

Note that q(t0,σ0)<α(i0) by (8). Because q(σ0) is continuous and qk(σ0) converges uniformly over compact sets to q(σ0), there exist ε>0 and kεK such that

qk(t,σ0)<αk(i0) for allt(t0ε,t0+ε) andkkε.

It follows from (8) and the last statement that

σ0σ(qk(t)) for allt(t0ε,t0+ε) andkkε.

Thus, Ak(i,j) is constant over (t0ε,t0+ε) if kkε and (i,j)σ0. Indeed, server pools of class i with exactly j1 tasks are not assigned incoming tasks in the system with k server pools if (i,j)σ(qk). This proves (32) for (i,j)σ0, and we conclude from (33) that (32) must also hold in the case (i,j)=σ0. □

Here we complete the proof of Theorem 5.

Proof of Theorem 5.

As previously, we fix some ωΓ that we omit from the notation. Every subsequence of {qn:n1} has a further subsequence that converges in D1[0,) by Proposition 3. It follows from (22a) and Lemma 5 that the limit q of this convergent subsequence is a fluid trajectory with q(0)=q0, which determines q by Theorem 3. □

7. Limiting Behavior of SLTA

In this section, we assume that the load balancing policy is SLTA, and we leverage a methodology developed in Goldsztajn et al. (2021a) to prove Theorem 6. The first steps of the proof are carried out in Section 7.1, where we establish that certain dynamical properties of the system hold asymptotically with probability one. The proof is completed in Section 7.2, where we analyze the evolution of the learning scheme over time. Although the arguments used here are more involved due to the heterogeneity of the system, most of the proofs are conceptually similar to those in Goldsztajn et al. (2021a) and hence are deferred to Online Appendix C.

7.1. Asymptotic Dynamical Properties

In this section, we establish asymptotic dynamical properties pertaining to the total and tail mass processes, which are defined as

sn(i,j)I+qn(i,j) andvn(r)(i,j)(ir,jr)qn(i,j) for allr1,
respectively. Recall that the total mass process was introduced in (1) and represents the total number of tasks in the system, normalized by the number of server pools. The following proposition is proved in Online Appendix C.

Proposition 4.

For each ωΓ, the sequence {sn(ω):n1} converges uniformly over compact sets to the unique function s(ω) such that

s˙(ω)=λμs(ω) ands(ω,0)=s0(ω),(35)
where s0 is as defined in (13). Explicitly, s(ω,t)=ρ+[s0(ω)ρ]eμt.

Although the previous law of large numbers is known to hold weakly, it is not straightforward that it holds with probability one under the coupled construction of sample paths adopted in Section 5.1; this fact is established in Proposition 4.

The next result is also proved in Online Appendix C, and it provides an asymptotic upper bound for certain tail mass processes, under specific conditions concerning qn and rn. The upper bound implies at least an exponentially fast decay over time.

Proposition 5.

Suppose that the next conditions hold for a given ωΓ and a given increasing sequence K of natural numbers.

  • (a) The sequence {qk(ω):kK} converges in D1[0,) to some function q.

  • (b) There exist r > 1 and 0t0<t1 such that

    rk(ω,t)r and(i,j)(ir,jr)qk(ω,t,i,j)<(i,j)(ir,jr)αk(i)
    for all t[t0,t1] and kK.

Then q(i,j) is differentiable on (t0, t1) for all (i,j)(ir,jr) and satisfies

q.(t,i,j)=μj[q(t,i,j)q(t,i,j+1)] for allt(t0,t1).

Furthermore, the sequence of tail mass processes {vk(ω,r):kK} converges uniformly over compact sets to a function v(ω,r) that satisfies

v(ω,t,r)<s(ω,t0)eμ(tt0) for allt[t0,t1].

7.2. Evolution of the Learning Scheme

In this section, we complete the proof of Theorem 6. In Section 7.2.1, we establish that there exists a neighborhood of zero outside of which rn is asymptotically upper bounded by r* with a probability of one. This property partially proves (16a) and is used to obtain (16c). The proof of (16a) is finished in Section 7.2.2, where we also establish (16b).

7.2.1. Preliminary Results.

The following proposition states that rn is asymptotically upper bounded by r* outside of a neighborhood of zero with probability one; the proof is deferred to Online Appendix C.

Proposition 6.

There exists a function τbd:[0,)R with the following property. If ωΓ and Tτ>τbd(s0(ω)), then there exists nbdτ,T(ω) such that

rn(ω,t)r* for allt[τ,T] andnnbdτ,T(ω).

The following corollary establishes (16c).

Corollary 1.

For each ωΓ and Tτ>τbd(s0(ω)), we have

limsupnsupt[τ,T]vn(ω,t,r*+1)eμ(tτ)s(ω,τ).

In particular, (16c) holds.

Proof.

We fix ωΓ and Tτ>τbd(s0(ω)), and we omit ω from the notation for brevity. Suppose that the statement of the corollary does not hold; then, there exist ε>0 and an increasing sequence K of natural numbers such that

supt[τ,T]vk(t,r*+1)eμ(tτ)>s(τ)+ε for allkK.

By Propositions 3 and 6, we may assume that {qk:kK} has a limit in D1[0,) and that rk(t)r* for all t[τ,T] and all kK. The latter property implies that

(i,j)(ir*,jr*)qk(t,i,j)<(i,j)(ir*,jr*)αk(i) for allt[τ,T],
because otherwise the number of tokens would be zero, which cannot occur by Remark 1. Therefore, Proposition 5 holds with r=r*+1 along the interval [τ,T], and in particular, there exists a function v(r*+1) such that
v(t,r*+1)<s(τ)eμ(tτ) for allt[τ,T],limksupt[τ,T]|vk(t,r*+1)v(t,r*+1)|=0.

This leads to a contradiction, so the statement of the corollary must hold. □

7.2.2. Proof of Theorem 6.

Here we complete the proof of Theorem 6. For this purpose, let

δn(t,r)1nNnλ(t)λt(i,j)(ir,jr)[Dn(t,i,j)0tμj[qn(s,i,j)qn(s,i,j+1)]ds](36)
for all t0 and r1. It follows from (22b) and (22c) that
limnsupt[0,T]nγ|δn(ω,t,r)|=0 for allγ[0,1/2),T0 andωΓ.(37)

The following two technical lemmas are proved in Online Appendix C.

Lemma 6.

Fix ωΓ,T0 and r > 1. Suppose that there exist an increasing sequence K of natural numbers and random times 0τk,1τk,2T such that

rk(ω,t)r and(i,j)(ir,jr)qk(ω,t,i,j)<(i,j)(ir,jr)αk(i)
for all t[τk,1(ω),τk,2(ω)) and kK. Then
(i,j)(ir,jr)qk(ω,t,i,j)(i,j)(ir,jr)qk(ω,τk,1(ω),i,j)[tτk,1(ω)][λμ(i,j)(ir,jr)αk(i)]2sups[0,T]|δk(ω,s,r)|
for all t[τk,1(ω),τk,2(ω)] and kK.

Lemma 7.

Fix ωΓ,T0 and 1rr*. Assume that there exist an increasing sequence K of natural numbers and random times 0ζk,1ζk,2T such that

(i,j)(ir,jr)qk(ω,ζk,1(ω),i,j)=(i,j)(ir,jr)αk(i) andrk(ω,t)r
for all t[ζk,1(ω),ζk,2(ω)] and kK. For each γ[0,1/2), we have
rk(ω,t)=r andqk(ω,t,i,j)αk(i)kγ
for all (i,j)(ir,jr),t[ζk,1(ω),ζk,2(ω)] and all large enough kK.

These lemmas are used to complete the proof of Theorem 6.

Proof of Theorem 6.

We define τeq as follows:

τeq(s)τbd(s)+1μlog(ρρ(i,j)σ*α(i)) for alls0.

Fix ωΓ and Tτ>τeq(s0(ω)) as in the statement of the theorem; we omit ω from the notation for brevity. Given 0<ε<ρ(i,j)σ*α(i), we define

τ(ε)min{t0:ρ(1eμt)ε(i,j)σ*α(i)}=1μlog(ρρ(i,j)σ*α(i)ε).

Fix τ0>τbd(s0) and ε such that τ=τ0+τ(ε)+ε. This is possible because τbd(s0)+τ(ε)+ε decreases to τeq(s0) as ε0. In addition, consider the random times

ξninf{tτ0:(i,j)σ*qn(t,i,j)=(i,j)σ*αn(i)}.

The proofs of (16a) and (16b) will be completed if we demonstrate that ξnτ for all large enough n. Indeed, if this is established, then (16a) and (16b) follow from Lemma 7 with rr*,ζn,1ξn and ζn,2T. The hypotheses of the lemma hold because rn(t)r* for all t[τ0,T] and all large enough n by the choice of τ0 and Proposition 6.

To prove that ξnτ for all large enough n, we show that

limsupnξnτ0+τ(ε)<τ0+τ(ε)+ε=τ.(38)

If r*=1, then ξn=τ0 for all n and the above inequality holds, so suppose that r*>1.

Assume that (38) does not hold. Then there exists an increasing sequence K of natural numbers such that ξk>τ0+τ(ε) for all kK. Moreover, by Propositions 3 and 6, this sequence may be chosen so that the next two properties hold.

  • (i) The sequence {qk:kK} converges in D1[0,).

  • (ii) We have rk(t)r* for all t[τ0,T] and kK.

The definition of ξk implies that

(i,j)σ*qk(t,i,j)<(i,j)σ*αk(i) for allt[τ0,τ0+τ(ε)][τ0,ξk) andkK.

The hypotheses of Proposition 5 hold with rr*,t0τ0 and t1τ0+τ(ε), by the previous remark and properties (i) and (ii). Let v(r*) be the function defined in this proposition, as the uniform limit of the tail processes vk(r*) over [0,T]. It follows from Propositions 4 and 5 that

supt[0,T]|sk(t)vk(t,r*)[s(t)v(t,r*)]|ε2
for all sufficiently large kK. For each of these k, we have
(i,j)σ*qk(τ0+τ(ε),i,j)=sk(τ0+τ(ε))vk(τ0+τ(ε),r*)s(τ0+τ(ε))v(τ0+τ(ε),r*)ε2>ρ+[s(τ0)ρ]eμτ(ε)s(τ0)eμτ(ε)ε2=ρ(1eμτ(ε))ε2=(i,j)(ir,jr)α(i)+ε2.

The third inequality follows from Proposition 5 and the last equality from the definition of τ(ε). It follows from (9) that the right-hand side is strictly larger than (i,j)σ*αk(i) for all large enough kK, which is a contradiction.

We conclude that (38) holds, which proves (16a) and (16b). We had already proved (16c) in Corollary 1; thus, the proof of the theorem is complete. □

8. Asymptotic Optimality

In this section, we prove Theorem 2. Specifically, in Section 8.1, we use drift analysis to demonstrate that the continuous-time Markov chains introduced in Section 3.3 are irreducible and positive-recurrent and to derive upper bounds for certain expectations and tail probabilities. In Section 8.2, we use these upper bounds to establish that the stationary distributions of the latter Markov chains are tight, and then we complete the proof of Theorem 2 using the results of Sections 6 and 7. Finally, in Section 8.3, we demonstrate that JLMU is not optimal in general, although it is asymptotically optimal.

8.1. Drift Analysis

Denote the state space and the generator matrix of the continuous-time Markov chains defined in Section 3.3 by Sn and An, respectively. We use exactly the same notation for JLMU and SLTA, but we always indicate which policy is being considered. The drift of a function f:Sn[0,) is the function Anf defined by

Anf(x)ySnAn(x,y)f(y)=yxAn(x,y)[f(y)f(x)]> for allxSn.

The proof of the following proposition uses a Foster-Lyapunov argument, which is based on the drift of certain suitably chosen functions.

Proposition 7.

For each given n, the two continuous-time Markov chains introduced in Section 3.3 are irreducible and positive-recurrent. In particular, each of these Markov chains has a unique stationary distribution πn.

Proof.

Suppose first that the load balancing policy is JLMU. Any occupancy state can reach the empty occupancy state after a finite number of consecutive departures. By the definition of Sn provided in Section 3.3, the latter remark implies that qn is irreducible. Moreover, qn is the empty occupancy state if and only if sn=0, which implies that the empty occupancy state is positive-recurrent, because the M/M/ queue sn is irreducible and positive-recurrent. Thus, qn is positive-recurrent.

Suppose now that the load balancing policy is SLTA. Any state (q,r)Sn can reach the empty occupancy sate with rn=r after a finite number of consecutive departures. Moreover, the latter state can reach the empty occupancy state with rn=1 after a finite number of alternate arrivals and departures. We conclude from the definition of Sn provided in Section 3.3 that (qn,rn) is irreducible.

Next we use a Foster-Lyapunov argument to prove the positive recurrence. Consider the functions f,g:Sn[0,) defined by

f(q,r)(i,j)I+q(i,j) andg(q,r)r for all(q,r)Sn.(39)

All server pools together form an infinite-server system; thus, Anf(q,r)=λμf(q,r) for all (q,r)Sn. In addition, we have

Ang(q,r)=λ[𝟙I(q,r) 𝟙D(q,r)] for all(q,r)Sn.

Here I corresponds to those states (q, r) such that rn increases if (qn,rn)=(q,r) and the next event is an arrival. Specifically,

I{(q,r)Sn:q(i,j)=αn(i) for all(i,j)(ir,jr),nq(ir,jr)=nαn(ir)1}.

Also, D corresponds to those states (q, r) such that rn decreases if (qn,rn)=(q,r) and the next event is an arrival. Specifically,

D{(q,r)Sn:r>1,ni=1mnq(i,i(r))nβn,q(ir1,jr1)<αn(ir1)}.

Consider the function hf+2g and let F be the set of those (q,r)Sn that satisfy the following two conditions.

  • (i) We have f(q,r)4ρ.

  • (ii) We have r = 1 or r > 1 and [αn(ir1)βn]jr14ρ.

The first condition holds for finitely many qQn and the second condition holds for finitely many r1, thus F is finite. Next we establish that Anhλ+4λ𝟙F. Note that (qn,rn) is nonexplosive because the infinite-server queue sn has this property. Therefore, it follows from Hajek (2006, proposition 2.20.1) that (qn,rn) is positive-recurrent.

The latter inequality holds for all (q,r)F since Anh3λ. Hence, let us assume that (q,r)F. Suppose that (q,r)F violates (i). Then

Anh(q,r)3λμf(q,r)<3λ4λ=λ.

Assume now that (q,r)F satisfies (i). Then (q, r) satisfies (i) and violates (ii), which implies that r > 1 and [αn(ir1)βn]jr1>4ρf(q,r). From this we conclude that q(ir1,jr1)<αn(ir1)βn, because otherwise f(q,r)jr1q(ir1,jr1)>4ρ. Thus,

ni=1mnq(i,i(r))=i=1mn[αn(i)q(i,i(r))]n[αn(ir1)q(ir1,jr1)]>nβn.

It follows that (q,r)D; thus, Anh(q,r)=λμf(q,r)2λλ. □

Next we provide upper bounds for certain expectations and tail probabilities, which are used in the following section to demonstrate that the sequence of stationary distributions {πn:n1} is tight, both for JLMU and SLTA. First we state a technical lemma; the proof follows from Fubini’s theorem and is provided in Online Appendix A.

Lemma 8.

Let xn have the stationary distribution πn, where xn = qn if JLMU is used and xn=(qn,rn) if SLTA is used. If f:Sn[0,) satisfies

E[ySn|An(xn,y)|f(y)]<,thenE[Anf(xn)]=0.

Consider the quantities

θnk(i,j)(ik,jk)αn(i) for allk1.(40)

This lemma is used to prove the following two propositions.

Proposition 8.

Suppose that the load balancing policy is JLMU, fix n and consider the functions fk:Sn[0,) defined by

fk(q)(i,j)(ik,jk)q(i,j) for allqSn andk1.

If qn has the stationary distribution πn, then

E[fk(qn)]ρen(θnk2ρ) for allk1.

Proof.

Fix some k1 and define Jimin{j1:(i,j)(ik,jk)}. The drift of fk with respect to qn satisfies

Anfk(q)=λ𝟙{σ(q)(ik,jk)}(i,j)(ik,jk)μj[q(i,j)q(i,j+1)]=λ𝟙{σ(q)(ik,jk)}i=1mj=Jiμj[q(i,j)q(i,j+1)]=λ𝟙{σ(q)(ik,jk)}i=1m[μ(Ji1)q(i,Ji)+μj=Jiq(i,j)]=λ𝟙{σ(q)(ik,jk)}μfk(q)μi=1m(Ji1)q(i,Ji)λ𝟙{f(q)θnk}μfk(q) for allqSn,(41)
where f(q) is as in (39). For the last step, (i,j)σ(q) implies that q(i,j)=αn(i).

Observe that |An(x,x)|=nλ+nμf(x) because nf(x) is the total number of tasks at the occupancy state x and nλ is the arrival rate of tasks. Hence,

ySn|An(x,y)|fk(y)=|An(x,x)|fk(x)+yxAn(x,y)fk(y)=2|An(x,x)|fk(x)+ySnAn(x,y)fk(y)=2[nλ+nμf(x)]fk(x)+Anfk(x)2n[λ+μf(x)]f(x)+λ.

The right-hand side has a finite mean with respect to πn because nf(qn) is the total number of tasks in the system in stationarity, which is Poisson distributed with mean nρ. Thus, we conclude that E[Anfk(qn)]=0 by Lemma 8.

Taking expectations with respect to πn on both sides of (41) and recalling that nf(qn) is Poisson distributed with mean nρ, we obtain

E[fk(qn)]ρE[𝟙{f(qn)θnk}]=ρP(nf(qn)nθnk)ρen(θnk2ρ),
where the last inequality follows from a Chernoff bound. □

Proposition 9.

Suppose that the load balancing policy is SLTA, fix n and consider the functions fk:Sn[0,) defined by

fk(q,r)(i,j)(ik,jk)q(i,j) for all(q,r)Sn andk1.

Let (qn, rn) have the stationary distribution πn. For each k1, we have

E[fk(qn,rn)]ρP(rn>k),(42a)
P(rn>k)en(θnk2ρ)+en[θnkL(k)βn2ρ]+en[(k)αnmin2ρ],(42b)
where θnk is defined as in (40), αnminmin{αn(i):1im},
L(k)max{i(k+1):1im} and(k)min{i(k+1):1im}.

Proof.

Fix k1. As in the proof of Proposition 8, we see that

Anfk(q,r)λ𝟙{r>k}μfk(q,r) for all(q,r)Sn,
and that fk satisfies the hypothesis of Lemma 8. Then we obtain (42a) by taking the expectation with respect to πn on both sides of the latter inequality.

Consider the sets I and D defined in the proof of Proposition 7 and let

IkI{(q,r)Sn:rk} andDkD{(q,r)Sn:r>k}.

The first step of the proof of (42b) is to establish that

P((qn,rn)Ik)=P((qn,rn)Dk).(43)

Fix l > k and consider the function gkl:Sn[0,) defined by

gkl(q,r)=(rk)+ 𝟙{r<l}+(lk)𝟙{rl} for all(q,r)Sn.

As in the proof of Proposition 7, we obtain

Angkl(q,r)=λ[𝟙Ikl(q,r) 𝟙Dkl(q,r)],(44)
where the sets Ikl and Dkl are defined by
IklI{(q,r)Sn:kr<l} andDklD{(q,r)Sn:k<rl}.

Define f(q, r) as in (39) and note that |An((x,r),(x,r))|=nλ+nμf(x,r). Thus,

(y,s)Sn|An((x,r),(y,s))|gkl(y,s)=2|An((x,r),(y,s))|gkl(x,r)+Angkl(x,r)2n[λ+μf(x,r)](lk)+λ.

The right-hand side has a finite mean with respect to πn because nf(qn,rn) is the total number of tasks in stationarity, which is Poisson distributed with mean nρ. Therefore, it follows from Lemma 8 and (44) that P((qn,rn)Ikl)=P((qn,rn)Dkl). The sets Ikl and Dkl increase to Ik and Dk, respectively, as l. This implies (43) because

P((qn,rn)Ik)=limlP((qn,rn)Ikl)=limlP((qn,rn)Dkl)=P((qn,rn)Dk).

Now we may write

P(rn>k)=P(rn>k,(qn,rn)D)+P(rn>k,(qn,rn)D)=P((qn,rn)Dk)+P(rn>k,(qn,rn)D)=P((qn,rn)Ik)+P(rn>k,(qn,rn)D).(45)

Using the definition of Ik, we can bound the first term on the last line by

P(f(qn,rn)(i,j)(irn,jrn)αn(i),rn>k)P(f(qn,rn)θnk).(46)

The second term on the last line of (45) can be bounded by

P(i=1mqn(i,i(rn))>1βn,rn>k)+P(qn(irn1,jrn1)=αn(irn1),rn>k)P(f(qn,rn)θnkL(k)βn)+P(f(qn,rn)(k)αnmin).(47)

For the last inequality, observe that the condition inside the first probability sign of the left-hand side of (47) implies that

i=1mqn(i,i(k+1))i=1mqn(i,i(rn))>1βn,
and this in turn implies that
f(qn,rn)(i,j)(ik,jk)αn(i)L(k)βn=θnkL(k)βn,
because qn(i,j) is nonincreasing in j for all i. In addition, the condition inside the second probability sign of the left-hand side of (47) implies that
f(qn,rn)jrn1qn(irn1,jrn1)=jrn1αn(irn1)(k)αnmin.

We obtain (42b) from (46) and (47), recalling that nf(qn,rn) is Poisson distributed with mean nρ and applying Chernoff bounds. □

8.2. Proof of the Asymptotic Optimality

In this section, we prove Theorem 2. As a first step, we establish that the sequence of stationary distributions {πn:n1} is tight both for JLMU and SLTA.

Proposition 10.

If the load balancing policy is JLMU, then {πn:n1} is tight in 1. If the load balancing policy is SLTA, then {πn:n1} is tight in 1×N.

Proof.

Suppose first that the load balancing policy is JLMU and let qn have the stationary distribution πn for each n. The sequence {qn:n1} is tight with respect to the product topology because the random variables qn take values in [0,1]I, which is compact with respect to the product topology. Therefore, as in Mukherjee et al. (2018, lemma 2), the tightness in 1 of {qn:n1} will follow if we establish that

limklimsupnP((i,j)(ik,jk)qn(i,j)>ε)=0 for allε>0.(48)

By Proposition 8 and Markov’s inequality, we have

P((i,j)(ik,jk)qn(i,j)>ε)ρεen(θnk2ρ) for allk,n1 andε>0.

For all sufficiently large k, the exponent on the right-hand side converges to minus infinity as n grows large and k is held fixed. Thus, {qn:n1} is tight in 1.

Suppose now that the load balancing policy is SLTA and let (qn, rn) have the stationary distribution πn for each n. To prove that {(qn,rn):n1} is tight in 1×N, it suffices to show that {qn:n1} and {rn:n1} are tight in 1 and N, respectively. Indeed, if the latter properties hold, then for each ε>0 there exist compact sets Kq1 and Kr N such that

max{P(qnKq),P(rnKr)}ε2 for alln.

Therefore, the compact set Kq×Kr1×N satisfies

P((qn,rn)Kq×Kr)P(qnKq)+P(rnKr)ε for alln.

By Proposition 9 and Markov’s inequality, we have

P((i,j)(ik,jk)qn(i,j)>ε)ρεP(rn>k) for allk,n1 andε>0,P(rn>k)en(θnk2ρ)+en[θnkL(k)βn2ρ]+en[(k)αnmin2ρ] for allk,n1.

For all large enough k, the right-hand side of the second inequality is summable over n and in particular vanishes with n. This implies that the sequences {qn:n1} and {rn:n1} are tight in 1 and N, respectively. □

We also need the following technical lemma.

Lemma 9.

Fix q1 and suppose that the marginal utilities are bounded. Then

u(q)=i=1mui(0)q(i,0)+(i,j)I+Δ(i,j1)q(i,j).

Proof.

Note that

u(q)=i=1mj=0ui(j)[q(i,j)q(i,j+1)]=limki=1mj=0kui(j)[q(i,j)q(i,j+1)]=limki=1m[ui(0)q(i,0)+j=1kΔ(i,j1)q(i,j)ui(k)q(i,k+1)],=i=1mui(0)q(i,0)+(i,j)I+Δ(i,j1)q(i,j)limki=1mui(k)q(i,k+1).

The second term in the last line is absolutely convergent because the marginal utilities are bounded and q1. Moreover, there exists M0 such that

limk|ui(k)|q(i,k+1)limk|ui(0)+j=0k1Δ(i,j)|q(i,k+1)limk(|ui(0)|+Mk)q(i,k+1) for alli,
and the latter limit is zero for all i because q1. □

Now we are ready to prove Theorem 2.

Proof of Theorem 2.

Suppose first that the load balancing policy is JLMU. It follows from Prokhorov’s theorem and Proposition 10 that the stationary distributions {πn:n1} are relatively compact in 1; thus, every subsequence has a further subsequence that converges in distribution. To establish (a), it suffices to prove the following statement: if K is an increasing sequence of natural numbers such that {πk:kK} converges weakly to π, then π is the Dirac measure concentrated at q*. Similarly, the sequence {πn:n1} is relatively compact in 1×N if the load balancing policy is SLTA, and to prove (b), it suffices to establish the following statement: if K is an increasing sequence of natural number such that {πk:kK} converges weakly to π, then π is the Dirac measure at (q*,r*). Here we prove (a) and (b) in parallel, proceeding as indicated previously.

Fix an arbitrary increasing sequence of natural numbers K such that {πk:kK} converges weakly to a certain probability measure π. The following constructions use Skorokhod’s representation theorem. If the load balancing policy is JLMU, then there exist random variables qk and q, distributed as πk and π, respectively, that are defined on a common probability space (ΩI,FI, PI) and satisfy

limkqk(ω)q(ω)1=0 for allωΩI.

If the load balancing policy is SLTA, then there exist random variables (qk, rk) and (q, r), with distributions given by the probability measures πk and π, respectively, that are defined on some common probability space (ΩI,FI, PI) and satisfy

limkqk(ω)q(ω)1=0 andlimkrk(ω)=r(ω) for allωΩI.

The second limit implies that there exists a random variable R such that rk(ω)R(ω) for all kK and ωΩI. Moreover, qk(i,j)<αk(i) for all (i,j)(irk,jrk) on ΩI by the definition of the state space Sk for SLTA. Indeed, recall from Remark 1 that the latter property is preserved by arrivals and departures and observe that it holds for the empty occupancy state with rk=1.

If the load balancing policy is JLMU, then we may construct occupancy processes qk on a common probability space (Ω,F, P) as in Section 5.1.1, such that qk(0)=qk and (9) holds with q0=q. If the load balancing policy is SLTA, then we may construct processes (qk,rk) on a common probability space (Ω,F, P) as in Section 5.1.2, such that (qk(0),rk(0))=(qk,rk) and the assumptions of Section 4.2.1 hold with q0=q. For both load balancing policies, we may assume by Proposition 3 that qk converges in D1[0,) to a process q with a probability of one; this may require to replace K by a subsequence.

If the load balancing policy is JLMU, then Theorem 5 implies that q(ω) is the unique fluid trajectory such that q(ω,0)=q(ω) for each ωΩ. Moreover, by Theorem 4,

limt||q(ω,t)q*||1=0for allωΩ.(49)

If the load balancing policy is SLTA, then (16b) and (16c) hold on a set of probability of one by Theorem 6. Fix any ωΩ such that qk(ω) converges to q(ω) in D1[0,) and such that (16b) and (16c) hold. Also, choose τ>τeq(s0(ω)). It follows from (16b) that

|α(i)q(ω,T,i,j)|supt[τ,T]|α(i)q(ω,t,i,j)|limksupt[τ,T]|α(i)qk(ω,t,i,j)|+limksupt[τ,T]qk(ω,t)q(ω,t)1=0,
for all (i,j)σ* and Tτ. Thus, q(ω,t,i,j)=q*(i,j) for all (i,j)σ* and tτ. Similarly, we conclude from (16c) that
(i,j)σ*q(ω,T,i,j)eμ(Tτ)supt[τ,T](i,j)σ*q(ω,t,i,j)eμ(tτ)limsupksupt[τ,T](i,j)σ*qk(ω,t,i,j)eμ(tτ)+limksupt[τ,T]qk(ω,t)q(ω,t)1eμ(tτ)c(ω,τ)
for all Tτ; for the last inequality, in the last line, eμ(tτ)eμ(Tτ) for all t[τ,T], so the last limit equals zero. Because T can be arbitrarily large, we have
limt(i,j)σ*q(ω,t,i,j)limtc(ω,τ)eμ(tτ)=0,
and in particular q(ω,t,i,j)q*(i,j) as t for all (i,j)σ*. This also holds for (i,j)=σ* by Proposition 4, so we conclude that
P(limtq(t)q*1=0)=1.(50)

It follows from the stationarity of πk that qk(t) is distributed as qk for all t0 in the case of JLMU and that (qk(t),rk(t)) has the same distribution as (qk, rk) for all t0 if the load balancing policy is SLTA. Furthermore, recall that in either case, we have

P(limkqk(t)q(t)1=0)=1 for allt0 andqkq ask,
which implies that q(t) is distributed as q for all t0. Moreover, q(t) converges weakly to q* as t by (49) and (50). Therefore, q corresponds to the Dirac probability measure concentrated at q* both for JLMU and SLTA.

This completes the proof of (a). To finish the proof of (b), observe that s0=ρ with a probability of one because q0=q is equal to q* with a probability of one. It follows from (16a) that

P(limkrk(t)=r*)=1 for allt>τeq(ρ).

Hence, rk(t) converges weakly to r* for all t>τeq(ρ). Because rk(t) has the same distribution as rk for all t0, we conclude that rk converges weakly to r*. Note that q* and r* are deterministic; thus, qk and rk converge to q* and r*, respectively, in probability, which implies that (qk, rk) converges to (q*,r*) in probability. This completes the proof of (b).

Next we prove the statements about the stationary overall utilities, and here exactly the same arguments apply both for JLMU and SLTA. Suppose that qn has the stationary distribution. By (a) and (b), qn converges in probability to q* in 1, and by Lemma 9,

u(x)=i=1mui(0)x(i,0)+(i,j)I+Δ(i,j1)x(i,j) for allx1.

Because the marginal utilities are bounded, there exists a constant a such that

|u(x)u(y)|axy1 for allx,y1.

This implies that u(qn) converges in probability to u(q*).

Finally, observe that |u(qn)|b+csn with

bi=1m|ui(0)|,cmax(i,j)I|Δ(i,j)| andsn(i,j)I+qn(i,j).

Because nsn is Poisson distributed with mean nρ, we have

E[u(qn)2]b2+2bcE[sn]+c2E[sn2]b2+2bcρ+c2ρ2+c2ρnb2+2bcρ+c2ρ2+c2ρ.

The last expression does not depend on n; therefore, we conclude that {u(qn):n1} is uniformly integrable. As a result, we have

limnE[u(qn)]=u(q*).

This completes the proof. □

8.3. Suboptimality Result

In this section, we prove that JLMU is generally not optimal in the prelimit, although it becomes optimal as the number of server pools grows large. For this purpose, we construct an example in which JLMU is strictly outperformed by another policy.

Specifically, consider a system with two heterogeneous server pools and assume that the associated utility functions are of the following form:

u1(x)aεx andu2(y)ay𝟙{y<1}+a𝟙{y1} for allx,y0,
where a > 0 and ε(0,1) are constants. Note that
Δ(1,0)<Δ(2,0) butΔ(1,j)>Δ(2,j) for allj1.

As a result, JLMU sends tasks to server pool 2 if and only if this server pool is empty; thus, the number of tasks in server pool 2 is zero or one in stationarity. This assignment rule guarantees the largest increase in the aggregate utility of the system at each arrival epoch. However, this increase can be very small when tasks are sent to server pool 1, whereas the decrease in the aggregate utility can be comparatively large when a departure leaves server pool 2 with zero tasks. Particularly, this is the case when ε is small.

Suppose that tasks arrive as a Poisson process of intensity λ with exponential service times of mean 1/μ. In addition, let X and Y denote the number of tasks in server pools 1 and 2, respectively. Next we provide an upper bound for the mean stationary overall utility of JLMU when the utility functions are as defined previously.

As already noted, a new task is sent to server pool 2 if and only if Y=0. Therefore, the following statements hold.

  • We have Y(t){0,1} for all sufficiently large t.

  • Conditional on Y(0){0,1}, the process Y alone is a birth-death process with state space {0, 1}, birth rate λ, and death rate μ.

By Proposition 7, the process (X,Y) has a unique stationary distribution (X, Y), and by the previous observations, we have

P(Y=0)=μλ+μ andP(Y=1)=λλ+μ.

If we let Uu1(X)+u2(Y) denote the aggregate utility in stationarity, then

E[U]=aεE[X]+aP(Y=1)aεE[X+Y]+aP(Y=1)=a[ερ+ρρ+1].

Consider now the policy that sends all tasks to server pool 2. Whereas JLMU dispatches the new tasks in a greedy fashion, this other policy is conservative because it tries to avoid drops of u2(Y) from a to zero by keeping a positive number of tasks in server pool 2.

The mean stationary aggregate utility can be computed explicitly for the policy that we described previously because Y is now an M/M/ queue and X(t)=0 for all sufficiently large t. Let (X, Y) be the stationary distribution of (X,Y) and let Vu1(X)+u2(Y) denote the aggregate utility of the system in stationarity, we have

E[V]=aP(Y>0)=a(1eρ).

It is not difficult to verify that ε can be chosen so that

ερ+ρρ+1<1eρ
for all ρ in some open interval contained in (0,). If ε and ρ are chosen so that the latter inequality holds, then E[U]<E[V], and thus JLMU is strictly suboptimal.

In general, the right balance between greedy and conservative actions is difficult to determine and depends intricately on the set of utility functions. However, the benefits of conservative actions, which prevent the number of tasks in server pools of specific classes from dropping below certain occupancy levels, diminish as the scale of the system grows. Indeed, the average fraction of these server pools that have less tasks than the optimal quantity decreases as the number of server pools grows, even if the assignment policy is purely greedy as JLMU; essentially, this is a consequence of the increase in the number of server pools per class and the decrease in the coefficient of variation of the total number of tasks in the system. Therefore, the associated loss in mean stationary overall utility asymptotically vanishes as the scale of the system grows.

References

  • Benameur N, Fredj SB, Oueslati-Boulahia S, Roberts JW (2002) Quality of service and flow level admission control in the Internet. Comput. Networks 40(1):57–71.Google Scholar
  • Bhamidi S, Budhiraja A, Dewaskar M (2022) Near equilibrium fluctuations for supermarket models with growing choices. Ann. Appl. Probab. (Institute of Mathematical Statistics), 32(3):2083–2138.Google Scholar
  • Bramson M (1998) State space collapse with application to heavy traffic limits for multiclass queueing networks. Queueing Systems 30(1):89–140.Google Scholar
  • Eschenfeldt P, Gamarnik D (2018) Join the shortest queue with many servers. The heavy-traffic asymptotics. Math. Oper. Res. 43(3):867–886.LinkGoogle Scholar
  • Fontes LR (1989) A note on Kolmogorov backward equations. Brazilian J. Probability Statist. (Institute of Mathematical Statistics), 3(1):59–65.Google Scholar
  • Gamarnik D, Tsitsiklis JN, Zubeldia M (2018) Delay, memory, and messaging tradeoffs in distributed service systems. Stochastic Systems 8(1):45–74.LinkGoogle Scholar
  • Gamarnik D, Tsitsiklis JN, Zubeldia M (2020) A lower bound on the queueing delay in resource constrained load balancing. Ann. Appl. Probability 30(2):870–901.Google Scholar
  • Gardner K, Stephens C (2019) Smart dispatching in heterogeneous systems. Performance Evaluation Rev. 47(2):12–14.Google Scholar
  • Gardner K, Jaleel JA, Wickeham A, Doroudi S (2021) Scalable load balancing in the presence of heterogeneous servers. Performance Evaluation Rev. 48(3):37–38.Google Scholar
  • Goldsztajn D, Borst SC, Van Leeuwaarden JS (2021a) Learning and balancing unknown loads in large-scale systems. Preprint, submitted December 16, https://arxiv.org/abs/2012.10142.Google Scholar
  • Goldsztajn D, Ferragut A, Paganini F (2021b) Automatic cloud instance provisioning with quality and efficiency. Performance Evaluation 149–150:102209.Google Scholar
  • Goldsztajn D, Ferragut A, Paganini F, Jonckheere M (2018) Controlling the number of active instances in a cloud environment. Performance Evaluation Rev. 45(3):15–20.Google Scholar
  • Goldsztajn D, Borst SC, Van Leeuwaarden JS, Mukherjee D, Whiting PA (2022) Self-learning threshold-based load balancing. INFORMS J. Comput. 34(1):39–54.Google Scholar
  • Hajek B (2006) Notes for ECE 467: Communication Network Analysis (University of Illinois at Urbana-Champaign, Urbana).Google Scholar
  • Horváth IA, Scully Z, Van Houdt B (2019) Mean field analysis of join-below-threshold load balancing for resource sharing servers. Proc. ACM on Measurement and Anal. of Comput. Systems (ACM, New York), 3(3):1–21.Google Scholar
  • Jaleel JA, Wickeham A, Doroudi S, Gardner K (2022) A general “power-of-d” dispatching framework for heterogeneous systems. Queueing Systems 102(3):431–480.Google Scholar
  • Karthik A, Mukhopadhyay A, Mazumdar RR (2017) Choosing among heterogeneous server clouds. Queueing Systems 85(1):1–29.Google Scholar
  • Key P, Massoulié L, Bain A, Kelly F (2004) Fair Internet traffic integration: Network flow models and analysis. Ann. Telecomm. 59(11):1338–1352.Google Scholar
  • Lu Y, Xie Q, Kliot G, Geller A, Larus JR, Greenberg A (2011) Join-idle-queue: A novel load balancing algorithm for dynamically scalable web services. Performance Evaluation 68(11):1056–1071.Google Scholar
  • Menich R, Serfozo RF (1991) Optimality of routing and servicing in dependent parallel processing systems. Queueing Systems 9(4):403–418.Google Scholar
  • Mitzenmacher M (2001) The power of two choices in randomized load balancing. IEEE Trans. Parallel Distribution Systems 12(10):1094–1104.Google Scholar
  • Mukherjee D, Borst SC, Van Leeuwaarden JS, Whiting PA (2018) Universality of power-of-d load balancing in many-server systems. Stochastic Systems 8(4):265–292.LinkGoogle Scholar
  • Mukherjee D, Borst SC, Van Leeuwaarden JS, Whiting PA (2020) Asymptotic optimality of power-of-d load balancing in large-scale systems. Math. Oper. Res. 45(4):1535–1571.LinkGoogle Scholar
  • Mukherjee D, Dhara S, Borst SC, Van Leeuwaarden JS (2017) Optimal service elasticity in large-scale distributed systems. Proc. ACM on Measurement and Anal. of Comput. Systems (ACM, New York, Philadelphia), 1(1):1–28.Google Scholar
  • Mukhopadhyay A, Mazumdar RR, Guillemin F (2015a) The power of randomized routing in heterogeneous loss systems. Proc. 27th Internat. Teletraffic Congress (IEEE, New York), 125–133.Google Scholar
  • Mukhopadhyay A, Karthik A, Mazumdar RR, Guillemin F (2015b) Mean field and propagation of chaos in multi-class heterogeneous loss models. Performance Evaluation 91:117–131.Google Scholar
  • Rudin W (1976) Principles of Mathematical Analysis, vol. 3 (McGraw-Hill, New York).Google Scholar
  • Sparaggis PD, Towsley D, Cassandras C (1993) Extremal properties of the shortest/longest non-full queue policies in finite-capacity systems with state-dependent service rates. J. Appl. Probability 30(1):223–236.Google Scholar
  • Stolyar AL (2015) Pull-based load distribution in large-scale heterogeneous service systems. Queueing Systems 80(4):341–361.Google Scholar
  • Van der Boor M, Borst SC, Van Leeuwaarden JS, Mukherjee D (2022) Scalable load balancing in networked systems: A survey of recent advances. SIAM Rev. (SIAM, Philadelphia), 64(3):554–622.Google Scholar
  • Vvedenskaya ND, Dobrushin RL, Karpelevich FI (1996) Queueing system with selection of the shortest of two queues: An asymptotic approach. Problemy Peredachi Informatsii 32(1):20–34.Google Scholar
  • Winston W (1977) Optimality of the shortest line discipline. J. Appl. Probability 14(1):181–189.Google Scholar
  • Xie Q, Dong X, Lu Y, Srikant R (2015) Power of d choices for large-scale bin packing: A loss model. Performance Evaluation Rev. 43(1):321–334.Google Scholar
  • Zhou X, Tan J, Shroff N (2018) Heavy-traffic delay optimality in pull-based load balancing systems: Necessary and sufficient conditions. Proc. ACM on Measurement and Anal. of Comput. Systems (ACM, New York), 2(3):1–33.Google Scholar
  • Zhou X, Wu F, Tan J, Sun Y, Shroff N (2017) Designing low-complexity heavy-traffic delay-optimal load balancing schemes: Theory to algorithms. Proc. ACM on Measurement and Anal. of Comput. Systems (ACM, New York), 1(2):1–30.Google Scholar