a. Processor Affinity
The state in which a process stays with only one processor
- Soft: Processor affinity is not guaranteed, but rather the OS will make a best attempt at it
- Hard: OS guarantees processor affinity no matter what
b. Load Balance
Insures that all processors get an equal share of work.
- Push migration: a task checks whether another processor is idle and jumps itself over to the idle processor.
- Pull migration: an idle CPU preemptively grabs a process from an active processor.
- Load balancing counter acts processor affinity.
c. Symmetric Multithreading (Hyperthreading Technology)
Allows multithreaded applications to thread to more than a single processor, allowing for maximum throughput from a multi-core processor.
- All interrupts handling must be done independently within each logical processor. Each physical processor can half multiple logical processors (read the book for more detail on logical processors).
- This technology must happen in hardware. Atomic operations are essential, the Peterson based techniques will not work with multi-core environments.