 user. The algorithm allocates users with smallest workloads first in order to minimize the slow truck effect, where users with a larger workload would delay others with a small workload. The algorithm also tries to minimize the time domain allocation and maximize the frequency domain allocation in order to minimize the latency. A simple example is shown in Figure 10.56 with four UEs having data in the buffer. UE1 and UE2 have only small data amounts in the buffer, UE3 has slightly more data, and UE4 has a large amount of data. UE1 and UE2 are allocated two-symbol mini-slots to minimize their observed latency, UE3 is allocated the next four symbols, and UE4 is served last. All allocations are maximally using resources in the frequency domain as long as enough data is available in the buffer. The performance of slot-based and mini-slot based resource allocations is compared, and the regime in which each of these approaches is optimal is determined. All users are scheduled on a slot (14-symbol duration) boundary. The reference case is slot-based resource allocation where each user allocation has a fixed duration of 14 symbols. Dynamic mini-slot allocation can utilize 2-, 4-, 7-, or 14-symbol allocation. A user may be scheduled multiple times within a slot under this scheme. Simulation results are shown in Figure 10.57 for an FTP traffic model with file sizes ranging from 1 kB to 10 kB, and the 20-MHz cell TDD cell loading ranging from 10 to 40 Mbps. The results show that flows with small file sizes and low loads provide the best gain with mini-slot-based scheduling. A gain as high as 130% is observed with 1 kb files. Large gains are due to 2 symbols 4 symbols 7 symbols Figure 10.56 Example user multiplexing in time and frequency domains. 10 5G Performance Gain of dynamic mini-slot allocation VS. slot-based Load 10 Mbps Load 20 Mbps Load 30 Mbps Load 40 Mbps Figure 10.57 Gain of dynamic mini-slot allocation compared to static-slot-based allocation. the use of mini-slots to transmit the packet, as opposed to the use 