Improve the SMP scheduler with the support of arbitrary processor affinity with task shifting
- Mentors
- Joel Sherrill, Sebastian Huber, Kuan-Hsun Chen, Gedare
- Organization
- RTEMS Project
The Real-Time Executive for Multiprocessor Systems (RTEMS) is an open-source real-time operating system (RTOS). In the current RTEMS version, a lower-priority ready task must wait if all the processors included in its affinity mask are executing higher-priority tasks. Since a lower-priority task can never “dislodge” a higher-priority task that could also execute elsewhere, this may needlessly prevent some tasks from being scheduled, even if some processors idle as a result[1].
This project aims to add the Strong Arbitrary Processor Affinity (Strong APA) scheduler to RTEMS. Strong APA scheduler would allow higher-priority tasks to be ”dislodged” or moved among processors in order to make space for lower priority tasks that are limited by affinity constraints [1]. Consequently, this would allow RTEMS to achieve improved schedulability (i.e., lower response-time bounds).
References : [1] Cerqueira, Felipe & Gujarati, Arpan & Brandenburg, Bjorn. (2015). Linux's Processor Affinity API, Refined: Shifting Real-Time Tasks Towards Higher Schedulability. Proceedings - Real-Time Systems Symposium. 2015. 249-259. 10.1109/RTSS.2014.29