CPU scheduling more complex when multiple CPU’s are available
Most common cases : Symmetric multiprocessing (SMP) :

  • all processors are identical, can be scheduled independently.
  • have separate ready-queue for each processor (Linux), or shared ready-queue.

Process Affinity

Process affinity for CPU on which it is currently running

  • Soft Affinity current CPU only preferred when re-scheduled
  • Hard Affinity Process may be bound to specific CPU Advantages : caches remain valid, avoiding time-consuming cache invalidation and recovery.

Load Balancing

Idea : use all CPU’s equally (goes against processor affinity)

  • Push migration : periodically check load, and push processes to less loaded CPU’s.
  • Pull migration : idle CPU’s pull processes from busy CPU’s