Action requires login

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.

inter-frame times of two media players running both at SCHED_DEADLINE or at SCHED_FIFO

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).

disk throughput, DMA disabled disk throughput, DMA enabled

Back to Homepage

<——


Created by Dario Faggioli, C 2009