Lazy queueing and direct process switch -- merit or myths?

Published 2007


Kevin Elphinstone, David Greenaway, Sergio Ruocco



The L4 microkernel, like many first and second generation microkernels, was designed to maximise best-effort performance. One component of its functionality critical to overall system performance is its interprocess communication primitive. L4 uses two techniques to minimise communication costs: direct process switching and lazy queue management. These techniques improve performance at the expense of real-time predictability of the scheduler. Now that L4 is being adopted in the embedded space, which features real-time requirements, we must determine if there is continued merit in using the optimisations. In this paper we quantitatively analyse the two optimisations using different kernel implementations and measure the performance improvements of the optimisations directly, and indirectly using the Re-aim benchmark suite. We find that the system-level performance improvements are marginal for this Unix-like workload.


    title            = {Lazy queueing and direct process switch -- merit or myths?},
    author           = {Kevin Elphinstone and David Greenaway and Sergio Ruocco},
    booktitle        = {OSPERT 2007, Workshop on Operating System Platforms for
                            Embedded Real-Time Applications},
    year             = {2007},
    month            = {dec},
    pages            = {69--77},
    address          = {Pisa, Italy}