 | Dear RTOS user,
I am doing a survey regarding the implementation on SMP machine of Round-Robin Realtime policy SCHED_RR (as defined by Posix.1b).
Let a SCHED_RR process running on a 2 CPU-machine. This process is composed of CPU bound threads, one thread running at priority 30 and says 10 threads running at priority 25.
We expect that the priority 30 thread monopolizes one CPU, and then 10 other at priority 25 acquires the remaining CPU in a round robin fashion.
However, not all OSes follow that policy. On some implementation, it might be that some threads at prio 25 get scheduled on the same CPU that the thread of priority 30 (and as result, got starved, since the thread is CPU bound).
POSIX is rather vague concerning realtime policy on SMP machine. As a result, the unfortunate scheduling policy leading to thread starvation is perfectly legal from a POSIX viewpoint...
We'd like to know what would your favorite RTOS do in such case.
Thanks in advance, Loic.
|
|