The reweight-by-utilization function is important for maintaining a tight distribution of utilizations across lots of nodes. However, it suffers when the cluster utilization is still low and the per-osd utilizations are very noisy. Waiting until the data set grows only means that more data will need to move in the end. It is also important for many workloads to balance performance, not just disk usage.
Since object distribution across PGs is very good, we can do the same reweighting logic but use the pgs per osd instead of reported bytes stored per osd.
This feature likely amounts to some minor refactoring of the existing code to use a different input, and then a small amount of work to wire up the new command.
This request came out of an architectural discussion for a very large scale deployment.