|
Thread Scheduling
- An application can be implemented as a set of threads that cooperate and execute concurrently in the same address space.
- Load Sharing: pool of threads, pool of processors.
- Gang scheduling: Bunch of related threads scheduled together.
- Dedicated processor assignment: Each program gets as many processors as there are parallel threads.
- Dynamic scheduling: More like demand scheduling.
Multi-core Computing Synchronization
Problem
- Multiple concurrent processes or threads using shared memory to communicate.
- Concurrent access to the same data may lead to inconsistencies.
- An innocent looking code may not work when concurrency is involved.
- Remember Producer-Consumer code.
|