If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

Test Driving GNU Hurd, With Benchmarks Against Linux

07-18-2011, 09:00 AM

Phoronix: Test Driving GNU Hurd, With Benchmarks Against Linux

Last week there was a GNU Hurd status update, which generated a fair amount of attention as it stated there are plans for a Debian GNU/Hurd release in conjunction with Debian "Wheezy" when it's out in late 2012 or early 2013. After being in development for more than 20 years, the Hurd is finally taking some shape. The Debian GNU/Hurd installer for Wheezy is even now working, which I tried out and ended up porting the Phoronix Test Suite to GNU Hurd. In this article is a brief look at Debian GNU/Hurd along with the first-ever benchmarks of Debian GNU/Hurd against Debian GNU/Linux.

I don't know about the deep things but I'm surprised that Hurd is actually comparable to linux. Well, now it depends on supporters. But its still monstrous amount of work.
Implementing all the features of modern OS is hard, but I guess there's a lot of done stuff floating around.

Comment

I think it's interesting that, despite the vocal Microkernelist group extolling the superiority of their championed design methodology, these few tests show a system only managing to be just as performant.

Considering the relative maturity, this isn't unexpected. But if you consider the years (~7) that have gone into false starts (>=2) at moving to a different design for said microkernel.... well, I can't help but feel as though the point was missed somewhere.

Comment

I think it's interesting that, despite the vocal Microkernelist group extolling the superiority of their championed design methodology, these few tests show a system only managing to be just as performant.

Considering the relative maturity, this isn't unexpected. But if you consider the years (~7) that have gone into false starts (>=2) at moving to a different design for said microkernel.... well, I can't help but feel as though the point was missed somewhere.

But what was the point of a microkernel design? I seem to remember it having a lot more to do with security and stability than performance.

I expect the CPU performance of Linux is well enough optimised that no other kernel is going to be able to do significantly better, don't you?

Comment

But what was the point of a microkernel design? I seem to remember it having a lot more to do with security and stability than performance.

I expect the CPU performance of Linux is well enough optimised that no other kernel is going to be able to do significantly better, don't you?

There's been a lot written about L4 and high-performance, so I guess it depends on who you talk to.

From what I know, microkernels are supposed to scale up to many threads well, right? The whole idea behind it seems to rely on processes being plentiful and cheap. Well, Linux has that. fork() in Linux is awesomely cheap and scales to SMP configurations nicely.

Hurd does not. (I have no reason to believe the basic flaws documented in Mach more than a decade ago are absent). Michael's write-up necessarily cannot touch on this because it's single-threaded raw performance measurement, but being slightly behind in this unrealistic synthetic test puts them substantially behind in a real computing environment. So in a sense, the real issue seems to be their complete inability to migrate to a different kernel.

Microkernels are aptly named-- you should be looking at something in the 10k SLOC range according to the conventional wisdom. The whole idea is your core kernel is small and modular and you can maintain it more easily. So, what happened? I haven't the foggiest, but I have to think something is horribly wrong with Hurd if the Ur-troll and his entourage can't accomplish that on that time scale.

Comment

There's been a lot written about L4 and high-performance, so I guess it depends on who you talk to.

Not really. There's been a lot written about L4's high performance for a microkernel. Nobody has ever suggested that microkernels will compete on performance with monolithic kernels, and it is not logical to think they would. They are only intended to be simpler, and thus more reliable and secure.

The benchmarks seem to show that the performance of Hurd approaches that of linux - which I think is very impressive. Hopefully more benchmarks will be runnable soon to give us a more complete view.

Comment

I think it's interesting that, despite the vocal Microkernelist group extolling the superiority of their championed design methodology, these few tests show a system only managing to be just as performant.

Considering the relative maturity, this isn't unexpected. But if you consider the years (~7) that have gone into false starts (>=2) at moving to a different design for said microkernel.... well, I can't help but feel as though the point was missed somewhere.

Umm, you do know that these benchmarks are POSIX programs and as such are running in "POSIX compatibility" mode in the hurd? You aren't going to see any microkernel performance enhancements until we have programs that are written for that environment.

And actually it's really pretty impressive that their "compatibility mode" is running almost as well as Linux.

Comment

Thanks for the insight into a recent Hurd software compilation. Was an interesting read for me.

Still it lacks devs and microkernels are a fine thing in theory but need lots of work in reality.
I'm glad Linus chose monolithic approach so we already have a free OS with a broad hardware support today.