Computing the Stationary Distribution of Queueing Systems with Random Resource Requirements via Fast Fourier Transform

: Queueing systems with random resource requirements, in which an arriving customer, in addition to a server, demands a random amount of resources from a shared resource pool, have proved useful to analyze wireless communication networks. The stationary distributions of such queuing systems are expressed in terms of truncated convolution powers of the cumulative distribution function of the resource requirements. Discretization of the cumulative distribution function and the application of the fast Fourier transform are a traditional way of calculating convolutions. We suggest ﬁnding truncated convolution powers of the cumulative distribution functions by calculating the convolution powers of the truncated cumulative distribution functions via fast Fourier transform. This radically decreases computational complexity. We introduce the concept of resource load and investigate the accuracy of the proposed method at low and high resource loads. It is shown that the proposed method makes it possible to quickly and accurately calculate truncated convolution powers required for the analysis of queuing systems with random resource

In practice, the need often arises for calculating convolutions of an exotic continuous CDF with unknown LST [12][13][14]. An alternative method in such cases is the numerical calculation of convolutions by discretization of the initial distribution functions and then using the discrete Fourier transform (DFT) [15]. When computing convolutions numerically, it is convenient to choose some discretization interval τ and to approximate the CDF of a continuous nonnegative random variable using its values at 0, τ, 2τ, 3τ, .... Ackroyd et al. [16,17] used two very simple approximations F 1 (x) = G x τ τ and F 2 (x) = G x τ τ + τ , where [x] denotes the integral part of x, thus putting upper and lower bounds on CDF G(x). In reference [17] it was shown that the n-fold convolutions of these approximations always satisfy the inequalities F (n) 2 (x). A more accurate approximation, F 3 (x) = G x τ τ + 0.5τ , was used in reference [18] to compute the CDF of stationary waiting time in a single server queue with general inter-arrival and service time distributions by means of the fast Fourier transform (FFT). An algorithm for computing the high-order convolution of CDFs representable as the mixture of continuous and discrete components was proposed in reference [19]. Schaller and Temnov [20] analyze an error in the quintile function of the n-fold convolution and applied FFT for the convolution of heavy-tailed distributions. A general-purpose efficient and precise algorithm based on FFT for convolution of two CDFs is considered in reference [21]. In insurance mathematics, recursive schemes to compute compound distributions have been in use for a long time [22]. A comparison of recursion schemes and algorithms based on FFT can be found in references [20,23,24]. Errors of compound distributions computations are investigated in references [25,26].
For a wide range of Markovian resource queueing systems, the stationary distribution of the total amount of occupied resources is given by a truncated compound distribution [27]. In order to obtain the stationary distribution for a resource queueing system of capacity L it is necessary to compute L truncated convolution powers of the resource requirement CDF. The existing computational methods [28,29] calculate some performance metrics for the resource systems but not the entire stationary distribution. In this paper we develop an algorithm for the computation of sequences of truncated convolution powers of continuous CDF and truncated compound distributions via FFT. Instead of truncation of convolution powers we calculate convolution powers of truncated CDFs, which radically decreases computational complexity. We also propose a new approximation of continuous CDF by arithmetic CDF and compare it with F 3 (x). In the next section we describe a class of Markovian resource queuing systems to which the results of this paper are applicable. The computation method is detailed in Section 3. Section 4 presents several numerical experiments, in which we compute series of truncated convolutions and analyze the accuracy of the proposed method. The results are discussed in Section 5.
In the remainder of the paper we adopt the following notation: R + denotes the set of nonnegative real numbers, G * n (x) denotes the n-fold convolution of CDF G(x), a * b denotes the convolution of sequences a = (a i ) and b = (b i ), and δ i,j = 1 if i = j and δ i,j = 0 otherwise.

