Long ago, simply scheduling work into one processor was a difficult (and therefor interesting) topic. Since the cost of both the scheduling decisions themselves and the context switches was relatively high, there were serious tradeoffs between scheduling "well" and scheduling efficiently.
But with faster CPU's the relative cost of the decisions and the context switches is reduced. With multiple cores, the difficult trade offs between throughput and responsiveness isn't as serious.
But now, systems in which memory access speeds are unequal are more common. So those drive a new set of complicated scheduling issues. How much should/can you bias scheduling in favor of putting a thread where its memory can be accessed fastest? How much of an imbalance might be enough to trigger drastic action such as moving pages of memory contents from processors getting too much high priority work to those with only low priority threads ready?