Virtualized Linux Faster Than Native? 153
^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.
Curious warning on the website (Score:5, Funny)
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
Re:Curious warning on the website (Score:5, Funny)
Obvious really.
Re:Curious warning on the website (Score:2, Funny)
Important safety tip, thanks Egon.
KLAATU... VERATA... (Score:5, Funny)
Definitely an n-word.
Re:Curious warning on the website (Score:2)
SetOption('implicit_cache', 0)
#blah
"""
AHRRRRRRRR!
"""
Import("*")
Rumour has it, it's to make scons work correctly, oops.
Re:Curious warning on the website (Score:2)
No wonder you got the first post
Ignite the flames of the microkernel debate again? (Score:2, Interesting)
However, I thought the purpose of a microkernel was stability, not performance.
defend his position that microkernels are crap? (Score:2)
Re:defend his position that microkernels are crap? (Score:4, Informative)
QNX [wikipedia.org]
'Nuff said.
Re:defend his position that microkernels are crap? (Score:2)
Only if you don't read every word in the senteneces you're responding to. And ignore that most people have never heard of QNX.
Re:defend his position that microkernels are crap? (Score:3, Informative)
'Nuff said.
Re:defend his position that microkernels are crap? (Score:2)
Re:defend his position that microkernels are crap? (Score:2)
> QNX
You missed one word... In the free software world, I think L4 is the way to go...
Re:defend his position that microkernels are crap? (Score:2)
Re:defend his position that microkernels are crap? (Score:2)
Re:defend his position that microkernels are crap? (Score:3, Insightful)
Not quite sure that follows. After all, you can do that* with DOS and I don't believe anyone would claim that it's well written code.
* Well, more or less. You can fit that wacky Caldera browser, Arachne [tiscali.co.uk], (beware the 'orrible MIDI music) and some rudimentary network tools (SSH, VNC and ping) on a floppy. Arguably that's not a "full operating system",
Re:defend his position that microkernels are crap? (Score:2)
You should look at dietlibc and fnord, they are tiny but I wouldn't use the words well written. I'd like to give QNX more benifit of the doubt than assuming it's just as bad, but small is not the same as beautiful.
Re:defend his position that microkernels are crap? (Score:2)
'Nuff said.
Re:defend his position that microkernels are crap? (Score:3, Interesting)
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 k
Re:defend his position that microkernels are crap? (Score:2)
Re:defend his position that microkernels are crap? (Score:3, Insightful)
Re:defend his position that microkernels are crap? (Score:2)
Re:defend his position that microkernels are crap? (Score:2, Insightful)
I hate to point this out, but if mindshare is the criterion then Windows wins. Considering that the average person is almost always wrong, I tend to think that mindshare is a warning flag, not a recommendation.
Re:defend his position that microkernels are crap? (Score:2)
Re:defend his position that microkernels are crap? (Score:1)
Actually, I didn't take a position at all on the original question so I wasn't comparing anything with anything. I'm agnostic on the issue.
Re:defend his position that microkernels are crap? (Score:2)
Re:defend his position that microkernels are crap? (Score:1)
My "ifs" never move past the conditional; they are very reliable; that's why I use them. :)
Re:Ignite the flames of the microkernel debate aga (Score:4, Interesting)
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.
what it really means (Score:2)
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 ker
Bad Second Link (Score:5, Informative)
This makes me wonder... (Score:5, Interesting)
Re:This makes me wonder... (Score:5, Funny)
Re:This makes me wonder... ?? (Score:1)
Re:This makes me wonder... ?? (Score:3, Funny)
Yeah but...imagine a Beowulf cluster of them!
Re:This makes me wonder... (Score:2)
Re:This makes me wonder... (Score:1)
Re:This makes me wonder... (Score:5, Funny)
Re:This makes me wonder... (Score:2)
Hey, a new cs field is born - optimization by infinite recursion of paravirtualized Linux instances.
ARM v4 or v5 processors only (Score:5, Informative)
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.
Only? (Score:4, Interesting)
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.
Re:Only? (Score:5, Informative)
The reaction is not against the performance but the disingenious presentation. A cursory reading makes it seem as if the performance gain was somehow tied to it being a microkernel, or that the virtualization step somehow magically speeded things up. It wasn't - their kernel is using some platform specific optimizations that Linux doesn't, that's all.
Re:Only? (Score:2)
It's not "Linux is bad" just that they're using specific optimisations which haven't been realised in Linux.
Can anyone tell me where these would be applied? In GCC? In the Kernel? Stop using precompiled kernels?
Re:Only? (Score:3, Insightful)
It is interesting but (Score:2)
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.
Re:ARM v4 or v5 processors only (Score:3)
http://linux.slashdot.org/comments.pl?sid=185800&
Even on ARM4/5 it's a bit slower (Score:2)
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 tha
Re:ARM v4 or v5 processors only (Score:3, Informative)
Actually, I spoke to some of the ERTOS people today. They're doing some interesting stuff, but like another poster has pointed out their focus is not speed, but reliability and "trustworthiness".
Re:Informative? Only to those w/o senses of humor. (Score:2)
Re:Informative? Only to those w/o senses of humor. (Score:3, Funny)
A low slashdot id just means you've been heaping shit on the pile longer than anyone else.
Re:Informative? Only to those w/o senses of humor. (Score:2)
Neato but... (Score:3, Interesting)
Tom
Re:Neato but... (Score:2)
Re:Neato but... (Score:2)
Re:Neato but... (Score:2)
That's a biased way of reporting what they did: they used platform specific optimisation, Linux does it also quite often but the Linux kernel tested doesn't have this particular optimisation.
Twice the buffering (Score:4, Interesting)
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.
Re:Twice the buffering (Score:4, Informative)
The speedup comes from TLB caching between processes. Not from "double caching".
In Linux when you switch processes the TLB is flushed [e.g. reloading CR3 on x86-*]. This is a safe [but slow] way to ensure your virtual memory for a given process is mapped correctly. I'm guessing [didn't fully read the linked research papers] that they share a virtual memory base between processes but map processes to different regions or something. Unless they have segment limits this will cause problems with process isolation.
For those not in the know, a TLB cache holds the translation of a virtual address into a physical one. Parsing a typical 32-bit address requires several layers [with 4KB pages it's four I think] of table lookup which is slow if you had to do it for every memory access. For example, take your 32-bit address, the lower 12 bits is the byte in a 4KB page, the next 10 bits points selects one 4KB page, the next 10 bits selects one 1024-entry array of pointers to 4KB pages. [iirc]. It's even worse in x86-64 mode as we are parsing a 48-bit virtual address.
So the processor will cache TLB lookups. When you switch processes you have to flush it because the translations don't map to your processes physicals memory.
Tom
Re:Twice the buffering (Score:2)
I'm just saying most OSes *do* that then optimize to avoid it where possible. So you really do need a fresh CR3 bet
Re:Twice the buffering (Score:2)
Re:Twice the buffering (Score:2)
Re:Twice the buffering (Score:2)
Re:Twice the buffering (Score:2)
Native means performing according to whatever (naive) assumptions the compiler or pro
Hm (Score:5, Informative)
Fast Address-Space Switching for ARM Linux Kernels [nicta.com.au]
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.
Re:Hm (Score:1)
I remember on RISC OS it was not turned off (on?) by default as it was pretty unstable.
Re:Hm (Score:2)
Does this suggest an approach to Linux development whereby the Linux kernel is clean and abstract, and hardware idiosyncracies are handled by a virtualisation layer?
As always, I speak from a position of total ignorance.
Re:Hm (Score:2)
Re:Hm (Score:2)
At one time, this was a sure way to make money:
1. Find a hot-selling and useful business app that only runs on some other hardware, say x86.
2. Invest the time and patience to wade through 9,000 pages of obscure IBM wonkery ("those guys have a different word for EVERYTHING"), enough time at least to create a reasonable development environment for yourself.
3. Code the app.
4. Profit.
May
Re:Hm (Score:2)
RTFA - Wombat is slightly slower, not much faster (Score:2)
Re:RTFA - Wombat is slightly slower, not much fast (Score:2)
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
L4 deserves some attention (Score:3, Insightful)
As far as I know L4 is one of the microkernels with more efforts for development. Along with MinixV3 [minix3.org] of course.
Re:L4 deserves some attention (Score:2)
When running Linux under L4 (like in L4Linux), when the Linux process dies because of a bug, the system DIES. Sure, you can restart it, but so can you do in linux when something oopses using Kexec.
L4 was written to run real microkernels on top of it. If you want to run Linux instances so that a crash of the kernel doesn't crash the system, you'd surprised to know that Linux already includes in it's heart a vm-ish/mic
Re:L4 deserves some attention (Score:2)
Re:L4 deserves some attention (Score:2)
Re:L4 deserves some attention (Score:2)
Linux runs like some kind of background task, and so won't disturb the RT tasks.
Architecture dependent outperforms? (Score:2)
I fear that Linux running over a "normal" x86 CPU outperferms almost everything else.
Re:Architecture dependent outperforms? (Score:2)
And maybe there will be a way to embed that technology [nicta.com.au] into Linux!
Pet maths peeve (Score:3, Interesting)
(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
Re:Pet maths peeve (Score:2)
Definitely a problem with your interpretation of the english. "smaller by 30 times", "smaller by a factor of 30".
The "less" there isn't read as a (subtraction) operator.
Re:Pet maths peeve (Score:1)
Yeah, english is like that.
Re:Pet maths peeve (Score:2)
Natural language don't have those requirements, it's intention is to communicate an idea and if this is successfully it don't m
Re:Pet maths peeve (Score:2)
Re:Pet maths peeve (Score:2)
30 * virtualized = native
Re:Pet maths peeve (Score:3, Insightful)
Re:Pet maths peeve (Score:2)
As somebody familiar with the project (Score:5, Informative)
Considering the work that NICTA does with companies that produce embedded hardware like Qualcomm [nicta.com.au], 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)
IME WINE was faster than native MS Windows (Score:1)
So such paradoxes are far from unusual.
Of course, we could combine these two improvements...
FatPhil
A new form of energy (Score:3, Funny)
Time to cue up some U2 (Score:4, Funny)
Re:Time to cue up some U2 (Score:4, Funny)
Re:Time to cue up some U2 (Score:2)
The more microkernels the better? (Score:4, Funny)
So if a para-virtualised microkernel runs a para-virtualised microkernel running Linux, then there should be an even greater speedup?
Strange (Score:3, Insightful)
Welcome (Score:3, Funny)
I call BS (Score:2)
So? Virtual WinXP faster than native on iMac Duo (Score:2)
Tests showed the Virtual PC ran consistently faster than "BootCamp" [anandtech.com] 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 lik
Re: (Score:3, Interesting)
Re:What about Exokernels? (Score:2)
Re:Wombat (Score:1)
Considering the sense of humour normally displayed by these guys, it's more likely to be because the wombat eats roots and leaves.
Re:Wombat (Score:1)
Waste
Of
Money,
Brains,
And
Talent
Re:Completely misleading article submitted (Score:2)
Do you wish to receive their heads on a stainless steel spear?