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.
Warning
Running a virtual Iguana OS from within a virtualised Linux environment is dangerous.
ETROS and NICTA will not be held responsible for any resulting time paradoxes.
hmmmm
liqbase
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.
Ignore the second link. The actual performance results are here.
Just how fast would a virtualized Linux instance running inside of a virtualized Linux instance running on hardware be?
Help Brendan pay off his student loans
The summary is misleading a bit - it's only faster on ARM v4 or v5 processors.
From TFA:
Wombat, NICTA's architecture-independent para-virtualised Linux for L4-embedded, can be faster than native Linux on the same hardware. Specifically on popular ARM v4 or v5 processors, such as ARM9 cores or the XScale, Wombat benefits from the fast address-space switch (FASS) technology implemented in L4-embedded, while this is not supported in native Linux distributions.
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.
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.
Could it be because linux for ARM is not that well optimised . I can't imagine such massive performance gains otherwise , bar a massive bug in the kernel.
Fast Address-Space Switching for ARM Linux Kernels
The Fast Address-Space Switching (FASS) project aims to utilise some of the features of the Memory Management Unit in the ARM architecture to improve the performance of context switches under the L4 kernel and ARM Linux.
The only things certain in war are Propaganda and Death. You can never be sure which is which though
What's to defend? Whenever a free microkernel design comes remotely close to the mindshare of Linux, there may be a basis for discussion.
Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
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.
I think that the whole L4 family smicrokernels hould deserve some more attention from IT professionals.
As far as I know L4 is one of the microkernels with more efforts for development. Along with MinixV3 of course.
Maybe Computers will never be as intelligent as Humans.
For sure they won't ever become so stupid. [VR-1988]
Are those winning performances valid also outside the embedded world?
I fear that Linux running over a "normal" x86 CPU outperferms almost everything else.
Maybe Computers will never be as intelligent as Humans.
For sure they won't ever become so stupid. [VR-1988]
Why is it that you only hear about microkernels and monolithic kernels? I want an exokernel based OS dammit!
http://pdos.csail.mit.edu/exo.html
Well, if the summary and title told you everything, you wouldn't need to RTFA, would you? Lazy bastard, just click the link, RTFA, and stop whining.
NICTA... necktie...
Definitely an n-word.
More
Well I only browsed through the article but more information would have been welcome... what architecture does it support, how does it compare to Xen and other similar products, where do you download it, what license is it under, can I run it on my toaster, and most importantly how long does it take to complete an infinite loop?
(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
main(O){10<putchar(4^--O?77-(15&5128 >>4*O):10)&&main(2+O);}
I've been researching more and more into NICTA's microkernel and virtualization (for my L4::BSD idea) and one thing that is important to understand is that NICTA's development is mainly on ARM, the Kenge toolset, as well as the Iguana OS are both much further along on ARM as opposed to i386
;)
Considering the work that NICTA does with companies that produce embedded hardware like Qualcomm, this isn't surprising, but don't go crazy about this.
Linux development is much more fine tuned on x86, and Kenge/Iguana development is much more fine tuned on ARM; no need to start holy wars here
That said, nice work benno, chuck, and gernot (and whomever else I'm forgetting)
Error 407 - No creative sig found
I love the name, being an Aussie I can see the amusing side.
For those of us who arent Australian, a Wombat is an native Australian marsupial.
The wombat has powerful burrowing techniques. I'm wondering if they chose the name because of the nature of virtualisaton and how it burrows metaphorically into the O/S.
Please kill the submitter. The article summary is just misleading. They did not virtualize linux and gain a speedup, instead they hacked the context switching code to use a cpu native feature to gain the speedup.
Also please kill the poster who simply didn't read the article at all to discover the flaw.
Yes it does make me wonder..... Running virtualized Linux on virtualized Linux hosted by Linux.... Now that seems to be just a bit overkill does it not....
Not hugely, perhaps 0.3%, but it was consistently faster for what I was doing. I put it down simply to having a better scheduler, and less cache trashing on task switches, or some other voodoo like that.
So such paradoxes are far from unusual.
Of course, we could combine these two improvements...
FatPhil
Also FatPhil on SoylentNews, id 863
But... does it run Linux?
Comment removed based on user account deletion
If one were to use 33 levels of virtualization on the ARM processor, the efficiency is so great that power may be removed and the system runs on its own efficiency. Yeah! We don't need oil anymore.
Even better than the real thing....
Its performance has nothing to do with being microkernel. TFA claims its better performance is because of the FASS (Fast Address-Space Switching) technology that has been implemented on the Linux too. Its dependent on the ARM architecture and I guess is not applicable in other architectures.
Yeah but...imagine a Beowulf cluster of them!
but... does it run linux??
^switch writes "Aussies at NICTA have developed a para-virtualized Linux called Wombat that they claim outperforms native Linux.
So if a para-virtualised microkernel runs a para-virtualised microkernel running Linux, then there should be an even greater speedup?
Vintage computer adverts: http://www.vintageadbrowser.com/computers-and-software-ads
So, what are they trying to show? "Because we've implemented support for a certain MMU feature and native Linux hasn't, we've demonstrated that virtualizing Linux on L4 is a good idea"? Doesn't sound perfectly logical to me. Apples and oranges come to mind.
--
I do not like the men on this space ship!With an ID like that, you'd think you'd recognize an ancient Slashdot meme and just laugh.
It's about time someone wrote a bios that lets Linux shine.
Having to work for a living is the root of all evil.
Respect the elders dude. Even more when you're a coward.
Of Code And Men
I for one welcome our new Fast Address-Space Switching overlords!
Your sig says:
"New Godwin's Law: in internet discussions about G.W. Bush, over time probability of a mention of Orwell approaches one."The only thing that makes Godwin's "law" the least bit interesting is the idea that any sufficiently long discussion will eventually include a comparison to Nazis (almost surely). In your version, it's not very interesting because you restricted it to a narrow set of topics (those concerning dubya). Saying, internet discussions about X will eventually mention Y isn't very profound, because X and Y may actually be related.
So, you could say "any sufficiently long discussion about genocide will eventually mention Nazis," and it wouldn't be very insightful. Whether you think the Bush administration is Orwellian, they certainly represent a very powerful government that has significantly expanded its powers, so there clearly is at least some relation to the topics Orwell was fond of. This is true even if you believe these actions were wise and reasonable and that we are still far from the extreme situations Orwell wrote about.
If all that was way too involved, let me make is short and sweet: Your sig is dumb.
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.
Womabats and iguanas living together?
Sounds unholy.
Please.
A low slashdot id just means you've been heaping shit on the pile longer than anyone else.
Not to mention someone occasionally sells one on ebay...
"You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
Nice to know somebody has implemented a processor feature to help microkernels switch address spaces quickly!
Bullshit.
But the AIM7 benchmark, which models typical general-purpose Unix system usage, has consistently faster results for regular Linux than for the Wombat virtualized version, even though there may be individual functions that are faster. The cool thing, though, is that the performance hit is only about 2-3% - not bad at all for a microkernel with some provable security and reliability features.
Bill Stewart
New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
RTFA again. Wombat isn't a "massive performance gain", though there are some functions for which it's several times faster and therefore there may be some real-world applications for which it could be faster. If you look at the AIM7 benchmarks, which are modeling average workloads for a typical Unix system, Wombat was actually 2-3% slower than Linux, in spite of having those functions go faster. That's still really pretty good, given the reputation for slowness than microkernels have. If they can port those optimizations to Linux, then maybe Linux would be even faster.
Bill Stewart
New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
Or it could mean that we've been here so long, we remember what's under the pile of shit.
Software sucks. Open Source sucks less.
Anyone else see 'FASS technology' and think ... Fast Ass Technology.
It looks like someone wanted to use that internal speak and had to invent a commercial speak version, Fast Address-Space Switching.
Pity. I think they could have run with the Fast Ass Technology moniker.
Nothing is faster than a native. :)
Sounds like another round of micro vs monolithic kernel debates is about to fire up. Prepare for Linus to start talking shit *ducks*
On a side note this is really old news.
Seems to me that native Linux would out perform virtualised Linux if they modified Linux to use the same fast address-space switch that L4 does with running on the ARM.
Now if I could just get a PC that used 4 ARM cores running at 2+Ghz with a good floating point.
I would love to see a real speed ARM system. Now that Apple has gone over to Intel my hopes of an X86 free life seem more and more distant.
See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
With an ID like that, you'd think you'd recognize an ancient Slashdot meme and just laugh.
/.
1) Users with low UIDs like to boast about their age and crustiness
2) "You must be new here" is not limited to
3) Like all stupid cliches, it's overused and therefore not funny except to the LCD
4) Only morons use the term "meme" in sentences
May or not be the same thing...but a month or so ago, Anandtech sported a review of the new Apple Intel Core Duo and ran benchmarks on "BootCamp" (native XP with Apple hardware drivers) vs. using a virtual PC technology from Parallel and Parallel or MS-Generic Drivers.
Tests showed the Virtual PC ran consistently faster than "BootCamp" except on a disk-heavy Multimedia benchmark and even there, the virtual PC was only about 2% slower.
So tell me, how does a Virtual machine run faster than Native?
It looked like the "BootCamp" hardware drivers were stealing cycles from compute-bound tasks, making native performance run slower than virtualized performance. The virtual emulated disk, however, was too much of a performance hit to be compensated for by Apple's lower-performance drivers.
Just a guestimate, but it looks like Apple's HW drivers degrade performance by about
10-15% versus "normal" drivers.
On this page, the numbers show the iMac Core Due@ 2GHz performing ~15% slower than a 1.86GHz, Generic-PC Core Duo.
It's better than the 3-5X performance hit the Apple G5 had on server tasks versus Linux 2.6.
Even having the advantage of running on the same hardware as on the iMac, Apple OS
needs some signifcant tuning.
The performance "dehanced" drivers under "BootCamp" appear to be a deliberate attempt by Apple to cover for their OS's deficiencies.
-l
sigh
Except that the same microkernel also runs on x86, alpha, Itanium, blackfin, mips, powerpc (lots of variants), etc.
Whenever a microkernel system (either a HURD-like real one or a layered hack) beats a standard monolithic kernel, you have proof that either:
a. the microkernel system is cutting corners
b. the monolithic kernel needs work
The old standard of 10 or 15 years ago was microkernel systems like Mach beating crufty old System V junk. Then along comes Linux and toasts them both. Well, maybe a new optimization has been discovered. If it doesn't involve cutting corners (cheating), it'll be adopted by the monolithic kernels.
>>
That's still really pretty good, given the reputation for slowness than microkernels have. If they can port those optimizations to Linux, then maybe Linux would be even faster.
>>
That's kind of happening in (and around) the Xen community, but mostly on the Debian / Xen side of the street. Lots of people have been playing with msxen/ocxen on SBC's (ULV Celeron / P4's) and have optimized the kernel and even some core utils for small memory systems.
Now you have a whole rash of 'unofficial' Debian packages floating around containing everyone's tinkering. I mention Xen because many of the folks pushing things to be smaller and go faster are doing so based on experience with various microkernels.
Since clusters + virtualization are a good match, you'll see even more talent taking a closer look at things like Open SSI. The real need now (imho) is to get more corporations with some more bucks paying people to tinker and start adopting with the idea that they'll put the improvements back out to the communities. If more people could feed themselves putting ideas they've had the last 20 months into play, I think you'd really begin to see smart (smaller) thinking applied to the next few kernels, plus some revisiting of others.