Proportionally fair


Proportional fair is a compromise-based scheduling algorithm. It is based upon maintaining a balance between two competing interests: Trying to maximize total throughput of the network while at the same time allowing all users at least a minimal level of service. This is done by assigning each data flow a data rate or a scheduling priority that is inversely proportional to its anticipated resource consumption.

Weighted fair queuing

Proportionally fair scheduling can be achieved by means of weighted fair queuing, by setting the scheduling weights for data flow to, where the cost is the amount of consumed resources per data bit. For instance:
Another way to schedule data transfer that leads to similar results is through the use of prioritization coefficients. Here we schedule the channel for the station that has the maximum of the priority function:


By adjusting and in the formula above, we are able to adjust the balance between serving the best mobiles more often and serving the costly mobiles often enough that they have an acceptable level of performance.
In the extreme case the scheduler acts in a round-robin fashion and serves all mobiles equally often, with no regard for resource consumption. If and then the scheduler will always serve the mobile with the best channel conditions. This will maximize the throughput of the channel while stations with low are not served at all. Using and will yield the proportional fair scheduling algorithm used in 3G networks.
This technique can be further parametrized by using a "memory constant" that determines the period of time over which the station data rate used in calculating the priority function is averaged. A larger constant generally improves throughput at the expense of reduced short-term fairness.