Skip to content
Sahithyan's S3
1
Sahithyan's S3 — Operating Systems

Multiple Processor Scheduling

Scheduling becomes more complex when multiple CPUs/cores exist.

Multiple process means any one of:

Aka. SMP. Each CPU runs its own scheduler.

Models:

  • Single global ready queue
  • Per-CPU ready queues

Distributes workload to all CPUs evenly. 2 types.

Work is pushed from overloaded CPUs to others, periodically.

Idle CPUs pulls tasks from overloaded CPUs.

A scheduling mechanism. Controls which CPU or set of CPUs a process or thread is allowed or preferred to run on.

Scheduler would try to keep a thread in the same CPU as much as possible. For the performance boost due to cache locality. But might not be possible at all times.

Process is free to be moved to another CPU if required.

Process restricted to specific CPU(s).

A hybrid threading model. Scheduling happens in 2 levels.

  • OS decided which software thread to run on a logical CPU
  • Each core decides which hardware thread to run on the physical core.

Used in multithreaded multi-core systems.