Slashdot Mirror


Virtualized Linux Faster Than Native?

^switch writes "Aussies at NICTA have developed a para-virtualized Linux called Wombat that they claim outperforms native Linux. From the article: 'The L4 Microkernel works with its own open source operating system Iguana, which is specifically designed as a base for use in embedded systems.'" Specific performance results are also available from the NICTA website.

9 of 153 comments (clear)

  1. Ignite the flames of the microkernel debate again? by Enderandrew · · Score: 2, Interesting

    I can Linus already gearing up to defend his position that microkernels are crap.

    However, I thought the purpose of a microkernel was stability, not performance.

    --
    http://blindscribblings.com - Tasty pop-culture in conceptual fashion.
  2. This makes me wonder... by DaHat · · Score: 5, Interesting

    Just how fast would a virtualized Linux instance running inside of a virtualized Linux instance running on hardware be?

  3. Neato but... by tomstdenis · · Score: 2, Interesting

    They sacrificed portability by performing some TLB caching hacks. It's a good idea but comparing it to Linux as a whole is a bad idea as Linux runs on more than the ARM they're testing on. If you look at all of the results most are comparable and exec/fork favour Linux.

    Tom

    --
    Someday, I'll have a real sig.
  4. Twice the buffering by jellomizer · · Score: 3, Interesting

    It is possible. First you have drive access. Normally the data is buffered in memory then is paged out to the drive when the OS sees fit. When it is on the memory it can be accessed faster. So now you are virtualizing the hardware so when the OS says write to the Hard Drive it goes to the Host OS who then buffers it in memory and writes to the drive when it seems fit, so the files are buffered in memory for twice as long, allowing twice the time that it can access the faster data. Usually that is the largest slowdown on the system is drive access, also because when the host OS is writing to the drive the Virtualized Linux kernel is free to do what it wants. I am sure if the application requires a lot of interrupt calls or a lot of displaying to the screen it will slowdown (Unless the virtualized video drivers are much more optimized then the normal ones)
    So it is possible, just as long as you have a system powerful enough to run both OSs well and with a lot of RAM.

    --
    If something is so important that you feel the need to post it on the internet... It probably isn't that important.
  5. Only? by Anonymous Coward · · Score: 4, Interesting

    I'm not sure if you realize the market penetration of ARM-based processors. They're basically everywhere. One popular use is in routers. Many printers also have ARM chips. They're also very widely used in cell phones and other mobile technology.

    It benefits us all of more performance can be extracted from such chips, just because they're so widely used. Being able to get a greater degree of performance out of a device already in use can lead to lower-cost systems. To suggest that this is of limited use is naive, just because of how prevalent these processors are.

  6. Re:defend his position that microkernels are crap? by diegocgteleline.es · · Score: 2, Interesting

    He doesn't thinks microkernels are "crap".

    He just wants to build a stable, reliable and fast operative system, like the microkernel guys and like veryone else. The difference is that microkernel guys think that the One Way to achieve that is to compartmentalize everything. Linus however seems to think that the microkernel model makes programming much harder (due to multiple separate address spaces, etc) and that a monolithic kernel makes programming so much easier, than in return you get a stabler, faster kernel.

  7. Pet maths peeve by Emil+Brink · · Score: 2, Interesting
    The performance results page states:

    The result is that context-switching costs of virtualised Linux are up to thirty times less than in native Linux.

    (Emphasis in the original text). This is one of my pet peeves, since I think it's so sloppy use of maths. How can something be "thirty times less?" So, if it takes one second in Linux, it takes them ... what? 1 - 30 * 1 = -29 seconds? I guess they mean 1/30:th of a second, but still, that should have been caught before being published, imo. Or maybe it's just because I'm not a native speaker of English, that it annoys me so.
    --
    main(O){10<putchar(4^--O?77-(15&5128 >>4*O):10)&&main(2+O);}
  8. Comment removed by account_deleted · · Score: 2, Interesting

    Comment removed based on user account deletion

  9. Re:Ignite the flames of the microkernel debate aga by hey! · · Score: 3, Interesting

    Last time I read Linus talking about microkernels, it was a lot more nuanced than "Microkernels are crap". It was more along the lines that microkernel architectures end up with greater complexity and more comunication overhead at higher levels. It certainly leaves open the possiblity that a particular microkernel could be fast at a particular set of operations.

    What's interesting about a what we're apparently talking here is a virtualized linux running on top of a microkernel. I'm reasonably certain that they didn't do a complete reengineering of Linux as a microkernel, they just got it to run on top of a microkernel. So, we're still talking about a monolithic kernel with all kinds of tight coupling, but the virutalized hardware can make certain hardware related tasks faster. In particular they talk about context switches being much faster; since the microkernel is specifically designed for single architecture (ARM), it may not be so surprising that they can take better advantage of certain architectural features.

    --
    Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.