An Analytical Performance Evaluation Tool for Wireless Access Points with Opportunistic Scheduling

This paper introduces a performance analysis tool for a wireless access point serving multiple mobile nodes. The channel conditions vary over time and the opportunistic scheduler in the access point can account for the channel conditions as well as for the number of backlogged packets for the different mobile nodes. The tool allows for fast and accurate calculations of the main performance measures of the system. Calculations are based on a Maclaurin series expansion of the solution of the Markov process that describes the channel conditions and the queue contents for the different mobile nodes. The Maclaurin series expansion only requires the inversion of sparse block triangular matrices, which is considerably faster than directly calculating the solution. The tool provides a user interface for defining the network and channel parameters and can be used for assessing the efficiency of opportunistic schedulers, or for optimizing system parameters and scheduling policies of such schedulers. CCS Concepts •Mathematics of computing→Queueing theory; Markov processes; •Networks → Network performance analysis;


INTRODUCTION
The analytical performance analysis of a wireless access point (AP) with an opportunistic scheduler under varying channel conditions is a challenging task.A Markov model for such an access point needs to track the number of backlogged packets for every mobile user it serves, which quickly results in state-space explosion, rendering a direct solution of the Markov model computationally infeasible.Hence, it is not surprising that most of the existing studies of access points rely on simulation.Only a few authors assess performance of opportunistic schedulers by analytic means [2,7,8].
The tool presented in this paper relies on the analytical method presented in [3] and briefly reviewed below.The tool provides a convenient user interface for manual input of the network and channel parameters, and hides the details of the method.As such, this tool allows one to compare the performance of different scheduling policies, system configurations or channel properties in a practical setting.The analytical performance analysis is expected to be helpful for fast and precise performance assessments when designing a new scheduling policy or when choosing the system parameters under given performance requirements.
In the remainder of the paper, we briefly explain the method for assessing the performance in section 2.Then, the implementation of the software tool is discussed and illustrated by an example in section 3 before drawing conclusions in section 4.

METHODOLOGY
In this section we first introduce the Markov model of the system, accounting for the buffer behaviour at the wireless AP and the transmission channel variability.Afterwards, we outline the main expressions for its numerical solution.

System model
We consider an AP serving K users as depicted in Figure 1.Each mobile node has its dedicated buffer, with capacity C k for node k.Let C k = {0, . . ., C k } and let C = C1×. ..×C k .We make the following assumptions: • There is an exogenous continuous-time Markov process M (t) that modulates the state of the wireless trans- Figure 1: Queueing model for an access point mission channel.Let M = {1, 2, . . ., M } be the state space of this Markovian background process and let αij denote the transition rate from state i to state j, i = j, i, j ∈ M.
• Packets for the kth mobile node arrive in accordance with a Poisson process with arrival rate λ k .
• Let n k be the number of packets in the kth buffer and let n be the vector with elements n k , k = 1, . . ., K. For background state j ∈ M, and queue content n ∈ C, packets leave the kth buffer with rate µ k (n, j).

Analytical method
The state space of the Markovian queueing model introduced above is C × M. Let π(n, j) be the stationary probability that there are n k packets waiting for the kth mobile node and that the channel is in state j.The balance equations are easily obtained: for n ∈ C and j ∈ M. We here defined e k to be the row vector of length K with its kth element set to 1 and all other elements zero, and 1 {X} denotes the indicator function of the event X.For ease of notation, let π(n) = [π(n, 1), . . ., π(n, M )], then we get the equivalent set: with M k (n) the M × M diagonal matrix with diagonal elements µ k (n, j), with IM the M × M identity matrix and with A the generator matrix of M (t).

