2.4 vs 2.6 Linux Kernel Shootout
FyRE666 writes "Infoworld are currently running an interesting comparison of the 2.4 series kernel against the new 2.6 release on Xeon, Opteron and Itanium CPUs with some surprising benchmark results for common server-related tasks. Basically the new scheduler helps the 2.6 kernel to cream the old 2.4: Samba tests showing up to 73% speed increases, MySQL showing up to 29% and Apache serving dynamic content up to 47% faster!"
tried to get this in before you posted it... but dynamic only went up 22% for apache.... static went up 47%
mod parent up funny..
Wow, you need to quit bitching. 2.6 will be in the distros 'when they're ready', do you remember all the really broken 2.4.x stuff? It was REALLY bad press for folks who COULDN'T UNMOUNT DRIVES safely.
Let the ubernerds self-build 2.6 systems for a while and work out more bugs. If you want it you can have it, but mass-distribution before we even hit 2.6.2 might be a BIG mistake.
"Sometimes, I think Trent just needs a cup of hot chocolate and a blankie." -Tori Amos on Nine Inch Nails
Debian/Unstable can install 2.6.0 a regular apt-get install at this very moment. Its just something like:
apt-get install kernel-image-2.6.0-1-processor type
If you're running stable, you shouldn't be running a 2.6 kernel anyway.
well i know the preemtive and low-latency changes (while available as patches to 2.4) are included in 2.6, and make a significant difference to GUI responsiveness.
Jeremy
The native ntfs driver supports writing only if the write operation wouldn't disturb any of the metadata- that is, you can't create or delete any files but you can safely overwrite a file if you don't change its size. This is more useful than it sounds at first- you can use a loopback file on the ntfs partition for anything you want.
I don't notice any real speedups, but I do not really notice updatedb running anymore. Actually that's not entirely true, I just notice it a lot less. Many times it will run and I won't notice it. The mouse used to start getting all sticky when I had too much disk activity. Now it *mostly* runs smoothly.
GMail invites for completed freeipods.com of
Write support is (supposedly) safe, because it will *only* let you do things that are safe. Pretty much limited to writing to an existing file without changing the size.
So it's not really full NTFS write support yet.
for those who dont know, you've been able to get a back port of 2.6 on woody for the last month (almost).
:)
so go get it, and tell me how it will effect my surfing, emailing, mp3ing and general userish behavour on my P2 400 128RAM...
Go on, get to it!
Giving IE users a taste of their own medicine since 2005 - http://pods.-is-a-geek.net/
No, you aren't missing something. Applications will still run as they did, except when they are heavily multithreaded. Starting up something CPU-cycle expensive and typing in open office might give you an idea.
:).
But all in all, it's the kernel. End users should be nicely unaware of it. Don't expect any fireworks to go off, most of the time you notice a kernel you will have hoped you didn't
So it's not such a big leap for real users. Mind you, still a big improvement - especially for interactive use, and also considering that there are so many patches for 2.4 that are now integrated into 2.6, lessening compatibility worries (try patching Red Hat's pre-FC1 2.4 kernel source).
Michel
Fedora Project Contribut
on low end hardware at least. I've got an old Dell with a p200 and 64 megs of ram running Slackware 9.1. The processor could keep up but there's just not enough ram, even running a lightweight window manager like blackbox or XFCE. I'm not exactly trying to run uber-apps here (Abiword and Firebird mostly). Switching to 2.6 from 2.4 helped some, but not nearly enough. Funny thing is, I ran RH 6.2 on simularily configured I guess it bugs me because I was looking forward to showing my friends how I've got a modern desktop and applications running on an old P200. hardware. When did Linux become such a memeory hog? And to think I laughed when I saw Lindows' min sys requirements where a PIII 800.
Hi! I make Firefox Plug-ins. Check 'em out @ https://addons.mozilla.org/en-US/firefox/addon/youtube-mp3-podcaster/
Actually the OS X kernel is about half as fast in lmbench (UNIX benchmark) as Linux 2.4. The OS X kernel is really antiquated. Much of it is 4.4BSD and Mach code. The GUI is modern, but the guts are ancient.
A deep unwavering belief is a sure sign you're missing something...
Raw c&p, please forgive random spam.
/dev/sda3 has a major number of 8, since it's a SCSI device, and a minor number of 3.) On servers with a large number of real or virtual devices, device allocation can become problematic. The v2.6 kernel addresses these issues in a big way, moving to 4,096 major devices with more than one million subdevices per
Linux v2.6 scales the enterprise
Bigger, stronger kernel sizzles in our performance tests
By Paul Venezia January 30, 2004
If commercial Unix vendors weren't already worried about Linux, they should be now. Linux has seen wide deployment in datacenters, generally as a Web server or a file server, or to handle network tasks such as DNS and DHCP, but not as a platform for running mission-critical enterprise applications. Solaris, AIX, or HP/UX typically get the nod when an application demands the highest levels of performance and scalability. The recent release of a new Linux kernel, v2.6, promises to change that.
ADVERTISEMENT
DOWNLOAD PDF
Click here to download the InfoWorld Special Report on the 25 most influential CTO's of 2003.
Brought to you by Qualys
DOWNLOAD PDF
Click here to download InfoWorld's special report Linux looms large
RELATED LINKS
Compiling the v2.6 kernel
How the Linux kernel gets built - Infoworld Staff
Platforms RSS feed
>> MORE
IDG ENTERPRISE NETWORK
Sun preps second version of Java desktop (ComputerWorld)
Draft EC ruling finds Microsoft guilty in antitrust case (ComputerWorld)
EC circulating final draft of antitrust ruling in Microsoft case (ComputerWorld)
TOP STORIES
Oracle to cut price on lower-end database
Oracle's U.S. midmarket apps bundle delayed
PeopleSoft pushes forward meeting for board vote
Top News RSS feed
>> MORE
TOP SITE REFERRALS
Microsoft: change to IE will block some Web URLs.
(Secure IT)
Changes in IE's URL handling
(Information Management Weblog)
SIGN UP FOR THE MAGAZINE
FREE EMAIL NEWSLETTERS
IT SOLUTION SEARCH
The v2.6 kernel ushers in a new era of support for big iron with big workloads, opening the door for Linux to handle the most demanding tasks that are currently handled by Solaris, AIX, or HP/UX. The new kernel not only supports greater amounts of RAM and a higher processor count, but the core of device management has changed. Previous to this kernel there were limits within the kernel that could constrain large systems, such as a 65,536 process limit before rollover, and 256 devices per chain. The v2.6 kernel moves well beyond these limitations, and it includes support for some of the largest server architectures around.
Will the new Linux really perform in the same league as the big boys? To find out, I put the v2.6.0 kernel through several real-world performance tests, comparing its file server, database server, and Web server performance with a recent v2.4 series kernel, v2.4.23.
Linux Meets Big Iron
A primary focus of the v2.6 kernel is large server architectures. Support for up to 64GB RAM in paged mode, the ability to address file systems larger than 2TB, and support for 64 CPUs in x86-based SMP systems brings this kernel and Linux into the more rarified air of truly mission-critical systems. The included support for NUMA (Non-Uniform Memory Access) systems; a next-generation SMP architecture; and PAE (Physical Address Extensions), providing support for up to 64GB of RAM on 32-bit systems, is also new.
There is much more to v2.6 than just bigger numbers in processor and RAM counts, however. This kernel breaks apart some of the artificial limitations that have been present in Linux from the beginning, such as the number of addressable devices and total available PIDs (Processor Identifiers). The v2.4 kernel supported 255 major devices with 255 minor numbers. (For example, a volume on a SCSI disk located at
Won't be a long wait; 2.6.2-rc3 is out now.
FC2 test1 should be out next week with a post-2.6.1 kernel as default. With SELinux to boot, though it's recommended to disable it at boot time for test1. Mandrake 10.0 beta1 has 2.6.1 too.
Michel
Fedora Project Contribut
I use 2.6 on a Pentium 133 with 48mb of RAM, and I have noticed *huge* differences in the boot time. KDE seems to start up slower, but run a bit faster... well, at least the mouse seems to lag a bit less... its hard to tell when everything runs so slow to begin with. Running either 2.4 or 2.6 still eats my swap file, but I guess thats what I get for using such old hardware. Oh, and Gnome acts the same.
Theoretically, higher performance can be achieved in a non-cache-coherent design, since the programmer would ostensibly know more about which data is most frequently used on his system and be able to customize his kernel for that. Also, it requires less glue logic on the board. However, the intent may be thwarted if the programmer doesn't have all the documentation (or skills) necessary to make efficient use of a software controlled cache.
LRC, the best-read libertarian site on the web
I can now watch divx on my pII-233 with it. Xmms never skips and X remains useable under high loads. It's an incredibly huge difference to 2.4. But I only noticed when I had to go back to 2.4.22 to try out openmosix. It was absolutely annoyingly slow compared to 2.6.
0x or or snor perron?!
I tried 2.6.0-test8 when I had my Dual PII box a few months ago. Performance difference for KDE between it and my 800@920MHz spitfire Duron was pretty much unnoticeable. Recommended for older boxes.
Also, for a more current comparison:
distributed.net rc5-72 Duron 1.4@ 1.9 (2400+) w/256kb l2 cache mod:
Windows: 5,500-6,000/sec
Linux 2.4.20-debian: 3,400-3,700/sec
Linux-2.6.1-rc1: 5,500-6,000/sec.
The upgrade to Linux-2.6 is worth it.
AFAIK there arn't even any hard drives in existance that can actually pull data off their platters that fast. Unless this was a RAID setup something is wrong with the test.
CD and DVD burning used to absolutely kill my system with 2.4 kernels. High cpu usage and everything was jumpy and slow. With 2.6 I just cant seem to bog it down ....no matter what I do. I can be compiling GNOME, burning a DVD, and doing a number of other things ....and it all is smooth as silk.
I love this kernel!
i dont know if it's been posted already but check this. Aint no joke mister.
* Is nearly three hours faster.
* Requires 77% fewer steps.
Three hours faster on enterprise hardware?
Well compared to the complete install of slackware 9 (with everything) I did yesterday that would mean you can get a fully operational windows box connected to the internet, running proxy server, sharing postscript printers, talking to both MacOS and Windows 98, serving web documents, remotely configurable and ready for you to walk out the door in about zero minutes. I'm impressed!.
Mind you there were only a few actual user accounts to set up, and it was just an old pentium 3 500Mhz with 128M RAM and a 20G drive - not exactly your current "enterprise class" machine.
Something modern would likey have taken half the time.
Actually, I had allocated most of the day just in case - so I spent a few hours upgrading and tweaking a few things.
GCC is crap and there's no point contributing to it. Instead, Intel are doing the right thing by making Linux more portable: it now (2.6) builds with the Intel compiler, but it is now much easier to build the kernel with other compilers too, such as IBM's VisualAge C.
Sun is doing an Opteron-optimized build of Solaris, but don't expect it in the short term.
That's about all I can say ATM, but it -is- on the way...
I guess it's important to ask the following question: was 2.4 ever designed to run on those kinds of processors? I mean, the O(1) scheduler is a pretty cool, processor independant change; but was 2.6 designed with specific optimizations for newer processors (and newer instructions) in mind? I'd be interested to see benchmarks from old hardware -- i.e., stuff like I've got sitting around. (If only I had a bit more time. Maybe I can borrow some cycles from 2.6 Linux boxen.)
I'm guessing that the answer is yes and no.
When you roll your own kernel, you can select which CPU you are building for. This enables optimizations for that specific CPU (but usually breaks compatibility with older CPU's). So no, I don't think it was build with these new CPU's in mind, but it does have the optional optimizations in there to take advantage of them - just like it does for 486 and pentium and Athlon.
Keep in mind that your compiler must also have approperiate optimizations for your CPU to see the best performance. I'm not sure how far gcc has come on PPC970, Opteron, and Itanium these days.
I'd rather be a conservative nutjob than a liberal with no nuts and no job.
An older /. article did directly compare *BSD and Linux, but it really had only benchmarks of specific system calls, not much in the way of real application performance. However, it did show that, while Linux 2.6 was mostly O(1) and at most O(n), the BSDs were mostly O(n) or more, only occasionally being O(1). I think NetBSD was the worst offender. But then again it had few or no real world benchmarks.
Try this link.
It's an excellent comparison.
ftp ://ftp.dc.aleron.net/pub/linux/fedora/linux/core/d evelopment
C|N>K
Following up to my own post. I just did some quick checking and this is a known issue. Apparently the 2.6 VM sucks when it's doing heavy swapping with multiple processes competing for CPU time. There are a number of posts on LKML about it; see the thread "poor swap performance on low end machines". The quick summary is that 2.4 gives much better performance on machines that swap a lot.
How is that informative? The kernel is Mach and modern *BSD, mostly FreeBSD from what I can tell - not ancient 4.4BSD. While in the latest benchmarks I've seen show Linux leading OS X in server benchmarks on the same hardware, the margin is smaller then the 2.4 > 2.6 margin in the above mentioned article. That is to say, OS X hardly sucks. It can easily keep pace, but not yet surpase. Maybe it never will, but to be even close with a Mach-based kernel is quite impressive. The Mac OS X kernel is called Xnu, and its a melding of of BSD and Mach - its no longer a pure micro-kernel and a lot of the weaknesses of Mach are offset by having many important bits, like TCP/IP, in kernel space rather then some floating server. I've seen those lmbench scores before, and the last ones I saw was comparing a rather old release of OS X to Linux. Try Panther, its noticably faster across the board.
I'd like to see how much of -mm ends up in the RH kernels in a year or so. I did try 2.4.20 with the -ck patches; 2.6 still felt better. Dunno if the info helps at all, but figured I'd mention it.
FWIW, 2 machines here:
Dual PPro at 200 MHz, 1Mb caches, 128 megs EDO
Dual P3 Coppermines at 1GHz, 1024 megs PC133.
C|N>K
http://people.redhat.com/arjanv/2.6/readme.txt
Don't let my sig fool you, I like Gentoo better on the desktop. It's just that little bit more convenient to get the latest everything.
Some stuff I can tell you:
- With ULE enabled on FreeBSD 5.2, I can't tell the difference. No formal benchmarks, but I did everything I could to expose stuff that might annoy me later on. Dragging windows around really fast with "display content in moving windows" on and music playing. The sort of thing that would bring Linux 2.4 to its knees easily
- FreeBSD 5.2 has some annoying things. Like you've got to manually enable the drivers for sound devices and USB mice. And you've got to recompile the kernel to get ext2 support. It's pretty easy and well documented, but you can't just install and have a working system with no additional work.
- Gentoo didn't (for me) have any major issues. I mean, compile times can be a bitch, but you'll be doing that on FreeBSD eventually too.
- FreeBSD can do some really nifty stuff that Linux can't. Like jails.
My advice is to wait until FreeBSD 5 hits STABLE and Linux 2.6 matures a little bit, install both, and see what's more fun.When someone might yell at me, it has to be OpenBSD.
Read the OpenDarwin FAQ: here.
The code is mostly 4.4BSD-Lite2. There is a good thread on OSNews about OS X that goes into comparing the source code, and it supports the idea that, while there are many changes, most parts of the BSD subsystem is still plain 4.4BSD-Lite2 code.
A deep unwavering belief is a sure sign you're missing something...
Not really true these days. Some architectures do have an explicit 'cache preload' instruction, such as the SPARC V9 and the ARM9E to mention two. These allow the programmer to preload a D-cache line before it is needed.
As the speed of the CPU has increased much faster than the speed of main memory (and hence increasing the relative cost of a cache mis), compiler based techniques to emit cache preload instructions in advance, before the data is actually needed, has been the subject of some research in the past 7-8 years. The main reason to do it is software, instead of hardware, is that the compiler have a greater knowledge of the layout of the entire task, as it can 'look ahead' in the source code. The main disadvantage is that any static analysis, of course won't have access to dynamic (run time) data about the program as it is running.
If you wish to go further, you could do worse than to start with my former colleague Magnus Karlsson's PhD thesis on the subject:
And of course as always, Google and citeseer is your friend.
Well, actually, it doesn't these days... :-) Trust the compiler instead :-) (Yeah, right).
Stefan Axelsson
Microsoft had an "independant" tester do some tests, and even they found the total costs for a web server were LESS for linux. (other services were however found to cost more in total cost however)
All misspellings and grammatical errors in the above post are intentional and part of my artistic expression.
I'd love to browse around sources without having to download a tarball using only my web browser.
That is possible. The best place I know is The Linux Cross-Reference.
Do you care about the security of your wireless mouse?
Check the Changes file in the kernel source. Basically any modern distro like Fedora Core 1, Mandrake 9.2, SuSE 9, Gentoo, Debian-unstable or whatever can all compile and boot 2.6 kernels without any real problems.
SCREW THE ADS! http://adblock.mozdev.org/ Proud user of teh Fox of Fire - Registered Linux User #289618
In the ~linux-src/Documentation/Changes you can find all the tools that need to be upgraded (most of them only if you are actually using them). M.
>>>Does this mean that we can see improvements in low end systems for desktop use, or is the benefit only for servers. Because if this helps low end machines, it extends further the number of machines that can move from (say) win 98 to a real OS, whose hardware has long been abandoned by microsoft.
Unfortunataly not!
I personally have not made the same exiting experience about the new 2.6.x kernels spead on my old PII 400 and 320MB (normally relatively fast due SCSI and 3Com TCP support). Especially if you have open some windows it reacts really harder than under 2.4. Different is sometimes only, that it seems to suggest you a better reaction, which is like the new scheduler is itnended to work.
So I'm running 2.6.x at home, but it's not looking to be the fastest kernel on small consumer gear. It looks designed for the big iron in the enterprise or at home. All other suggestions looking to me like propaganda.
Greetings from a GNU/Linux geek!
In fact, some of the more server-oriented developers were so content with the stability of 2.5 early on that they started making mild pushes towards a 2.6.0 release almost a year ago.