Lazy queueing and direct process switch — merit or myths?

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.

[1]  Gernot Heiser,et al.  User-Level Device Drivers: Achieved Performance , 2005, Journal of Computer Science and Technology.

[2]  Jochen Liedtke,et al.  On micro-kernel construction , 1995, SOSP.

[3]  Jonathan M. Smith,et al.  The measured performance of a fast local IPC , 1996, Proceedings of the Fifth International Workshop on Object-Orientation in Operation Systems.

[4]  Hermann Härtig,et al.  Fast component interaction for real-time systems , 2005, 17th Euromicro Conference on Real-Time Systems (ECRTS'05).

[5]  Hermann Härtig,et al.  Cost and benefit of separate address spaces in real-time operating systems , 2002, 23rd IEEE Real-Time Systems Symposium, 2002. RTSS 2002..

[6]  Jochen Liedtke,et al.  The performance of μ-kernel-based systems , 1997, SOSP.

[7]  Matthew Chapman,et al.  Itanium: a system implementor's tale , 2005 .

[8]  Jochen Liedtke,et al.  Improving IPC by kernel design , 1994, SOSP '93.

[9]  Joshua LeVasseur,et al.  A sledgehammer approach to reuse of legacy device drivers , 2004, EW 11.

[10]  J. Liedtke On -Kernel Construction , 1995 .

[11]  Wilson C. Hsieh,et al.  The persistent relevance of IPC performance: new techniques for reducing the IPC penalty , 1993, Proceedings of IEEE 4th Workshop on Workstation Operating Systems. WWOS-III.

[12]  Gernot Heiser,et al.  Hype and Virtue , 2007, HotOS.

[13]  Sergio Ruocco Real-Time Programming and L4 Microkernels , 2006 .

[14]  Jochen Liedtke,et al.  Toward real microkernels , 1996, CACM.

[15]  Trent Jaeger,et al.  Achieved IPC performance (still the foundation for extensibility) , 1997, Proceedings. The Sixth Workshop on Hot Topics in Operating Systems (Cat. No.97TB100133).

[16]  Gernot Heiser,et al.  Wombat: A portable user-mode Linux for embedded systems , 2005 .