Markovian Resource Queueing Systems
Consider a queuing system that can be described by a process X(t) with a finite state space X, whose paths are continuous on the right and have limits on the left. Customers arrive and leave the system one by one. We use 0 < a 1 < a 2 < . . . to denote the arrival times and 0 < d 1 < d 2 < . . . to denote the departure times. We assume that the process X(t) describes the system so that for any of its states i ∈ X it is possible to determine the number ν(i) of customers in the system. We denote the maximum number of customers in the system by L and split the state space X into disjoint subsets X k = i ∈ X ν(i) = k , k = 0, 1, . . . , L.
In a resource queuing system, an arriving customer requires a certain amount of resources. V denotes the maximum amount of the resource and r n the resource quantities requested by n-th customer. Information about resources occupied at time t is stored as the vector s(t) = (s 1 (t), s 2 (t), . . . , s k (t)) of the length k = ν(X(t)), where s i (t) is the amount of resource occupied by the customer with the number i. The customer arriving at time a j is admitted to the system only if ν a j − 0 < L and the requested resource quantity can be provided, i.e., if σ(a j − 0) + r j ≤ V, where σ(t) = s 1 (t) + s 2 (t) + . . . + s k (t) is the total amount of resources occupied at time t.
All customers in the system are numbered. If the system accepts the customer arriving at a n , it will be assigned a number ϕ n from the interval 1 ≤ ϕ n ≤ ν(X(a n − 0)) + 1. The numbers ϕ n , ϕ n + 1, . . . , k, assigned to the customers before a n , will be increased by one. If, at the service completion time d n , the system leaves the customer with a number ψ n , the numbers ψ n + 1, ψ n + 2, . . . , ν(X(d n − 0)), assigned to the customers before d n , will be reduced by one. For example, in the "First In First Out" service discipline, the numbers of incoming and serviced customers are determined by ϕ n = ν(X(a n − 0)) + 1 and ψ n = 1, and for the "Last In First Out" service discipline, we have ϕ n = ν(X(a n − 0)) + 1 and ψ n = ν(X(d n − 0)).
We assume that the process Y(t) = (X(t), s(t)) is a homogeneous Markov jump process with a state space The sojourn time in each state (i, x) has an exponential distribution with a parameter depending only on the state i of the system. Additionally, the vector of occupied resources s(t) can change only upon customer arrivals and departures. With p i , i ∈ X we denote the stationary probabilities of the system states in the case of unlimited resources. For the Markovian resource queueing systems considered here, probabilities p i yield a solution to the steady-state equations with a block tri-diagonal generator [27].

A Method for Computing the Stationary Distribution
Consider the stationary probabilities of the process Y(t), For a wide range of resource queueing systems described in Section 1, the stationary distribution of Y(t) has the product form: where G(x) is the CDF of the customer resource requirements and c is the normalizing constant: Necessary and sufficient conditions for the product-form (Equation (2)) of the stationary distribution (Equation (1)) can be found in reference [27].
It follows from Equation (2) that the stationary distribution of the total amount of occupied resources is given by the truncated compound distribution: is the stationary distribution of the number of customers in the system. In order to find the stationary distribution (Equations (2) and (3)) of resource queueing systems, one should compute a series of convolutions G * n (x), n = 2, 3, . . . , L, in the interval 0 ≤ x ≤ V. These functions are related by the following recursion formula: For computing G * n (x) we approximate G(x) by some step function F(x) with jumps of size f k at τk, k = 0, 1, 2, . . . , K, where τK = V. The convolutions F * n (x) are also step functions and their jumps f * n k at τk are related by the recursion formula: Thus, the task of computing approximately the integrals in Equation (4) depends on computing the convolution powers f * n = ( f * n k ) of the sequence f = ( f k ).

Computing Convolutions via the Discrete Fourier Transform
The method for computing convolutions by means of the forward and inverse discrete Fourier transforms (DFT) is well known [15].

