Scheduling

Since the spectrum is shared among multiple users, resources must be allocatedin a fair and efficient manner.On the one hand, it is desirable to allocate resources uniformly across users.On the other hand, in the presence of fading, it is crucial to schedule userswhen their channel conditions are favorable.
The proportional fairness (PF) scheduler achieves both objectives bymaximizing the sum of logarithms of the long-term throughputs\(T(u)\)across the users\(u=1,2,\dots\):
For a usage example of user scheduling in Sionna, refer to theProportional Fairness Scheduler notebook.
- classsionna.sys.PFSchedulerSUMIMO(num_ut,num_freq_res,num_ofdm_sym,batch_size=None,num_streams_per_ut=1,beta=0.98,precision=None)[source]
Schedules users according to a proportional fairness (PF) metric in asingle-user (SU) multiple-input multiple-output (MIMO) system, i.e., at mostone user is scheduled per time-frequency resource.
Fixing the time slot\(t\),\(\tilde{R}_t(u,i)\) istheachievable rate for user\(u\) on the time-frequencyresource\(i\) during the current slot.Let\(T_{t-1}(u)\) denote the throughputachieved by user\(u\) up to and including slot\(t-1\).Resource\(i\) is assigned to the user with the highest PF metric,as defined in[Jalali00]:
\[\operatorname{argmax}_{u} \frac{\tilde{R}_{t}(u,i)}{T_{t-1}(u)}.\]All streams within a scheduled resource element are assigned to the selected user.
Let\(R_t(u)\) be the rate achieved by user\(u\) in slot\(t\).The throughput\(T\) by each user\(u\) is updated viageometric discounting:
\[T_t(u) = \beta \, T_{t-1}(u) + (1-\beta) \, R_t(u)\]where\(\beta\in(0,1)\) is the discount factor.
- Parameters:
num_ut (int) – Number of user terminals
num_freq_res (int) – Number of available frequency resources.A frequency resource is the smallest frequency unit that can beallocated to a user, typically a physical resource block (PRB).
num_ofdm_sym (int) – Number of OFDM symbols in a slot
batch_size (list |int |None (default)) – Batch size or shape. It can account for multiple sectors inwhich scheduling is performed simultaneously. IfNone, the batch sizeis set to [].
num_streams_per_ut (int (default: 1)) – Number of streams per user
beta (float (default: 0.98)) – Discount factor for computing the time-averaged achieved rate. Must bewithin (0,1).
precision (None (default) | “single” | “double”) – Precision used for internal calculations and outputs.If set toNone,
precisionis used.
- Input:
rate_last_slot ([batch_size, num_ut]) – Rate achieved by each user in the last slot
rate_achievable_curr_slot ([batch_size, num_ofdm_sym, num_freq_res, num_ut],tf.float) – Achievable rate for each user across the OFDM grid in thecurrent slot
- Output:
is_scheduled ([batch_size, num_ofdm_sym, num_freq_res, num_ut, num_streams_per_ut],tf.bool) – Whether a user is scheduled for transmission for each available resource
- propertybeta
Get/set the discount factor for computing the time-averagedachieved rate. Must be within (0,1).
- Type:
float
- propertypf_metric
Proportionalfairness (PF) metric in the last slot
- Type:
[batch_size, num_ofdm_sym, num_freq_res, num_ut],tf.float (read-only)
- propertyrate_achieved_past
\(\beta\)-discounted time-averagedachieved rate for each user
- Type:
[batch_size, num_ut],tf.float (read-only)
References:
[Jalali00]A. Jalali, R. Padovani, R. Pankaj, “Datathroughput of CDMA-HDR a high efficiency-high data rate personalcommunication wireless system.” VTC2000-Spring. 2000 IEEE 51st VehicularTechnology Conference Proceedings. Vol. 3. IEEE, 2000.