It's possible to sort nodes according to cores and the system can normally prefer nodes with fewer cores when placing new replicas. However, it may not give suggestions to move off replicas , if the system is already in an unbalanced state.
The following rule may help achieve such a balanced distribution of cores
The value of cores is computed as total_cores/total_nodes. for e.g: if there are 28 cores in total and there are 5 nodes . the value of cores= 28/5 = 5.6. This means a node may have either 5 cores or 6 cores.
It's possible that this may cause a conflict with other collection-specific rules such as
It can be remedied by making this rule , not strict.