|
Novell, Concurrent Create Real-Time SUSE Linux Variant
Published: September 26, 2006
by Timothy Prickett Morgan
Commercial Linux distributor Novell and real-time operating system expert Concurrent Computer have been quietly working on a real-time variant of the SUSE Linux distribution. Appropriately enough, according to Novell sources, this will be called SUSE Linux Enterprise Real Time 10 when it is announced on October 9, but everyone in the SUSE community will probably end up calling it SLERT 10.
With SUSE 9, Novell and IBM co-created a variant of SUSE Linux for retail point of sale gear such as cash registers and kiosks, called SUSE Linux Enterprise Retail Point of Service, or SLERPS. (Hey, at least you can pronounce these Novell acronyms.) Presumably SLES 10 will spawn a SLERPS 10 variant at some point.
SLERT 10 is a variant of the new SUSE Linux Enterprise Server 10, or SLES 10, which is based on the Linux 2.6.16 kernel. Novell also distributes a variant for commercial desktops called SUSE Linux Enterprise Desktop 10, or SLED 10. As a real-time operating system, SLERT 10 has had some work done to its guts that makes it a more appropriate for platform for real-time applications. With such applications, the data streams that the kernel and its applications are dealing with are more like continuous telemetry than they are like online transactions or requests for files. In the former case, response time is actually a big deal, and in the latter, slower response time just makes some people who are addicted to speed grumpy.
A normal operating system like Linux, Windows, or Unix can respond in a few milliseconds or so to interrupts and other kernel calls. According to Justin Steinman, director of marketing for Linux and open platform solutions at Novell, there are two basic kinds of real-time operating systems. One is what he referred to as hard real-time operating systems, which have been architected from the ground up to have the absolutely lowest possible latencies and the best possible response times--on the order of 2 microsecond response times. Then there is what he called soft real-time, which is taking an existing general purpose operating system and extending it into the real-time realm. Such extended real-time operating systems do much better than standard operating systems, with perhaps 5 to 40 microsecond response times--but not quite as low as the hard real-time platforms.
Conceptually, SLERT 10 will be like other real-time Linuxes, including those from Concurrent (which sells a Red Hat variant called RedHawk), LynuxWorks, and Wind River. But because the real-time tweaks have not been adopted into the official Linux, applications that run on plain vanilla SLES 10 will not just plunk down on SLERT 10. The same holds true for the other real-time Linux variants, too.
Steinman says that companies are looking for real-time Linux variants because in many cases their applications can perform much better if the kernel is designed for low latency and if there is a way to synchronize interrupts and calls in a way that allows resources to be redeployed quickly if something doesn't respond quickly to an interrupt or call. Supercomputers and visualization systems in particular experience a kind of jitter using normal Linux and Unix operating systems, but if you can remove extraneous daemon calls and get the housekeeping functions of all Linux nodes synchronized, then the rest of the time each node in a cluster can talk to the others and get work done. Such tweaks have been made in SUSE Linux already, in conjunction with Cray, in fact. Financial trading systems also like low latency and fast response, and so do makers of embedded equipment, such as MRI machines. Siemens Medical apparently is going to demonstrate an MRI machine running SLERT 10 at the announcement on October 9.. Ratheon will also talk about how it is using SLERT 10 in its Tomahawk cruise missiles and Boeing will talk about how SLERT 10 will be deployed in the weapons control systems in the B1B bomber.
In tests that Novell has performed on SLERT 10, the company demonstrated that the real-time variant can deliver higher I/O throughput than normal SLES 10 (and Red Hat Enterprise Linux 4), smooth out graphic displays, deliver a 6- to 11-microsecond kernel response time to external events, provide 7 microsecond context switching times, and offer an optimized interprocess communication with signals between processes running at 6 microseconds. Novell is citing a bank that says every millisecond its trading systems can beat the market can bring it an extra $100 million a year. (Maybe Novell should just get a slice of the extra money they make, and not sell SLERT for $500 per server?)
In another set of tests that compare a server running the Ingres database on RHEL 4 and SLERT 10, the two machines hum along, providing about the same performance with one or two threads enabled; response times are in the range of 40 seconds. (The chart in the Novell presentation says seconds, not milliseconds or microseconds.) But as soon as more threads are activated--which boosts throughput--RHEL 4 starts seeing response time for transactions drift up. With four threads, RHEL 4 is up to 75 seconds while SLERT 10 is around 50 seconds; and with 16 threads, RHEL 4 is up to 250 seconds and higher, while SLERT 10 is averaging around 75 seconds. That is a big difference.
SLERT 10 will include a number of new features, including CPU shielding and priority inheritance. CPU shielding means that a process or a thread can be tied to a specific CPU and to a specific thread, which means it can do its work and not be interrupted, hence boosting response time. Priority inheritance means that kernel services invoked by a higher priority service get the higher priority, and hence complete faster. So a high priority job cannot be slowed down by the lower priority of a service it invokes. (Think of it as being able to get your kid into Harvard just because you went to Harvard.) SLERT 10 will also include kernel pre-emption, which is enabled by a high precision timer and process counting, which is basically a complicated way of saying no one process as part of an application gets to hog the kernel. Part of the low latency aspect of SLERT 10 is that it will have internode connections in clustered servers running over InfiniBand, and presumably using some sort of direct memory access (DMA) method of linking machines.
SLERT 10 will not be a generic distribution, like SLES 10. While SLES 10 runs on X86, X64, Power, and Itanium processors, SLERT 10 will only run on X86 and X64 chips. It is not clear how much of the work embodied in SLERT 10 was done by Novell and how much by Concurrent, but it looks like Concurrent is pouring a lot of its expertise into the distro.
RELATED STORIES
Novell Aggressively Launches SUSE Linux Enterprise Server 10
Novell Touts SUSE Linux 10, Says Desktops and Xen Are Ready
|