The best that an implementation can do is ensure that each process works on roughly the same problem size.
In terms of performance, the best an execution can do is to ensure that each process manages approximately the same scale of problems.