Byte Benchmarks Various Linux Trees
urbanjunkie writes: "Moshe Bar has an interesting article, essentially benchmarking the standard kernel (with aa VM) against the -ac kernel (with Rik's VM)." He also raises some very interesting points about how patches (and entire development trees) interact.
of course they wouldn't actually benchmark each kernel and distro separately....too much work i guess
While I personally may not have agreed with this synopsis prior to reading the article (and am still not completely sold...), there are certainly some interesting facts and figures to ponder the next time you reload your system or update your kernel...
Beer is proof that God loves us and wants us to be happy. -- Benjamin Franklin
[from the article...]
> As Jerry Pournelle pointed
I always though he's a sience-fiction author?
---
Sorry for the dumb, offtopic questions.
I'm sitting at home with my fresh install of RH 7.1 and I'm wondering what kernel to upgrade it to. Any suggestions? Is there a stable one in there somewhere that I should go with? Should I stick with the default kernel that's on their now?
If I'm regularly compiling new programs using gcc or g++, is it safe to go from one tree to another, as long as they're all 2.4.x, or what? Do I need to recompile with a new kernel? Or is that a red herring?
--------
Bleah! Heh heh heh... BLEAH BLEAH!!! Ha ha ha ha...
Open Source has shown itself to be an effective strategy for the implementation of small to medium sized projects. Many eyes, blah blah blah, and the project leader makes the final decision on what goes in. It's very cool.
/. before, when projects pass the "medium sized" mark, the effectiveness of having such an open system becomes self-defeating. It's simply a case of too many people having too many different ideas about the direction the project should take.
:-(
However, as was discussed on
With closed source, a single person can make all the final decisions about what will make it into the final release, but Open Source has no such system. A person who feels that his ideas are not being taken seriously can fork the project and create his own possibly incompatible tree. This seems to be what is happening now with Linux.
At the early stages of tree forking, there is usually little problem. Most of the forks coexist with each other peacefully with only minor manual tweaking to fix any conflicts. Over time, though, further development along one of the forks will inherently diverge further from the root tree.
The argument that good patches will make it back into the root tree, thus preventing fairly deep splitting, is fallacious. Many of the reasons for forking are precisely because the root project refuses to take a fix from a contributor. What happens afterwards is that users will get 'locked into' a particular strain of the project and will be unable to incorporate other good features that are present in other strains which, for whatever reason, can't be merged into their chosen strain.
Kernel hacking just isn't as fun as it used to be.
I won't disagree, but which is stronger as a "desktop OS"?
That's where Linux shines compared to the *BSDs. Sure, use it on your headless servers, but for a b0x at home, most simply prefer Linux.
If you celebrate Xmas, befriend me (538
More like a Red Hat.
If I weren't nailed to the penis, I'd be pushing up the daisies!
I'm waiting for a standardized procedure to allow downloads of the latest updates and patches,ie: just like MS.
Help pay for my wedding! Go to my kickass website
Can anyone explain this? Was the stock 2.4.9 faster and more reliable than our current stable kernel? If there are stability and speed patches in the RH kernel, why haven't they been adopted in the standard kernel? How close is RHs 2.4.9 to Alan Cox's kernel? I'm assuming he has a strong influence on RHs kernel.
The rmap patch is nice.....
.....
It makes a big difference on loading the hell out of my woefully under memoried workstation at work. My home machine, used mostly for surfing has seen a dramatic imporvment in free memory and is no longer swappin , it has 512 meg, so it really shouldnt swap too much, but was constantly with the stock redhat kernel, as well as 2.4.17 plain vanilla, trhe 2.4.18 -rpma12a has been ROCK solid.
On my server however with 256 megs , the stock redhat roll has done nicley with the minimal load its under.
I am a little leary about using the rmap in prouction as of yet, it seems to be killing things each nigh, (no shit) that dont drop with 2.4.17 or 2.4.9
I would like to see an option at configure to select a VM, I think the preemptive added would be fun too, I know its a pain because of the way it all intergrates to the other code, but thats my desire, it seems to be alot of other peoples desire as well, its funny how I bitched and moaned about the Riel VM , that was in the kernel prior to AA's , but since then and all the patching that was done I think Riels would give it a run for its money
Sig went tro...aahemmm.....fishing........
2.4.9 was the last official kernel from linus which used Rik van Riel's VM which was introduced in 2.3.x. (The switch to Andrea Arcangelis VM occured in 2.4.9->2.4.10) Alan Cox and Red Hat used this in their kernels, and the Red Hat kernel was heavily patched with the patches from Rik van Riel which Linus "reportedly" dropped (among other things). The Red Hat kernel is also _very_ well tested, as all their kernels are. You might not like their distro, but their kernels are usually among the more stable.
Thanks to Alan Cox, Red Hat (and most Linux distributions) do have the patches for my VM that Linus didn't have the time for.
It is hard to believe that all this is going on with what is meant to be a stable kernel version, ie 2.4.x
So far the VM has been replaced twice, and now the rmap patch is apparently going to be added despite the fact that "something is seriously messed up in the reverse-map implementation".
Have they saved any experimental code for the 2.5.x kernels, or will that now be stable?
There was no stock 2.4.9 in the test; only RedHat's highly modified 2.4.9.
RH 2.4.9 is a lot like the ac kernels. Mainly because, Alan runs that part of the RH distro. But, there are many concerns that RedHat addresses. They work with corperate customers and partners (like Oracle) to make sure the kernel they ship is as stable and fast as they can get it. So the RH kernel does diverge from the "plain" AC kernel.
Of course they submit all their patches back to Linus. But Linus just hasn't been keeping up with them. Linux accepts patches based on three factors: his previous experience with the developer submitting the patch, the "correctness" of the patch, and the phase of the moon. And the phase of the moon is the dominant factor, because even Alan Cox complains that Linus won't accept his patches.
So the RH kernel is excellent because Alan Cox, RedHat, and RedHat's corperate partners make sure the kernel is fully fleshed out. This is the kind of vetting that Linus doesn't do.
"If it compiles it is Good, if it boots it is Perfect!" -Linus Torvals.
-- I am not a fanatic, I am a true believer.
There are various patches like the Robert Love's preempt patch which might be considered production quality. And perhaps some collections of production quality patches exist out there. But I wouldn't say -ac or -dj are in that category.
Or any of the patches marked 'preXYZ'. They're 'pre' for a reason you know. I'd be thrashing them on test servers, then giving feedback to the maintainer of that series. Let the maintainer declare them stable first.
You'll find in environments ambivalent to Linux that you really need to prove its stability to management first. Trying a new whiz bang kernel can have unforeseen side effects, in meetings that you'll never be invited to; and whose outcome you will only learn when it's too late to change it. "We let Bill convert server X to Linux and then it corrupted the filesystem. Clearly Linux carries more business risk than expected."
Ash OS durbatulk, ash OS gimbatul, ash OS thrakatulk, agh burzum-ishi krimpatul! Uzg-MS-ishi amal fauthut burgulli.
C'mon guys. Show a little open-mindedness. One of the things I really missed from the Windows world when I switched to Linux was the "Windows Update" feature. Want to install the latest security or feature patches? Click a check box and hit "install". No dependencies, no patch conflicts, no esoteric config options, it just worked. Admittedly Ximian's Red Carpet comes close, but it's still a little quirky sometimes.
I know there will always be those people who want to manually tweak their kernel (god bless 'em!). There's a lot of us, though, that don't want to deal with it. I'd rather have one-click shopping for all of my patch needs so that I can spend more time writing code or playing Quake. MS understands this. Apple understands this. Why doesn't the Linux community understand?
This
If only there were options like (-1:Clueless), or perhaps (+1:Pretending). That would be an interesting intelligence test for your average /. reader ;-)
- 1:Overrated)(-1:Overrated)
This posts' moderations:
(+1, Funny)(-1:Overrated)(-1:Overrated)(-1:Overrated)(
oops!
If you're using a fresh install, stop now.
You should use RH 7.2 instead. It comes with kernel 2.4.7 or something, but can (and should) be upgraded to RedHat's kernel 2.4.9 via up2date. The RedHat kernel is quite stable and fast.
You can accomplish anything you set your mind to. The impossible just takes a little longer.
I'll probably get flamed for this - but I installed 2.4.17 from Red Hat's Rawhide distro (find it on rmpfind.net) and it worked like a champ.
rpm -Uvh kernel-2.4.17-athlon.rpm or whatever it was and rebooted. I'm sure everyone will chime in on how 'evil' it is to install a kernel by rpm, but for my typical desktop box, it's no big deal.
I think you'd need to get the new modutils package, but i don't recall.
Thats amazing considering none of the 4.4BSD derivitives have existed as long as Linux. Nice try though.
A major problem with alot of linux admins is shown in the article. It's not about how fast your kernel is, especially when it comes to a 2 second difference in 50 seconds of computing time, but how long your machine will stay up.
If a user compiles 35 gigs of code on a 6 processor box and it takes 5 minutes longer, he is not going to complain. If he compiles 35 gigs of code on a 6 processor box and it crashes half-way through the compile, your going to here it from your boss.
Benchmarking kernels is plain pointless. Take a machine for each kernel, put it under real load and tell me how many times it crashes in 100 days, and I will you which kernel I want to use.
Linux O Muerte!
Numbers numbers numbers... what does all of this mean? I can't see the point benchmarking something generic like that. The kernel first of all wasn't meant to be used like that so it might very well not perform well on the benchmark.
:/
So, pushing the limits a little, i could say that this isn't much different than 'bogomips'
Note that the physical counterpart thought (where you test run, for example, a car for days on end to measure it's endurance) does not apply here.
Then again, this might actually mean something regarding the low level procedures responsible for allocating memory. Never read source, tho, probably never will, out of my league
Looking for people to chat about multicopters, coding, music. skype: gtsiros
then why is your -rmap patch a diff against the -aa VM? I thought your own old VM should be superior, have you stopped believing in it? And correct me if I'm wrong, but isn't RH porting it to a more recent 2.4 kernel?
Or is the article incorrect?
I think Rik's discovered a good new way to karma-whore.
/.
1. Write a VM.
2. Get a fine article written about your work
3. Have somebody post the article on
4. Post. Post. Post.
Rik's put in at least 3 comments in this tree and they're all being mod'ed up.
I'd better start on my own VM!
(Or, I'll write a reverse disk-sector mapper)
I take your points about forking, but as a counter-example I'd think about the BSDs instead. They all operate under the same license, all forks from roughly the same code base.
The advantage here is that with three BSDs you have three separately-tuned operating systems that attack different problems very well, yet maintain a certain level of commonality and compatibility.
Call me a starry-eyed optimist, but my exposure to this open source fad started with the Wired article in the autumn of 1997. In it the writer painted a picture of a 'computing epic', one collectively started and maintained. I still think that metaphor is accurate and useful.
========================================
Death will come, and will have your eyes
-- Pavese
The current kernel supported by Red Hat for Red Hat Linux 7.1 is 2.4.9-21, which you can see does a good job in this test.
It's good to see that Slashdot users still don't use computers for anything... I'm not looking for a system with better uptime than Win95, and that seems to be all you guys want.
I can't have multiple crashes in 100 days. If you are doing real load, spend real money, get real systems.
Don't build machines with your screw driver, get QA'd servers. Don't roll your own kernel, let Redhat test it.
These types of tests are useful as commentary and recommendations for what people should do in the development process.
Since I've seen posts from at least one kernel developer in response to the attached story, I figured that this might be a good place to ask the following question:
A little while ago, I wrote an application that uses an incredible amount of memory... A very space inefficient implementation of Eratosthenes' Sieve. In essence, what the algorithm does is cycle through the entire contents of memory sequentially many, many times (not a completely correct description). What I found with the following three kernel versions:
- 2.4.4
- 2.4.8
- 2.4.17
is that any time the program's footprint exceeded the physical ammount of available memory, performance degraded exponentially. I found this to be very suprising, considering that I was only exceeding the physical 1024 Megs of memory by less than 10 Megs. About the only difference between the three kernels I listed above is that the 2.4.17 kernel would kill of memory intensive processes a lot quicker than the other 2 versions.My question for the Kernel gods out there is as follows: are there any stable 2.4.x kernel releases out there that would handle this type of stress without the performance degradation that I've experienced with these kernels?
Under the section "Allocation and Swapping Results," I assume larger numbers are higher times and therefore worse. By the numbers, 2.4.18pre2aa (the Arcangeli kernel) seems to be the fastest overall, due to the 5th run (I would consider it the common case) results. Yet Moshe says:
"From the above figures it seems that the old van Riel VM is somewhat faster (considerably faster in the case of 2.4.9) than the new Arcangeli VM..."
Is my math wrong? The RVR VM in 2.4.9 is ever so slightly faster on the 2nd run and slower on the 5th, and the slowest of all is the newer one in 2.4.18pre3rmap. What's my mistake?
Moshe's politely indicating that van Riel was an ass when asked for comments; we can conclude either that Moshe didn't have a proper recent RMAP kernel to test with (as a result), or that the recent RMAP kernels are hit and miss.
From looking at van Riel's comments here, he vehemently believes his kernel is perfect and Moshe just got it wrong... The problem is that lots of people seem to "get it wrong" with that VM, including Linus... Overall in Rik I get the sense of an aggressive person who may have trouble admitting mistakes or accepting failure; not good traits in a programmer, since it's humility and communication skills which can often be the critical factors in a team programming effort... and lack of them can cause exactly the kinds of problems we've observed.
We're on the road to Tycho.
I'm using FreeBSD as a desktop OS at home and as a workstation at work. It's simply great!
There are only two advantages I see to Linux that makes it a better "desktop" OS. First, they put DRI in the kernel. They're working on this now for FreeBSD, but there's a lot of resistance to keep userland stuff out of kernelland. If all you care about is running games, then FreeBSD is not it. Go get a PS2 or an XBox.
Second, the popularity of Linux gives it a greater pool of developers to draw from. So Linux gets new device drivers faster. But you still will *not* get Linux shoehorned into this week's premium super buy at CompUSA. With Linux you have to wait around three months to get a driver for brand new hardware. With FreeBSD you have to wait about six months. If you buy computers more often than once every six months, stick with Linux. As for myself, I had no problems with FreeBSD on a stock Dell Optiplex GX240.
In terms of desktop software, don't worry a bit about it. They're the same on both platforms. Identical. Staroffice, GNOME, KDE, Xmms, Gimp, Mozilla, etc.
A Government Is a Body of People, Usually Notably Ungoverned
Second, the popularity of Linux gives it a greater pool of developers to draw from. So Linux gets new device drivers faster.
You would think that most companies would embrace the BSD license over the GPL, as it allows the companies to write drivers without having to release the source.
The World is Yours.
Then, if they are all compatible with each other, where is the harm???
You have *diversity*. Unlike the M$ world where you don't.
Sure, it is hairy at first... but once you get used to the fact that Linux is all about diversity... having choices... many, many choices... you come to like it. In fact, the monolithic Windows really gets on your nerves once you fully appreciate Linux.
You can even view all the different versions of apps they've put out as various "forks". Heck, some of them are even compatible to some degree (but not too much - else we peon's wouldn't be forced to upgrade so soon).
Security through obscurity works like this: it takes someone who knows how to patch a kernel to use all those security exploits in Linux.
No, I do not mean eXtreme Programming -- for the ultimate centralized source repository you should try Windows XP Shared Source.
And they all forked from THE Original Berkeley Software Distribution, didn't they?
Well, except that you can release drivers (that need to interact with the kernel) as kernel modules [in binary form]. Nvidia, and lots of other companies have drivers in the form of binary kernel modules.
There is just no such problem, imho.
Constitutional rights may be respected, repealed, or modified; but they must never be ignored.
<speculation> AFAIK kernel uses a hairy buddy system (but I did not check that myself), if that is the case, not whole memory is accessible in an arbitrary allocation sequence. So your analysis of exceeding 1024Megs of memory by less than 10 Megs is incorrect. You have to allocate progressively smaller page sizes that follow fibinocci(sp) series (or something like that, see your local kernel hacker for more info) if you want whole your data in memory. </Speculation>
Gentlemen, you can't fight in here, this is the War Room!
This is not a flame, am really just curious...
:-D..?
I compiled and ran the "memory hogger" application
and it did not eat more than 424K on FreeBSD..
I know you have a lot more to do thatn to answer silly simple questions BUT.. why is that
Thx in advance..
I don't know you guys, but my all-time favorite benchmark tool is Seti@Home. =) The distro which spits out more work units, that's what I'll take. And my linux box does 5 times as fast as my w32, mind you. But you already knew that, did you? =)
Txurlo
At least, in Europe and the East it is already Tuesday.
There's a big problem in your argument. You assume that when someone "buys a new system" they are getting all of the very newest hardware.
I venture to say I am not alone, in that when I upgrade, I always upgraded to hardware that was already out at least 6 months anyway (even when I ran windows), that is where the sweet spot is in price/performance ratio usually.
So, one could buy a new system every 6 months, with no driver hassles at all, if they just trail the market, like I'm sure millions do. (at least everyone who isn't rich and wants the most for their money).
I've had enough abrasive sigs. Kittens are cute and fuzzy.
Unles you use a lot of decimal digits, the answer is zero, no matter which Linux kernel tree you have. The less reliable hardware modules in my system have 100000+ hours MTBF, and I make sure they will not fail due to software.
Nothing evil about it at all. I compile my kernal because I have to patch in some drivers, and like to specify certain modules to be included in the kernel and certain mods to not be. But if a straight rpm kernel works properly why not. (you do get a slight preformance increase with a compiled kernel btw, as its optimized to your hardware exactly when compiled, but I digress)
So how do you measure page faults? Be sure your kernel is configured with "BSD process accounting". Then use a shell like tcsh. The man page of tcsh describes the "time" variable, you can set it to report the number of major/minor page faults that occured during the lifetime of the process.
I did my own unscientific test back in November. I ran 32 simultaneous instances of mpg123 on a just-booted machine. Among other things I measured the number of page faults. The results for the then-current kernels I had were:
those number are the means of the 32 values from each process. Anyway, you get the idea.
Why would I want to play Quake at a measily 60 fps for 2 years straight, when I can play it for at most 1 hour at a blazing 61 fps? :)
If you see a Linux kernel crash, it is either hardware failure or a kernel failure. Since hardware failures (especially RAM and power supply) can be imposssible to repeat, the only way to prove that it is a kernel failure is to find the kernel bug. If you find the kernel bug, then the bug gets fixed, and suddenly your crash data is for an obsolete kernel.
You could try to take a statistical run at it, of course, but I suspect the number of machines required to give meaningful results would be on the order of Google's farm.
As far as gaming goes you could also keep you PC and install Windows. You don't need a PS2. FreeBSD is nice but Linux has got better marketing ad a name. Everybody heard "Linux" at least once, much less people know FreeBSD.
If everything goes according well, your kernel should swap out and swap in exactly M amount of memory for each preaccesing pass, where M is the amount of data that does not fit in the main memory. So if you have total memory T, total data T+M and K*J size prefetch, total swapped data per whole process would be M*(T+M)/(K*J).
Gentlemen, you can't fight in here, this is the War Room!
Is there any telling what patches are used in the Red Hat kernel releases? Or is that a trade secret? I know the source is there, but when you start talking about multiple patches, it seems like it would be a tough one to figure out.
It seems like this may be the key source of competitive advantage for a Linux distribution vendor: the know-how to optimize the kernel and other software to make a fast, stable system.
Your ideas intrigue me and I wish to subscribe to your newsletter.
"Then he signs off on his latest friends book about how the white people are better than non-whites, and how America should just nuke the rest of the world, after it has finished up using all the oil that is there."
Now your just making this up.
Now, the bigger question is.. why would linux's vm allocate empty pages?
The raw performance of the VM is certainly important and all, but what I'd like to see are some *application* benchmarks among the various kernel trees. Star Office, the window managers, KDE, GNOME, etc. Graphics. Storage. Networking. Unles we're talking heavy metal servers running the usual suspect daemons the average user doesn't really give a hoot if the VM is well-designed or not - only if The Gimp runs quickly enough.
send me money
Yes, I post the link to this here all the time, I think it's useful to people.
-- Could you use my software consulting serv
Why can't I have both stability and speed?
Look at the end of the article - March 2002 Byte Magazine is coming back.
Any idea when RH's 2.4.17 will be the "supported" kernel? I am using vanilla 2.4.17 now, since the ieee1324 drivers lockup my RH 2.4.9 kernel.
Oh of course! But I see so many posts to the FreeBSD lists from people with one week old technology that I had to at least point it out. The problem is that people don't use the latest releases. They go to Fry's or CompUSA and pick up a shrinkwrapped box that will often be several releases behind.
A Government Is a Body of People, Usually Notably Ungoverned
Well, except that you can release drivers ... as kernel modules
Ditto for FreeBSD. Unless of course that is what you meant.
A Government Is a Body of People, Usually Notably Ungoverned
From the article:
While Linus seems to always show good manners and a motivating approach...
Are we talking about Linus Torvalds or another Linus that I am not familiar with?
Is he nicer on the Linux Kernel list than he is on the GCC mailing list? GCC is actually more complex than any one of Linux's kernels! Furthermore, it would not be enjoying the widespread portability if not for the GCC compiler he claims to loathe so much.
Wow! Reading this story at +5 is like seeing Rik van Riel have a conversation with himself!
"The scientist describes what is; The engineer creates what never was." - Theodore von Karman
How can you take a guy seriously when he writes a book in which science fiction writers are guys who save earth from an alien invasion.
His knowledge of history is woeful as he does not appear to have heard of the Marshall plan. Without that, we would have had WWIII already, and with one after WWI, maybe no WWII.
Microsoft - Where would you like to go today, Maybe Jail?
In the context of evolution Torvalds represents natural selection, and kernel developers changing the code represent mutation, albeit a poor representation because the developers have some sense and purpose in what they do, while mutation "in nature" has absolutely none.
I have to disagree with the notion that this isn't Exactly how evolution occurs. Evolution isn't Random, Virus are the vector for almost all radical natural genetic manipulation. The purpouse of a virus is to use the resources of a host organism to replicate it's DNA sequences because Virus are too small to replicate themselves. In doing so It injects it's DNA inside a host cell and basically exploits the RNA strands inside to replicate it's own DNA. While doing this The virus can in fanct find new DNA within the host and borrow it for it's own protection. In many cases this is to make it resistant to antibodies produced by the body (HIV.) Now, not all Virus destroy the host cell especially when antibodies destroy it before it can complete it's task. In some instances the Virus may act as a Vecor Borrowing the DNA from one species, and inserting that code in another. Many virus can cross infect species. For example humans and pigs can catch influenza from each other. Geese and pigs can also catch influenza from each other, while humans and geese cannot infect each other with influenza.
Virus are acting for thier own self promotion and preservation. When a DNA stand from one species makes that species less able to destroy them they would try to splice that DNA into as many species as they can. Comparing that to kernel developers
is pretty straight forward. They try to 'infect' the kernel tree with the 'code' they've produced for any number of reasons. Being known for coding on linux, to get promotions at a linux friendly workplace, for the challenge and fun of contributing to the linux kernel, or just to fix something so that they can do something with linux that they were trying to do but couldn't.
This introduces variation along the same analog as virus changed DNA. As for 'uncorrected errors' in the DNA strand the only thing we can prove comes from that is cancer. Thus that type of 'mutation' is analog to 'bugs' in the code of the linux kernel. Unfortunately humans aren't anywhere near as good as the roughly 99.7% error correction rate of replicating double helix DNA strands, so code tends to get a lot more malignant tumors (root exploits) to cut out.
https://www.gnu.org/philosophy/free-sw.html
Let's see, if you are testing a kernel for a production system with real tests (you know, you have probabbly read about them!) then if it goes down once in 100 days then it's off my list.
Aim a little higher than - as another respondant said - Windows 95 (which wasn't designed for serious use anyway!).
Hmmm, I sure wish I had a system that could swap out over 400meg/sec. I want his 18gig HD's! 200meg/sec to each of them!
Just checked the source, vmstat doesn't normalize based upon how long it really took. Without time stamp information on each line of the vmstat, the swapping rate is not reliable. Almost all OS's have this problem. You aren't suppose to do benchmarking with vmstat.
John-Mark Gurney
I'm using kernel 2.2.20 with the Riel VM (I'm guessing) on a Debian box. I've noticed that everyday my memory slowly creeps away. First I had 100MB free RAM and now it is down to 20MB after 14 days and still is going down. Could this be related to the van Riel VM? or perhaps the ext3 patch I'm using. Sorry if this is seems offtopic.
it seems that the vast majority of commentary here all assumes that a linux machine is run as a server, or at best, some kind of generic desktop machine. while linux may be very good at running servers, and may be capable of acting as a good generic desktop machine, some of us are interested in it for much more specific tasks such as realtime audio processing, editing, synthesis and recording. we care about those extra 2 seconds spent in the VM code during a benchmark. we care about all the extra paging that goes on with some designs. we care about the internal operation of the buffer cache and how it affects attainable peak i/o performance because we stream, and when i say stream, i'm not talking about measly HTTP numbers, i'm talking about 64-128 streams of 24 or 32 bit 96khZ audio data. stop assuming that a top-end linux box is a server, please.
Why, yes.
For those who think the free/open source development process is somewhat socialistic, I disagree. What we see happening is with a large supply of high quality patches coming out for the kernel, the value of the patches are going down. So, for the authors to get what they think it is worth, we now see 'branding' of patches, by the likes of Rik. Advertising and talking up a patch increases it's value, creates a loyal client base.
We probably will see a 'recession' in patch production due to the overheated supply and low demand. Then the quantity of patches will decrease, raising their value and prominence, which will then start the cycle over again. And I think the attempts at 'regulating' the supply and demand of patches will have the same effect as it does in the real economy. Supply will stabilize, quality will drop, and eventually the whole thing will stagnate.
Derek
I agree completely. While the tests performed are very useful for those people running server processes, the entire article ignores most end-user applications. He didn't even bother installing X on his test systems (though naturally one doesn't need KDE to keep a company running). I would love to see a benchmark comparison for real end-user user applications. And since this is Linux, have a separate section devoted strictly to the stability of these apps.
Sadly, I don't think this question will be answered today, for so many zealots still think you can "sell" Linux without convincing Joe User that open source can answer all their needs just as well as other, more Redmond-based solutions. While I have no gripes with the article, I simply wish Linux gurus would step back from their BASHes and see that there's a whole world of regular people just trying to use computers as tools for their jobs and varied interests. I want to know how GIMP will run. I want to know how good Konquerer is compared to IE. I want to know how the speed of KDE/GNOME's UI is compared to Windows 2000. Unfortunately, I think this will probably be too "beneath" most kernel hackers to address.
Listen, people. The reason that the Evil Empire is doing so well is that thousands of people are buying their software. Thousands of people that have better things to do than trying to keep their computers operating. You like programming? That's fine. You probably make a living in the engineering field. Personally, I make a living doing design and advertising. That means I will take the solution that is reasonably fast and doesn't crash while I'm editing a 600 meg graphic file or a 4 gig video. I love open source software (and wish sourceforge would offer more Win32 app development, but whatever), and will support it in a more knee-jerk way than any MS solution, provided people actually have the guts to compare the two.
The linux-2.4.17 kernel rocks the world. I have had not a single problem since compiling and installing it AND I've also had more things begin working.
Before 2.4.17, I couldn't get sound to work with Return to Castle Wolfenstein... trying to run the game with sound would just put the machine into a probable race state... I'd try to run a program and it would just hang... switch to another virt term login run top and hang...
I'd have to restart the machine because I couldn't even kill the processes. But with 2.4.17, NO MORE PROBLEMS.
Me is a happy camper.
Codifex Maximus ~ In search of... a shorter sig.
You would think that most companies would embrace the BSD license over the GPL, as it allows the companies to write drivers without having to release the source.
Then they're not embracing the BSD license then are they? They're merely using what is free.
Moshe Bar... Ever since this guy compared FreeBSD 4.4 and Linux 2.4 and "raised" the FreeBSD MAXUSERS setting to 20, I don't trust a single word he says. And look at him, just look at him! Do you trust that shaven face?
The Marshall plan had next to nothing to do with preventing WWIII. The development of atomic weapons was the true culprit.
Of course, whiney librals have to make up reasons we haven't had another world war to avoid facing the stark truth.
Dont take no crap from the haters
I'm going to disagree with this notion of evolution. Evolution is not undirected. The current environment gives a good deal of direction to the sorts of evolution that occurs. For example: evolution appropriate to tropical beaches is unlikely to occur in the arctic tundra.
Similarly, Evolution in the Linux world is also mostly in reaction to environmental needs. Where the difference in randomness comes is that the mutations that lead to biological evolution are generally random in nature -- but environment and statistics choose which mutations lead to enhanced viability.
For Linux, patches are generally in direct response to specific needs. The nature of these changes are directed by nature but generally random in form -- ranging from the icky to the elegant. Fork maintainers like Torvalds and Cox are more like the social interactions which can shift the survivability of an otherwise brilliant mutation/patch. Although this social rejectin will deeply affect survivability, an especially bright change can still give a survivabillity edge that makes up for the rejection
This is really the pleasant aspect of the Linux community; exactly those people who are busy and sought after by many journalists and hackers are also those who take time to answer questions with enthusiasm and a very positive attitude. Thank you Andrea, thank you Alan.
This is something of a chicken and egg proposition. Those people "who take time to answer questions with enthusiasm and a very positive attitude" are precisely those who will likely be sought out by Journalists and others. I mean -- come on! Are you going to take your question to someone who regularly beats into submission anybody who comes to them with (what they consider) a non-profound queston?
Journalists, especially often need their question answered today , and can't be bothered to wait for someone who berates them for half an hour for asking a straightforward question -- especially if they then forget what the origina question was (no known anectdote comes to my mind).
Sometimes boldness is in fashion. Sometimes only the brave will be bold.
A more realistic test would force the VM to get the best working set in limited memory. For example, two processes allocating (and writing random data to) 100% of real memory (each) and regularly accessing 40-55% of that would stress things nicely. Adjust the accessed percentage to test the system in various situations...
What are your reasons for categorizing people in black-and-white as "liberals" and presumably "conservatives"? Moron.
Perhaps the reason slashdot has so many trolls is because people like you are just plane rotten dirty scoundrels.
/_
I hate you (_O_) (_O_)
Yes, I hate you /
I really hate you
I hate you alot _______
I hate you quite a bit / \
I hate you.
Since when was it even possible to have a Dual P4 board? Dual Xeon: Yes, Dual P4: No!
Normal people worry me!
Perhaps a "magic" VM could solve these problems. The magic here would involve the CPU checking it's instruction stream against it's hardware assisted TLB. It could speculatively pre-fetch pages before they're need. Hrm, though, we are still talking about ms access times to disk, oh well, some day... so try this: if his code is quite regular (not too many branches), he should be able to do this. Okay, so this could be quite difficult, but given the description of his program, just make a "false" access to some of the data you're going to need in the future, causing the os to load that page, and hoping that it doesn't swap out your current page, you should already have your data in memory by the time your code rolls around to the fetched page. Keep in mind that your program is going to have to be multi-threaded so that it doesn't choke on the "false" access. This technique would require intimate knowledge of your compiled program, but if you're working on a program that uses data of this size and minimizing waiting on page swaps would save you minutes/hours/days of compute time it'd be well worth it.
Michael
Intel transfer the difficult from Hadware to software, for get more power, programmer need more technology. -- chinaitn
Where do you think WWII came from. Without the crushing poverty of the reparations from WWI, WWII might never have happened. Which logically leads to the Marshall plan being a vital part of the West beating the Stalinist Russia. Russia wasn't beaten with weapons, it was beatan because the Russians themselves did not want Communism. Without a Marshall plan, a beaten and destabilised West Germany would have given the Communists a chance of outdoing the West with the East, with a weak West much more open to invasion from the East.
Microsoft - Where would you like to go today, Maybe Jail?
Bad taste that man, really.
Actually, in 2.4.0-testX (test9, IARC).
"Too much work at interrupt"?
Switch to netgear cards / ng_tulip driver. I've never tried to gauge them for performance, but at least the driver is solid.
Anyone know what I can do to build this kernel
using SuSE 7.2 with vanilla 2.4.9
gcc version 2.95.3 20010315 (SuSE)
It fails with
make[3]: Leaving directory `/usr/src/2.4.18pre2aa2/drivers/video'
make[2]: Leaving directory `/usr/src/2.4.18pre2aa2/drivers/video'
make all_targets
make[2]: Entering directory `/usr/src/2.4.18pre2aa2/drivers'
make[2]: Nothing to be done for `all_targets'.
make[2]: Leaving directory `/usr/src/2.4.18pre2aa2/drivers'
make[1]: Leaving directory `/usr/src/2.4.18pre2aa2/drivers'
make CFLAGS="-D__KERNEL__ -I/usr/src/2.4.18pre2aa2/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i686 " -C mm
make[1]: Entering directory `/usr/src/2.4.18pre2aa2/mm'
make all_targets
make[2]: Entering directory `/usr/src/2.4.18pre2aa2/mm'
gcc -D__KERNEL__ -I/usr/src/2.4.18pre2aa2/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i686 -c -o memory.o memory.c
memory.c: In function `copy_page_range':
memory.c:227: warning: implicit declaration of function `kmap_pagetable2'
memory.c:263: warning: implicit declaration of function `kunmap_vaddr'
memory.c: In function `pte_alloc':
memory.c:1435: warning: implicit declaration of function `unlikely'
memory.c:1443: `new' undeclared (first use in this function)
memory.c:1443: (Each undeclared identifier is reported only once
memory.c:1443: for each function it appears in.)
memory.c:1450: warning: implicit declaration of function `kmap_pagetable'
memory.c:1424: warning: unused variable `pte'
make[2]: *** [memory.o] Error 1
make[2]: Leaving directory `/usr/src/2.4.18pre2aa2/mm'
make[1]: *** [first_rule] Error 2
make[1]: Leaving directory `/usr/src/2.4.18pre2aa2/mm'
make: *** [_dir_mm] Error 2
Yes!
...
Specialized boxes are what really show off what nice things commodity hardware and malleable source code are capable of.
I'd like to see a lot more companies sell products analogous to the video-editing stations offered by Linux Media Arts; offer a known-to-work combination of hardware and software so that people at least have the opportunity to flock to it.
Audio workstations, please? I'd pay a thousand bucks for a $500-in-parts workstation (which these days can be quite a powerhouse in absolute terms), if I could hook a few pre-amps or a portable Mackie mixer up to it and start multitracking.
(I'm aware of a lot of all-in-one recording consoles, and even own one, but a) screen real-estate is nice b) there are a lot of things which a "real computer" could do as an audio workstation which would be fun to experiment with and c) ever tried to enter in text labels with the insane rotating-knob method of an Akai DPS1200?)
OTOH, the people who most care about this sort of benchmark often *are* the people who want them for servers, or who are themselves developers trying to benchmark raw performance to help them make programming / design choices, so it's not that surprising. For a lot of specialized uses (TiVo, say), adequate performance to do their job doesn't seem to be a problem at the moment
timothy
jrnl: http://tinyurl.com/c2l8yr / foes: http://tinyurl.com/ckjno5
I'm going to disagree with this notion of evolution. Evolution is not undirected. The current environment gives a good deal of direction to the sorts of evolution that occurs. For example: evolution appropriate to tropical beaches is unlikely to occur in the arctic tundra.
Actually, that is wrong. Evolution happens in an undirected sense. In Artic environments, mutations both beneficial and non-beneficial for that environment occur. There's no doubt about Evolution.
The Theory of Natural Selection, however, adds a directed development, in the sense that beneficial mutations will produce more offspring, and in the long run should predominate. There's the doubt about Natural Selection... in the long run we are all dead.
Da Blog