Is there much theory behind why 8 tends to be a good ratio? Or is it simply based on repeated observations that 8 tends to get good results?
My guess is that this ratio stems largely from random details of hardware and software costs. If, however, there was more of a reason, that would interest me.
No magic here, but to build some intuition...
Imagine you have 10 cores and 11 jobs of equal length.
Now imagine you have 10 cores and 81 jobs of equal length.
In that hypothetical example it makes sense, because with too few jobs of equal length we can't distribute as evenly over the cores and end up with leftover work/idle processors, while with too many there ends up being overhead, as the last point of the slide points out.
So if that's the rationale, I would guess the variation might depend more on the distribution of job length than hardware details, since increased granularity helps balance out increased length variability.
@temmie. Yes, I agree. The distribution of jobs lengths compared to the total amount of work is the critical factor here. You want to make sure that all the resources are working all the time -- and so if one job is large compared to the total amount of work, then that's when we can get into workload imbalance problems.