# IEEE 802.11 ax OFDMA Resource Allocation with Frequency-Selective Fading
## 5 Scheduling
### Priority Calculations  
Our greedy algorithm uses \(\lambda\) as priorities: the STAs with higher \(\lambda\) values obtain more resources. Such priorities can be calculated in different ways. In this paper, we consider 802.11 ax variants of three very popular schedulers.  
The simplest method is called Max Rate (MR), and its goal is to maximize the network throughput. MR aims to transmit the largest amount of data regardless of the specific STAs that will transmit. Utility function increment \(\lambda\) for MR is defined as follows:  
\[\lambda(s,r,c)=rate(r,c), \tag{5}\]  
where \(rate(r,c)\) is the transmission rate in the RU \(r\) at the MCS \(c\), corresponding to Table 1. As mentioned before, \(\lambda(s,r,c)=0\) if STA \(s\) cannot transmit in RU \(r\) at MCS \(c\). This case is not mentioned in the expressions for \(\lambda\) to simplify the notation. Hereinafter, we assume that the data flows transmitted by the STAs are long enough so that we can neglect the possible effects caused by the variance of flow durations at the STAs, e.g., when STAs that transmit long flows and very short flows are served simultaneously using OFDMA.  
The next approach is called Proportional Fair (PF). This scheduler takes into account not only the amount of data that the STA can transmit, but also the amount of data that the STA has already transmitted by this moment. Therefore, the STA that has less transmitted data gets higher priority, and \(\lambda\) is calculated as  
\[\lambda(s,r,c)=\frac{rate(r,c)}{Q(s)}, \tag{6}\]  
where \(Q(s)\) is the average data rate (service rate).  
The last considered scheduler is Shortest Remaining Processing Time (SRPT). It aims to minimize the flow transmission time, i.e., the time from the flow arrival to the moment the last part of the flow is transmitted. In this paper, we consider the following version of SRPT [8]. The STAs are first sorted by the following values:  
\[\lambda_{order}(s)=\frac{D(s)}{rate(r_{\textit{entire}},e_{\textit{best}})}, \tag{7}\]where \(D(s)\) is the remaining amount of data in the flow, \(r_{entire}\) is the RU which occupies the entire channel, and \(c_{best}\) is the fastest MCS at which STA can transmit in \(r_{entire}\). The sorting value \(\lambda_{order}(s)\) in that case is the time needed to transmit the flow if the STA is allocated the entire channel. Small \(\lambda_{order}(s)\) value means that the STA \(s\) is capable of transmitting the remaining data quickly, so sorting for a greedy algorithm should be in the ascending order (not the descending one as in previous cases).  
The sorting value \(\lambda_{order}(s)\) does not depend on MCS, so the sorting order is the same for all MCSs. In addition, after the RU assignment if constructed, instead of (4) the scheduler considers the following total utility function which should be optimized:  
\[\sum_{(s,r)\in X}\frac{D(s)-\min\{D(s),\tau_{max}\times rate(r,c)\}}{rate(r_{ entire},c_{best})}+\sum_{(s,r)\
otin X}\frac{D(s)}{rate(r_{entire},c_{best})}, \tag{8}\]  
where \(\tau_{max}=5484\) us is the maximal transmission time according to the standard. The product \(\tau_{max}\times rate(r,c)\) is the maximal amount of data which the STA can transmit if it is assigned to RU \(r\) at MCS \(c\). Therefore, the numerator of the left term is the amount of data which remains after transmission, i.e., it is the new value of \(D(s)\). Therefore, expression (8) defines the total time to transmit all flows if each STA is assigned to the entire channel RU. The scheduler chooses such an MCS \(c\) and a respective assignment \(X\) that the value of (8) is minimal.