# A Multi-Service Adaptive Semi-Persistent LTE Uplink Scheduler for Low Power M2M Devices
## 6 Results
### Multi-Service Adaptive SPS Algorithm
Since the dynamic scheduler does not consider delay budget values for scheduling decisions, the delay values for class E packets are much lower than their PDB i.e., 250 ms. As the request inter-arrival gap for class E traffic is much less than class A traffic, there is less packet queuing in class E UEs in the dynamic case, allowing the class E packets to achieve much lower delay than they actually can tolerate. The adaptive SPS utilizes the PDB value to modulate \(T_{SPS,E}\) by controlling \(f_{S}\), which provides optimum delay performance as per the specific requirements of class E.  
The uplink delay CDFs for class E traffic are shown in Figure 13 where the mean \(1/\lambda_{S}\) equal to 20% of the PDB i.e., 50 ms. For 5 times higher request arrival rate, the delay experienced by the packets for the dynamic scheduler is higher than it was in Figure 12. But it is interesting to note that still 86% class E packets meet their PDB value of 250 ms whereas in the case of class A traffic with similar intensity (Figure 11), only 32% dynamically scheduled packets meet their PDB. Therefore, for dynamic scheduling, there is more probability of meeting the delay constraints for traffic with higher delay budget values. This observation is later utilized to prioritize between traffic classes for appropriate scheduling decisions. In Figure 13, the higher resource requirements per allocation and longer values of \(T_{SPS,E}\) cause performance degradation for \(f_{S}=0.6\) and 0.8. Nonetheless, 95% of the class E packets satisfy their delay budget values for \(f_{S}=0.4\). Figure 11: Delay CDF for traffic class A (\(\frac{1}{\lambda_{S}}=0.2T_{PDB,S}\)). Figure 14 compares the performance of the multi-service adaptive SPS algorithm and the dynamic scheduler. For all the simulation runs, \(f_{S}=0.4\) is selected for optimum delay performance, so the value of \(T_{SPS,S}=0.4T_{PDB,S}\) is fixed for each traffic class \(S\). The mean request inter-arrival gap \(1\lambda_{S}\) is varied from \(2T_{SPS,S}\) to \(0.5T_{SPS,S}\). Hence the horizontal axis shows the mean request arrivals per SPS period increasing from 0.5 to 2. The total number of M2M UEs for 5 traffic classes is 90, where each class is assigned the number of UEs equal to their full capacity \(N_{S}\) for \(f_{S}=0.4\). Figure 12: Delay CDF for traffic class E (\(\frac{1}{\lambda_{S}}=T_{PDB,S}\)). Figure 13: Delay CDF for traffic class E (\(\frac{1}{\lambda_{S}}=0.2T_{PDB,S}\)). As observed for the adaptive SPS algorithm, more than 96% delay budget satisfaction is achieved even when the request arrival rate is increased up to \(2/_{TSPSS}\) while for the dynamic scheduler, only about 51% packets meet their respective delay budgets. Figure 15 shows the uplink data channel i.e., PUSCH and downlink control channel i.e., PDCCH utilization comparisons for the adaptive SPS and the dynamic scheduler. As expected from the virtue of semi-persistent scheduling, the adaptive scheduler shows much lower PDCCH utilization values than the dynamic one for all simulation runs, only increasing slightly from 16% to 27% mean value. The Radio Resource Control (RRC) messages, MCS updates and re-transmissions still require explicit PDCCH grants, making the PDCCH utilization higher with increasing arrival rates. The dynamic scheduler consumes PDCCH resources for every allocation thus increasing rapidly with rising arrival rate having more than 50% mean PDCCH utilization for maximum arrival rate. From the mean PUSCH utilization values showed in Figure 15, it is interesting to observe that initially for low arrival rates i.e., \(\lambda_{S}<1/_{TSPSS}\), the resource utilization was slightly higher for the adaptive scheduler than the dynamic one. This is due to the request inter-arrival gap being greater than the gap between successive SPS allocations. As per Equation (1), at least 1 PRB is consumed per adaptive SPS allocation even if the latest BSR was zero.