Series expansion
The size of the state space of the Markov chain at hand is For a moderate number of buffers, directly solving the balance equation for the stationary vector π = [π(n, j)]n∈C,j∈M is computationally demanding.We here show that by considering the Maclaurin series expansion of the stationary solution in some system parameter, we can get an accurate estimate of the performance.Expansions of interest for the access point are discussed in the following subsections.
For a system parameter , consider a Markov chain with generator matrix Q = Q (0) + Q (1) and corresponding stationary distribution vector π ( ) , such that, ( Here e is a column vector of ones.We further assume that the Markov chain is stationary ergodic for all ∈ [0, m).By Cramer's rule, one easily finds that π ( ) is an analytic function of in an open interval around = 0. Therefore, let πn be the nth term in the series expansion of π ( ) , Plugging the series expansion (4) in (3) and identifying equal powers of , we get (1) .
Complementing the former set of equations with the normalisation condition, for n > 0 allows for recursively calculating the terms πn of the series expansion.For a generic matrix Q (0) , there is no gain in computational complexity as one still needs to invert this matrix while solving for the next term in the series expansion.However, for the Markovian queueing model at hand, Q (0) has additional structure, both for the expansion in the arrival rate λ as in the server rate µ.In both cases, Q (0) is a block triangular matrix which reduces the complexity of its inversion.

Overload-traffic analysis
Assume that the service rate for every queue depends on a rate µ: µ k (n, j) = µμ k (n, j).We can now consider the balance equation for µ → 0. In particular we consider the following series expansion of the steady-state probabilities: For ease of notation, let Mk (n) = µ −1 M k (n).Note that Mk (n) does not depend on µ.Plugging the former expression into equation ( 2) and comparing terms in µ i , we get Plugging n = 0 = [0, 0, . . ., 0] and i = 0 in the former equation and post-multiplying with e leads to π0(0)e = 0 , which implies π0(0) = 0 as the elements of π0(0) are nonnegative.Using the same arguments, one then shows by iteration that for all n ∈ C \ {c}, we have π0(n) = 0 and π0(c)A = 0.Here c = [C1, . . ., CK ] is the vector representing full queues for all mobile nodes.Together with the normalisation condition n∈C π0(n)e = 1, this shows that π0(c) = a, the steady-state solution of the Markov process M (t).For the higher-order terms (i > 0), we have For n = c, the matrix on the left-hand side is invertible.Hence, we can calculate the probabilities πi(n) in lexicographical order.For n = c, we get and the matrix on the left-hand side is not invertible.A solution of this equation takes the form for any κi.Here, A # = (A + ea) −1 − ea is the group inverse of A. Finally, the remaining unknown κi follows from the normalisation condition In view of the calculations above, one easily verifies that the numerical complexity of the algorithm is O(N M 2 S) as there are S/M blocks, N terms in the recursion and the operations with blocks have complexity O(M 3 ).

Light-traffic analysis
Similar arguments can be developed for the case of lighttraffic conditions, that is, we set λ k = λ λk and consider an expansion of the form In view of the balance equation, the terms of this series expansion adhere For i = 0, we can show that π0(n) = 0 for n = 0 and π0(0) = a.For i > 0 and n = 0, we can recursively calculate all πi(n) in reverse lexicographical order as the matrix on the left-hand side is invertible.For n = 0, we get where κi can be determined from the normalisation condition (13).We refer to [3] for the detailed analysis.

Modelling of wireless environment
At the wireless AP knowledge of the transmission environment conditions is provided by user nodes reporting their channel state information (CSI).Depending on the system organisation CSI feedback may take different forms including the current signal-to-noise ratio (SNR) level at the receiver, the available service rates, the probability of correct transmission or any other representative value related to the channel quality [5].
Limiting the number of parameters of the channel, we assume that the characteristics of all transmission channels are identical and channel qualities at the receivers can either vary independently or in correlated manner.We first focus on the Markov process which characterises a single channel.Let H be the number of states of the Markov process Hk (t) for the kth channel and let g = [g1, . . ., gH ] and Ã be the vector of channel qualities in the different states and the generator matrix of the Markov process Hk (t), respectively.Specifically, in this work the element g h of the vector g corresponds to the ratio between the available transmission rate in the hth channel state and the maximally achievable transmission rate.Thus, the value g1 = 0 corresponds to poor channel quality with no transmission, value gH = 1 corresponds to excellent channel conditions associated with the maximum achievable transmission rate.The other elements of g belong to the interval (0 . . . 1) and stand for the attenuation levels of the channel quality depending on the SNR.In such a way we represent the channel qualities by means of adjustable coefficients and without being bounded to certain transmission rates or the type of CSI.The channel transition rate matrix Ã of the finite-state Markov chain (FSMC) for a single user under the assumption of a Rayleigh channel can be defined according to [10].The additional parameters defining the channel model are: the maximum transmission rate rt of the system, the average SNR level of the Rayleigh channel SN R0, and the Doppler spread Fm, which is caused by the users' motion and increases the sym-bol error probability.However, [10] assumes that channel changes are at discrete time instants.To obtain a corresponding continuous-time Markov model, we introduce an additional rate ε and assume that the channel changes in accordance to [10] on the events of a Poisson process with rate ε .Finally, to obtain the generator matrix A of the FSMC corresponding to the overall channel process M (t) for a multiuser system with K identical independent channels, we apply the Kroneker sum ⊕: In order to introduce correlations between the qualities of the channels we have to alter the elements of A according to the provided correlation matrix R.

Examples of schedulers
For demonstrating purposes, we have implemented several schedulers including purely opportunistic schedulers, some weighted schedulers as well as non-opportunistic schedulers.
A first example of a greedy opportunistic scheduler is the MaxRate scheduler.The scheduler serves node k * (t) at time t, with and where g k (t) stands for the channel quality for user k at time t, which depends on the state of the channel.MaxRate defines a function k(j) such that µ k (n, j) = 0 for all k = k(j).The scheduler was first considered in [6] for single-cell multiuser communication.
The MaxRate scheduler can be extended such that the AP chooses two users for simultaneous service.That is, such a scheduler always divides the transmission rate between two users with the best channel conditions.This is possible in time division multiple access (TDMA) systems with code division multiple access (CDMA) within each time slot.The scheduler serves nodes k * 1 (t) and k * 2 (t) at time t, with This extension of MaxRate defines functions k1(j) and k2(j) such that µ k (n, j) = 0 for all k / ∈ {k1(j), k2(j)}.In contrast to MaxRate, MaxWeight selects the user with the maximum weight, which is calculated as the product of queue length and channel quality, see [1].MaxWeight selects user k * (t) at time t, with As MaxWeight also accounts for the queue length, there is now a function k(n, j), such that µ k (n, j) = 0 for all k = k(n, j).
Schedulers may also not account for the channel state at all.An example of a non-opportunistic scheduler is one that chooses the longest queue.The scheduler is shown to be stable for dynamic server allocation to parallel queues with randomly varying connectivity in [9] and called the Longest Connected Queue (LCQ).The scheduler serves node k * (t) at time t, with As LCQ accounts for the queue length, there is now a function k(n), such that µ k (n, j) = 0 for all k = k(n).Notice that also in this case the actual service rate µ k(n) (n, j) for node k(n) does depend on the channel condition.Finally, we mention two schedulers which are inspired by discriminatory (DPS) and generalised processor sharing (GPS) [4], but with weights set to reflect the channel conditions.The service rate then takes one of the following forms: , where g jk is the channel quality for user k when the overall channel state is j, and the parameter βj describes the overall channel condition βj = (1/K) K k=1 g jk .

THE TOOL IMPLEMENTATION
Figure 2 depicts the main components of the performance analysis tool.The graphical user interface (GUI) front end of the tool is implemented in c#, and calls python scripts and c++ functions in order to set up the system and channel models, and to calculate the performance measures, respectively.Another python script which calls L A T E X then formats the results and creates a report in portable document format.
Via the GUI the various parameters of the model and the analysis method are set.The input parameters can be divided into (i) buffer parameters, (ii) channel parameters and (iii) parameters of the series expansion method.The buffer parameters include (i) the number of mobile nodes K, (ii) the buffer capacity C for the nodes and (iii) the scheduling discipline used.Note that the current version of the GUI considers the same capacity C for all nodes.Predefined scheduling disciplines are the MaxRate, MaxRate with simultaneous service of two queues, MaxWeight, LCQ, DPS and GPS schedulers mentioned in section 2.7.The channel parameters include the number of states H of a single channel, and several parameters needed to construct the channel generator matrix A. The main model parameters that one can manually change via the GUI are listed in Table 1.
The model parameters inserted via the GUI are then exploited in the various predefinition blocks.Here, based on the given channel parameters the channel is represented by its transition rate matrix A, and based on the chosen scheduling policy, the buffer parameters and the channel qualities the service rate matrix µ is constructed.The generator matrix A is formed in the corresponding block according to [10], as explained in section 2.6.In case of correlated channels, the correlations are added based on the given correlation matrix R. Next, the chosen scheduler can be analysed.The performance analysis block calculates the series expansion terms of the steady-state probability vectors for both the overload and light-traffic cases according to (10) and ( 14).The tool also includes functions for simulation in order to estimate the region of convergence of the analytical results.Via the GUI the user can define several additional parameters for the analysis block, such as the number of terms for the series expansions and the number of samples for the simulation.The user can also change the mode of the performance analysis & simulation block, and manually turn off/on simulation or analytical analysis for light or/and overload regimes.The interface window is shown in Figure 3.
The output report generated by the analysis tool consists of plots of the performance measures, namely of the mean buffer content E[Q] and the blocking probability P b .The output format can be adjusted for a better visual representation by changing the expansion terms to plot and the range of the axes in the application window.
Additional functional buttons allow saving the results and input parameters in a separate folder, opening the folder with previously results, uploading input parameters from any given configuration file and the correlation matrix from any text file, as chosen via the dialogue window.Alternatively, the desired correlation matrix can be inserted manually or randomly generated.In both cases the matrix is checked to be positive semidefinite.
For the sake of demonstration Figure 4 shows the output report for the configuration shown in Figure 3.The output file duplicates the input system information and provides plots with analytical estimations and simulation results of the performance measures in the given ranges.

CONCLUSIONS
We have introduced a practical tool for the performance analysis of a multiuser wireless AP operating under varying channel conditions.The tool is implemented as a windows application and presumes the manual input of the AP buffer and channel model parameters through a GUI.The underlying analytical method focuses on the buffer analysis in light and overload traffic regimes.The channel dynamics are modelled by a Markovian exogenous process.To solve the entire continuous-time Markov chain and cope with the prohibitively large size of the state space that is inherent to queueing systems with multiple finite-capacity buffers, series expansion techniques are used.The computational complexity of the suggested method is O(N M 2 S), with N the order of the expansions, M the number of channel states and S the size of the state space of the overall Markov chain.As output, the designed tool gives the performance measures of the system under the given conditions, collected in a portable document format.The tool can be used for a theoretical study of the efficiency of a scheduling policy as well as for the performance evaluation of practical systems.

Figure 2 :
Figure 2: Structure of the performance evaluation tool

Table 1 :
Model parameters