Strict Priority Scheduler | CS 162 Project 2
In Pintos, each thread has a priority value ranging from 0 (PRI_MIN) to 63 (PRI_MAX). However, the current scheduler does not respect these priority values. You must modify the scheduler so that higher-priority threads always run before lower-priority threads (i.e. strict priority scheduling). Note: In the case of a priority tie, you should schedule threads with the same priority value in a round robin fashion. The existing code already preempts threads once they run past their allotted time slice, so you won’t have to worry about this part of the round robin implementation. If you would like a closer look to how this is implemented, take a look at thread_tick. You must also modify the 3 Pintos synchronization primitives (lock, semaphore, condition variable), so that these shared resources prefer higher-priority threads over lower-priority threads. Additionally, you must implement priority donation for Pintos locks. When a high-priority thread (A) has to wait to acquire a lock, which i
Strict Priority Scheduler | CS 162 Project 2 Skip to main content Menu Expand (external link) Document Search Copy Copied CS 162 Project 2 Strict Priority Scheduler In Pintos, each thread has a priority value ranging from 0 ( PRI_MIN ) to 63 ( PRI_MAX ). However, the current scheduler does not respect these priority values. You must modify the scheduler so that higher-priority threads always run before lower-priority threads (i.e. strict priority scheduling). Note: In the case of a priority tie, you should schedule threads with the same priority value in a round robin fashion. The existing cod
Explore this link on the map →related reading
- Priority inversion - Wikipediaen.wikipedia.org
- Measuring Mutexes, Spinlocks and how Bad the Linux Scheduler Really is | Probably Danceprobablydance.com
- Spinlocks Considered Harmfulmatklad.github.io
- Brain Fuck Scheduler - Wikipediaen.wikipedia.org
- Introduction to Real-time Systemsdesign.ros2.org
- LittleBookOfSemaphores.pdfgreenteapress.com
- Understanding threads | Pintos Documentationcs162.org
- OpenMP - Scheduling(static, dynamic, guided, runtime, auto) - Yiling's Tech Zone | 风逝无殇的瞎逼逼基地610yilingliu.github.io
- Slice Dat Time | Putting the "You" in CPUcpu.land
- Awesome-ML-SYS-Tutorial/sglang/scheduler/readme-en.md at main · zhaochenyang20/Awesome-ML-SYS-Tutorial · GitHubgithub.com
- Disabling interrupts | Pintos Documentationcs162.org
- Slurm Workload Manager - Wikipediaen.wikipedia.org