Evaluation
Experiments and Evaluation
Latency Sensitive Workloads
Suppose you want to run two instances of a media-player and achieve as smooth as possible playback, on an uniprocessor system with high background load. So, if you give to both the two instaces two classical POSIX SCHED_FIFO priorities what you get is the last two plots below (all the graphs plots the evolution of the inter-frame time during the playback, ideal behaviour is a flat line at 40ms, given the video was 25fps).
What happens is that the player with the highest priority achieves the best possible performances, while the other one experiences lags and instability.
On the other hand, if both the players are assigned a SCHED_DEADLINE reservation (as reported in the plots themselves), they both achieve acceptable performances, and more important, their timing behavior is tightly related to how much bandwidth they get.

Throughput sensitive Workloads
On the other hand, if we use SCHED_DEADLINE —with different reservations— as the scheduling policy of the disk IRQ-thread (on PREEMPT_RT), we can see from the graphs below that it gives the user the capability of controlling the throughput the device is able to achieve, simply modifying the bandwidth assigned to the IRQ-thread. This holds for both the cases where DMA is disabled (top graph) and enabled (bottom graph).

Back to Homepage
Created by Dario Faggioli, C 2009

