MontaVista unveils fully preemptable Linux kernel prototype
LinuxDevices.com
September 07, 2000
MontaVista Software has taken the wraps off what it calls a "hard real-time fully
preemptable Linux kernel prototype," based on Linux kernel 2.4. The company claims
its kernel modification has the power to revolutionize the application responsiveness
of Linux, while fully preserving the Linux programming model. The prototype kernel
modification is currently showing better than a 10-fold improvement in worst-case
kernel responsiveness, but is expected to reach gains of 100-fold or better, by
the time the technology is incorporated into MontaVista's Hard Hat Linux distribution
in the January 2001 timeframe.
Kevin Morgan, MontaVista's Vice President of Engineering, says "the kernel modification
results in a "relatively fully preemptable kernel at this point in time. The long
locks that are held in a SMP environment are being implemented as a no-preempt region,
which we feel is a good starting point for this approach. Our goal is to eventually
get those to much shorter periods. We've got a lot of measuring work and tuning
work to do, as well as refinement of the specific techniques to both drive the responsiveness
to even better numbers and to improve some of the architectural attributes. Right
now what we're putting out is a prototype, in the best spirit of 'release early,
release often'."
Morgan points out that the enhanced kernel responsiveness is not merely useful for
esoteric real-time industrial process control systems, but rather is of value even
to today's desktop PC users. "This technology has use in all segments of the market,
including the desktop, for the simple reason that desktops these days require multi-programming
and multi-processing, with live streaming media in action," says Morgan. "For example,
as a desktop user I want to be able to watch a movie and hear the sound, while also
running a browser and my mail program. And when I use the mail program and the browser,
I don't want any glitches in the movie or sound. That really requires improvements
in Linux responsiveness, and that kind of behavior really is a real-time problem,
because a human is really pretty good at detecting glitches in continuous real-time
operation. So, this technology is applicable on the desktop. And, of course, it's
highly applicable in the more traditional embedded control environments."
An obvious question, given the potential benefit to virtually all Linux applications
-- from desktop, to server, to embedded -- is: why not add this capability to the
standard, mainstream Linux kernel? In fact, that is precisely MontaVista's intention.
"MontaVista would like to see this technology, or similar technology, utilized as
a foundational feature of Linux 2.5," explains Morgan. "We are excited to offer
this in prototype form, and look forward to receiving feedback from the all areas
of the Linux community, as we continue its tuning and refinement."
According to Morgan, a group of Linux game programmers recently petitioned Linus
(Torvalds) to add specific preemption points in the 2.4 kernel, primarily for video
throughput improvement. Their proposal was rejected, according to Morgan, due to
the specificity of the fixed preemption points. "The kind of fully preemptable kernel
technology that we are developing would definitely meet their needs," says Morgan.
"In the course of the dialog over adding specific fixed kernel preemption points,
Linus indicated that he is leaning towards a fully preemptable kernel approach in
Linux 2.5. We hope our prototype will help to spur and support that change, and
possibly become the basis of that technology."
MontaVista's Linux kernel enhancements also include a real-time scheduler (story)
which the company says provides extremely high performance and deterministic real-time
application selection and dispatching, without altering standard Linux scheduling.
MontaVista also offers an optional interrupt accelerator -- in the form of RTLinux
-- which can be used to improve baseline interrupt responsiveness by better than
5-fold. The result of all these is what MontaVista terms a "closing of the gap between
the real-time capabilities of Linux and proprietary RTOSes." Significantly, these
technologies are of fundamental value to mainstream Linux-based desktop and server
systems, where multimedia and quality-of-service (QoS) demands are increasingly
demanding high performance real-time responsiveness.
Jim Ready, president and CEO of MontaVista Software, points out that MontaVista's
real-time strategy is to drive native real-time improvements directly into standard
Linux. "Real-time capability is the final barrier to comprehensive adoption of Linux
throughout the embedded systems industry," says Ready. "MontaVista's hard real-time
fully preemptable kernel technology advances Linux to the responsiveness attributes
of proprietary kernel products. It does so while still providing all the benefits
of open source, including rapid development and deployment based on a royalty-free
model."
Availability
The prototype of MontaVista's preemptable Linux kernel is available immediately,
for IA32 (X86) platforms, via ftp at ftp://ftp.mvista.com. A technical whitepaper
entitled "Design of a Fully Preemptable Linux Kernel" is available here.
Copyright 2000