Computing the Truncated Convolutions
The procedure described above allows computing consecutively convolutions (Equation (5)).
This requires the calculation of the DFTs Φ (n) = (Φ Equation (5) can be quickened further in the following way. Note that there is no need to calculate the values of f * n k for k > K since they are not present in Equations (4) and (5). For any given sequence a = (a 0 , a 1 , . . . , a w ) of length w ≥ K, let Tr(a) = (a 0 , a 1 , . . . , a K ) denote the sequence of its first K + 1 members. Obviously, probabilities of Equation (2) will remain unchanged if we replace f * n with their truncations g (n) = Tr( f * n ) in Equations (2) and (3). It follows from Equation (5) that the truncated sequences g (n) satisfy the recursion relation: g (1) = Tr( f ), g (n) = Tr(g (n−1) * g (1) ), n = 2, 3, . . . , L. There are two options for calculating truncated convolution powers f * n , n = 2, 3, . . . , L: calculation of convolution powers using the recursion of Equation (5) with their subsequent truncation, and the calculation of the truncated convolution powers using the recursion of Equation (6). In the first case the forward and inverse DFTs deal with sequences with length M n > nK, n = 2, 3, . . . , L, while in the second case DFTs deal with sequences of equal size M 2 . For large L it radically decreases computational time because the total length (L − 1)M 2 of sequences g (n) , n = 2, 3, . . . , L, is much smaller than the total length M 2 + M 3 + . . . + M L of sequences f * n , n = 2, 3, . . . , L. Computation time of sequences g (n) can be substantially reduced further using FFT with M 2 set equal to a power of 2 [15], for example:

Computing the Stationary Distribution
From the above it follows that one can compute the stationary distribution of a resource queueing system via FFT in the following steps:

1.
Choose a whole number K and a discretization step size τ = V/K.

2.
Choose a step function F(x) with jumps of size f k at τk, k = 0, 1, . . . , K that would approximate CDF G(x).

4.
Define the functions

5.
Obtain the stationary state probabilities p i , i ∈ X, of the system with unlimited resources. 6.
Use distribution p i , i ∈ X, and the approximations G * n (x) ≈ F * n (x) given by Equations (2) and (4) to compute the stationary distribution of the system with limited resources.

Numerical Examples
To approximate the resource requirement CDF G(x), it is convenient to use one of the previously mentioned functions (see Figure 1): We use F 3 (x) because it approximates G(x) closer than F 1 (x) and F 2 (x). We also consider a new approximation: which, in the interval kτ ≤ x < (k + 1)τ, equals the average value of G(x) obtained approximately using the trapezoidal rule [30]: The plot of F 4 (x) is similar to F 3 (x) and, therefore, not shown in Figure 1. using the trapezoidal rule [30]: The plot of 4 () Fx is similar to 3 () Fx and, therefore, not shown in Figure 1. To verify the accuracy of the proposed method, it is necessary to compare the obtained approximate values of truncated convolution powers with their exact values G * n (x), 0 ≤ x < V. The gamma distribution is well suited for these purposes because it has a useful property facilitating computation of exact values of convolution powers: Γ * n α,β (x) = Γ nα,β (x).
We compare the exact values of G * n (x) = Γ * n α,β (x) with their approximations F * n 3 (x) and F * n 4 (x) obtained using the method proposed in Section 3.2. The gamma distribution was calculated via the incog procedure from reference [31], and the convolutions were found via FFT using the ffako procedure from reference [32].
Now we consider the case where the total amount of system resources V = 100 and the interval [0, V] is divided into K = 10 5 subintervals. Figure 2 shows the approximation errors 4 were under 0.0001 and the difference between them was negligible. Therefore, only results for s > 1 are shown in Figure 2. Computational errors grew with the coefficient of variation and have maximum value mainly for small n. Table 1 shows the maximum computational errors for the cases depicted in Figure 2.  Table 1 shows the maximum computational errors for the cases depicted in Figure 2.

Discussion
The levels of light and heavy load in resource queueing systems can vary significantly since they depend on specific for these systems performance metrics. When speaking of resource load, we refer to: which allows estimation of the extent to which the system's resources suffice when it contains n customers. The resource load grows with n. For any given resource load R the corresponding maximum system capacity under which the resource load does not exceed R is given by L = R V m .
In the plots of Figure 2, three ranges of n can be clearly distinguished: those of light, moderate, and heavy resource load. Light and high load areas are the areas at the beginning and the end of the n axis respectively, where the approximation error rapidly decreases. The light load area is the area with poorest computational accuracy, especially if the variance of the resource requirements is large (see Table 1). Apparently, this is because for R n > 1 the values of G * n (x) and F * n i (x) in the interval [0, V] approach 0 as n grows large. In the range of moderate resource load, which is located between light and high load areas, the computational accuracy is mostly high, although it may decrease when approaching the heavy load area. The proposed discretization technique via function F 4 (x) yields better or similar results as via function F 3 (x). All in all, FFT permits computing long series of truncated convolution powers with sufficient accuracy. Funding: The publication has been prepared with the support of the "RUDN University Program 5-100" (recipient K.E.S., supervision and project administration). The reported study was partially funded by RFBR, project number 18-07-0576 (Y.V.G., review and editing) and project number 19-07-00933 (Y.V.G., original draft preparation).