Linux Kernel Comparison: 2.6.4 vs. 2.4.25
Published on 2004-03-29 01:00:00 By: Jim_

Something I've been promising for a couple of months has been a comparison of Linux kernels 2.6 and 2.4. The 2.6 series has been available for awhile now but the development has been going at a very rapid pace. It seemed everytime I'd be half-way through my benchmarks, a new version would be released. In a desire to stay as current as possible, I held off until now. We'll be taking a look at versions 2.6.4 and 2.4.25 in a variety of benchmarks; both server and workstation-oriented.

I didn't just put in the time running these benchmarks for you, either. As we're currently running 2.4.25 on this very web server, I'm quite interested to see if a jump to version 2.6 is really warranted. Hopefully by the end of this article, we'll have a solid sense of what we as SMPers can expect from both kernel series.

What did 2.6 bring to the table?

One thing we should probably touch on briefly is what cores changes were made to the Linux kernel with the release of 2.6. Interestingly enough the two major changes are complete opposites. An effort was made to add support for a whole new line of embedded processors which might help Linux become more mobile and work its way more easily onto handheld and other miniature devices. In the other direction, increasing scalability was one of the main objectives of this kernel series. Support for even more processors, NUMA, Hyper-Threading and so forth were added or improved upon to ensure Linux would scale from the dual-processor i386 server all the way up to Big Iron.

Of course this is just the tip of the iceberg. There were countless changes to scheduling (as I learned from emails and comments after posting my Linux and Hyper-Threading article in February), security, networking, etc, etc. Whenever you jump to another kernel series you're talking about a major rewrite of the core of the operating system. This should definitely equate to performance swings, and that's what we'll try to sort out today.

Test System and Benchmarks

Dual Xeon Test Box
CPU
2x 3.2GHz Xeons w/ 1MB L3 Cache
Motherboard
MSI Master LS2
Chipset
Intel E7505
Memory
1GB Crucial Registered/ECC PC2700
Storage
Western Digital 400JB
OS
Gentoo Linux 1.4

What benchmarks will we run?

I think we have a solid round-up of benchmarks for us to look at today. After my Linux Hyper-Threading article, Dr. Reinart Mueller from the F.I.B.U.S. Research Institute contacted me and provided us with the Linux version of their picCOLOR image analysis program. To round-out the workstation-oriented benchmarks we'll also look at compiling performance by compiling the MySQL source code and also look at audio encoding with BladeEnc, which we've used before.

I'm definitely more intrigued by Linux server performance at this point in my life and I think that's reflected with our list of benchmarks. We'll take a look at Apache's Static HTML capabilities, a homemade PHP/Apache/MySQL benchmark (thanks Davide!), MySQL read and write performance, and file server performance dbench verson 2.0.

Let's go through the details of my system configuration and then we'll kick off the performance comparison with our workstation-oriented benchmarks.

 
[ Next to Page 2 ]