[ Thanks to A
friend for this link. ]
“The search for the perfect kernel scheduler is like
searching for the Holy Grail. Linux 2.6 started with the O(1)
scheduler, which solved a lot of issues for real-time processes.
However, it didn’t scale to large NUMA
(non-uniform memory access) machines. The Linux kernel can scale to
4096 processors. Not all the processors have to share the same bus
architecture and memory. Rather, a machine could consist of
multiple 16 to 24 processor systems connected by a high-speed bus.
This is the world of NUMA, as each sysem has its own memory that
can be shared with other systems. The Completely Fair Scheduler
(CFS) scaled to large NUMA machines, but created problems with
systems that had less than 16 cores. CFS also scales well to the
high core count of new GPUs (Graphic Processing Unit), which can
also run non-graphical processes. For mobile devices with less than
16 cores, it creates problems with heating.”