Slashdot Mirror


Kernel 2.6 Real-Time Benchmarks

An anonymous reader writes "This whitepaper at LinuxDevices.com includes benchmarks comparing the real-time performance of the vers. 2.4 and 2.6 linux kernels, based on LynuxWorks' BlueCat Linux 5.0 beta. The graphs compare the results for average and worst-case measurements of both interrupt response and task switch performance for the two kernels, running on a 1GHz Pentium III under relatively heavy load. Check it out -- there's an enormous improvement. The article also includes a rundown of other features of the new kernel that seem likely to be welcomed by embedded developers."

16 of 40 comments (clear)

  1. Wider Application? by 4of12 · · Score: 4, Insightful

    I'm hoping the benefits of these performance improvements aren't limited to single-purpose embedded devices.

    Better interactive response (framebuffer, keyboard, mouse) would help desktop users, while some of the enterprise warehouse folks could use less interruption of important I/O tasks.

    Maybe those aims can be achieved somewhat by these kernel improvements.

    --
    "Provided by the management for your protection."
    1. Re:Wider Application? by selderrr · · Score: 2, Interesting

      i second that. I write software for the psychology dept at our univ, designed to do reaction time experiments. In basic priming experiments, we need accuracy up to at least 3 msec, preferably 1msec. For eye-movement detection I'd like even finer measurements, but under windows that's simply impossible.

      accuracy up to 1msec is feasable by using a sufficiently fast machine (1GHz or more) with enough ram (512 at minimum) and VRAM (64min, more if you want speedy pics), removing network adapters & USB equipment and beefing the process priority up to max.

      But even under those conditions, I occasionally lose a msec here or there. I wonder how OSX behaves under the same conditions...

    2. Re:Wider Application? by Krunch · · Score: 2, Informative

      It seems you need "a system means that performs its functions and responds to external, asynchronous events within a specified amount of time". In other words, a real-time OS. Neither Windows nor Linux are real-time OS. There is some patches that aims at making Linux more real-time.

      You can use Tron too.

      --
      No GNU has been Hurd during the making of this comment.
    3. Re:Wider Application? by treat · · Score: 2
      the univ has a windows-only network policy.

      Did Microsoft pay them to do this? Was it an overt payment or an under the table bribe?

  2. it doesn't say by Tirel · · Score: 3, Insightful

    which version they were using exactly.. test2-mm2? test3-ac1? test1? this is supposed to be a serious article?

  3. What about the interactivity patches? by dpilot · · Score: 4, Interesting

    The article (Yes, I RTFA.) talks about the responsivness of the new kernel, showing dramatic improvements in active and maximum latencies. Yet at the same time, there are people working very hard on a set of 'interactivity patches' and complaining of skipping when playing music on 2.6.

    I haven't followed those discussions back to the beginning, so I don't know if they're gilding the lilly. But the intense work on interactive scheduling *now* scares me about like the late work on the VM did with the 2.4.0 release.

    Just like the VM was the Achilles heel of 2.4 will interactive response, particularly playing music on a system under load, be the bane of 2.6?

    --
    The living have better things to do than to continue hating the dead.
    1. Re:What about the interactivity patches? by oever · · Score: 5, Interesting

      Playing music on a 2.6 kernel is certainly not perfect, especially in the first 30 seconds of a song with xmms. During this time xmms is probably loading the song and the disk access holds back the music stream.

      Performance is, however, much better than with 2.4.

      --
      DNA is the ultimate spaghetti code.
    2. Re:What about the interactivity patches? by StarBar · · Score: 3, Insightful
      Playing music on a 2.6 kernel is certainly not perfect, especially in the first 30 seconds of a song with xmms. During this time xmms is probably loading the song and the disk access holds back the music stream.

      That only shows that xmms is not taking advantage of the new possibilities on the 2.6 kernel. It is up to the application to set priorities between tasks/threads, it is not something the kernel will do by itself. Properly set priorities will get you a much better sound experience on the 2.6 kernel. The preemptiveness of the 2.6 kernel will get rid of the lagging cursor movements, among other things, and that has nothing todo with priorities, so you will get it automatically. This might get you a feeling of better performance but infact it is just a better system response to your interaction. // Starbar

    3. Re:What about the interactivity patches? by irc.goatse.cx+troll · · Score: 2, Interesting

      " 2.4 never skips for me. How can skipping in the first thirty seconds be better than never skipping?"
      They're refering to skipping under load (think compiling a kernel, transcoding video, decompressing large data, etc).

      In 2.6, it skips for the first 30secs before the schedualer can see that its an interactive task.
      In 2.4, it skips until the song is done because the kernel isnt much on caring about 'interactive tasks'.

      --
      Pain lasts, kid. Its how you know you're alive. Sometimes I think this growing up thing is just pain management-TheMaxx
  4. May I re-ask the question I asked on Monday? by Anonymous Coward · · Score: 3, Interesting

    May I re-ask the question I asked on Monday? And maybe throw in one of my responses for good measure?
    How does this compare with the kernel that was reviewed [and thoroughly trashed] by Dedicated Systems last August?
    PDF DOCUMENT: http://www.qnx.com/products/ps_neutrino/benchmarks /elds/qnx62_elds.pdf
    **********

    NO - I'm not a QNX employee.

    I am, however, about to embark on a huge project that involves real-time collection of massive amounts of biometric data, and I've spent the last several weeks investigating the state of the art of RTOS's.

    We are looking at five possible candidates: VxWorks, Linux, CE.NET, QNX, and LabVIEW Realtime. VxWorks has a lot of market share, but the consensus seems to be that, under the hood, it's a little shaky. The consensus also seems to be that Linux just ain't ready for primetime; in fact, Linux realtime performance is so bad that people believe the kernel will need to be re-written from the ground up before it's ready to play in this league. Don't know much about LabVIEW Realtime, except that the National Instruments salesdroids are happy to sell it to you. QNX looks like it's got the nicest kernel of all, but it's not clear that it's got the driver & third party application support we might need.

    Which leaves us with CE.NET: It's got surprisingly good performance [bests VxWorks in tests], it's got all the multimedia codecs of Windows, and it's got built in support for ActiveDirectory [so technicians could upload data directly into the database and sign their work right then and there].

    On a purely performance-based evaluation, I'd probably choose QNX, but because of its flexibility, we'll probably go with CE.NET.

    Anyway, back to my original point: How is this new 2.6.x "realtime" kernel any better than the 2.4.x "realtime" kernel that failed so miserably in the Dedicated Systems review?

    Again, not trolling - just looking for all the information I can amass.

    Thanks.

    1. Re:May I re-ask the question I asked on Monday? by Samrobb · · Score: 2, Informative

      Taken from the article you reference:

      It has to be said that Red Hat Inc. does not claim any real-time behaviour.

      SO... they compared a RTOS with an (admitedly) non-realtime OS? I'm not surprised at the results.

      RedHat markets ELDS as an OS for embedded systems. Not all embedded systems require realtime performance. Heck, even systems that require realtime performance don't always require the level of performance that QNX can deliver. There's a large number of embedded systems for which even plain Linux without any performance enhancements is a good choice.

      If you're really looking for a version of Linux that supports hard real time requirements, take a look at something other than ELDS - <shameless plug> TimeSys Linux, for example </shameless plug>

      (yes, I am a TImeSys employee).
      --
      "Great men are not always wise: neither do the aged understand judgement." Job 32:9
    2. Re:May I re-ask the question I asked on Monday? by t4k1s · · Score: 2, Informative

      The Linux kernel was never intented to compete with QNX or any other realtime operating system.
      Try RTAI. It's a patch to allow hard realtime performance on GNU/Linux systems.

  5. Beware TCQ on 2.6.0 by tzanger · · Score: 4, Informative

    LKML verified it and I've experienced it personally -- TCQ on IBM Deathstar drives (mine were 60G, the LKML was 120G IIRC) can cause massive fs corruption.

    Apparently a queue depth of 8 (the default it seems) is the specific culprit. LKML seems to say that TCQ of 32 works but I've turned it off entirely now.

    It's marked experimental for a reason. :-)

  6. Good Job, SCO! by Anonymous Coward · · Score: 3, Funny

    That is some very fine code.

  7. Re:Linux 2.6 != operating system by CentrX · · Score: 4, Informative

    It schedules tasks, handles input/output with hardware, allocates storage and memory, manages processes... it's an operating system. Now, it may be more precise to say "Red Hat Linux" or "GNU/Linux", but that doesn't mean that Linux isn't an operating system.

    --

    "The price of freedom is eternal vigilance." - Thomas Jefferson
  8. bullshit by dh003i · · Score: 2

    Linux is the kernel of an operating system (of many operating systems, actually). With just the Linux kernel, you basically can't do anything. With just the Linux kernel, you certainly can not operate your system. That's like saying that a brain is a human being because it's the central control region.