You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
While layered implements rudimentary load-sum based fairness mechanism between layers, this in practice doesn't really work as the load sums are calculated without the necessary infeasible weight adjustments. In all the current production deployments, the --no-load-frac-limit option is used to disable the mechanism. This leaves no mechanism to limit consumption of any given layer and can lead to various starvation scenarios under contention.
Now that the solution library for infeasiable weights is available in scx_utils, it should be possible to implement load fraction based layer fairness. However, production experiences indicate that what'd be more useful is simple per-layer weights. So:
Remove load fraction based layer fairness mechanism. Maybe leave the command line option for backward compatibility for the time being?
Implement explicit per-layer weight. Follow the convention where 100 is the default weight, 1 minimum, 10000 maximum. Under contention, this should guide how many CPUs each layer gets and also should limit preemption when the layer is over its quota.
Use the same mechanism to protect LO_FALLBACK_DSQ and revive the use of it.
The text was updated successfully, but these errors were encountered:
While layered implements rudimentary load-sum based fairness mechanism between layers, this in practice doesn't really work as the load sums are calculated without the necessary infeasible weight adjustments. In all the current production deployments, the
--no-load-frac-limit
option is used to disable the mechanism. This leaves no mechanism to limit consumption of any given layer and can lead to various starvation scenarios under contention.Now that the solution library for infeasiable weights is available in
scx_utils
, it should be possible to implement load fraction based layer fairness. However, production experiences indicate that what'd be more useful is simple per-layer weights. So:LO_FALLBACK_DSQ
and revive the use of it.The text was updated successfully, but these errors were encountered: