Multiprocessor Scheduling Flashcards
(34 cards)
What are the three multiprocessor systems?
- Multicore processor
- Multiprocessor
- Multithreaded core
What does the cache of a CPU hold?
Copies of popular data that’s found in the main memory
What does the main memory of a CPU hold?
All data
Is access to the cache faster or slower than access to the main memory of a CPU?
Faster
What two forms of locality does the cache of a CPU utilize?
Temporal & spatial locality
A multiprocessor with a cache must ensure … of shared resource data stored in multiple caches
consistency
What sort of primitives should be used to guarantee correctness when accessing shared shared data across CPUs in a multiprocessor with cache?
Mutual exclusion primitives
Will a process on a multiprocessor run faster or slower if its executed on the same CPU as it has its states stored in the cache of?
Faster
What problem is it important that a multiprocessor considers when making its scheduling decisions?
Cache affinity
Give the definition:
The binding & unbinding of a process/thread to a CPU/CPUs, so that the process/thread only executes on the designated CPU/CPUs
Cache affinity
Describe the policy of Single Queue Multiprocessor Scheduling (SQMS)
Puts all jobs that need to be scheduled into a single/global queue
A synonym for SQMS is:
Asymmetric MultiProcessing (AMP)
Describe the structure of SQMS
One processor/core manages the scheduling queue - master processor - while the rest are slave processors
What are the pros of SQMS?
Simple
Reduced data sharing
What are the cons of SQMS?
Lack of scalability
Cache affinity
Complex
What does the lack of scalability that SQMS has mean that we have to insert in a multiprocessor?
Locking
Describe the MQMS policy
Consists of multiple scheduling queues. Where each processor has its own scheduling queue & an incoming job is assigned to a specific processor (queue)
What’s a synonym for MQMS?
Symmetric MultiProcessing (SMP)
What are the pros of MQMS?
- Better cache affinity
- Scalability
What are the cons of MQMS?
Load imbalance
Give the definition:
Some processes having more workloads in a multiprocessor
Load imbalance
What are the 3 solutions to load imbalance?
- Migration
- Continously switching jobs
- Work stealing
Give the definition:
Binding jobs to specific cores
Processor affinity
What type of affinity is this?
Jobs are expected to execute on a single processor, but it’s possible to migrate them between processors
Soft affinity