Summary

Here is a quick summary for you!

We have seen various approaches to multiprocessor scheduling.

The single-queue approach (SQMS) is rather straightforward to build and balances load well but inherently has difficulty with scaling to many processors and cache affinity.

The multiple-queue approach (MQMS) scales better and handles cache affinity well, but has trouble with load imbalance and is more complicated.

Whichever approach you take, there is no simple answer: building a general-purpose scheduler remains a daunting task, as small code changes can lead to large behavioral differences. Only undertake such an exercise if you know exactly what you are doing, or, at least, are getting paid a large amount of money to do so.

Get hands-on with 1200+ tech skills courses.