Original Link: http://www.anandtech.com/show/1725



Introduction

With all of the attention on dual core processors lately, it has been real easy to overlook the one application that might benefit more from multiple cores than any other; Linux. OK, so technically Linux isn't an application, but the kernel has supported SMP for nine years almost to the date. The road to SMP has not been an easy one for Linux, but in the last nine years, and particularly since 1999, Linux has received quite the attention as a 2-8 processor core operating system. If you need a reference, just look at how many Linux machines hold SPEC benchmark records in web serving and number crunching.

But does any of this translate to great desktop performance for dual core processors? We are going to look at that question today while also determining whether Intel or AMD is the better suited contender for the Linux desktop. We have some slightly non-traditional (but very replicable) tests we plan on running today that should demonstrate the strengths of each processor family as well as the difference between some similar Windows tests that we have performed in the past on similar configurations. Ultimately, we would love to see a Linux configuration perform the same task as a Windows machine but faster.

Just to recap, the scope of today's exploration will be to determine which configuration offers the best performance per buck on Linux, and whether or not any of these configurations out perform similar Windows machines running similar benchmarks. It becomes real easy to lose the scope of the analysis otherwise. We obtained some reasonably priced dual core Intel and AMD processors for our benchmarks today, and we will also throw in some benchmarks of newer single core chips to give some point of reference.



The Test
Testing our dual core Linux system will be done in the same manner as Anand's tests from several weeks ago. There are various test applications that are not exactly drop in compatible between Linux and Windows, but in many instances there are some extremely practical similarities in which it would make more sense to run a Linux application over the Windows alternative. For example, Apple's Shake will only run on Mac OSX or Linux - leaving Windows out in the cold.

Today's benchmarking will be a little different than Linux benchmarks we have done in the past. While we are still keeping strict usage controls and assuring that our benchmarks are 100% replicable, we are also looking more at the quality of performance rather than just the raw numbers. A fluid experience on a Linux machine that is slightly slower than a sporadic Windows alternative would be a design win for Linux - at least in our opinion. Naturally, since we have some very nice processors from Intel and AMD, we can do a slightly more traditional comparison of each of those processors against each other in the various scenarios. Using the applications list Anand set forward in his original benchmarks, we attempted to compile a list of commercial and FOSS Linux software to use for Linux.

Windows Application

Linux Application

Adobe® Photoshop® 7.0.1

The Gimp 2.3.1

No suggestions yet

Apple Shake 3.5c

Macromedia® Dreamweaver MX 6.1

Mozilla Composer 1.7.8

Microsoft® Windows MediaTM

MPlayer 1.0pre7

Encoder 9 Version 9.00.00.2980 (Video)

MEncoder 1.0pre7, CCE

Encoder 9 Version 9.00.00.2980 (Audio)

lame 3.96.1

iTunes

XMMS 1.2.10

NewTek's LightWave® 3D 7.5b

ScreamerNet 7.5b

WinZip 8.1

Gzip 1.2.4

VC++ Compilation

GCC 3.3.4

Pro/E Wildfire

Pro/E Wildfire

Outlook 2003

Mozilla Thunderbird 1.7.8

Microsoft Office/Word/Excel 2003

OpenOffice 1.1.4

Firefox 1.0.2

FireFox 1.0.4

Nero Burning ROM 6

NeroLINUX

DVD Shrink

DVD Backup 0.1.1, dvd::rip

BitTorrent

BitTorrent

Macromedia® Director MX 9.0

No suggestions yet

SteinbergTM WaveLabTM 4.0f

No suggestions yet

Norton AntiVirus 2004

No Suggestions yet

Microsoft AntiSpyware Beta

No Suggestions yet


Some of the suggestions we have made above are more the subject of personal preference than absolutes. There are some loose alternatives for Shake on Windows, but there are also some loose alternatives for WaveLab and Director on Linux as well. The idea is that we want to construct a few multi-threaded benchmarks that emulate the usage of real Linux power users. Below are the seven benchmarks we have outlined our six benchmarks to use in this analysis and why we picked them. We won't be using all of the software from the list above, but the intention is that we will for future benchmarks.

  • Multitasking Scenario 1: DVD Transcoding - We will rip a DVD while using moderate usage from web browsing, music and newsgroups. This is very comparable to Anand's original Windows benchmark found here.
  • Multitasking Scenario 2: File Compression - We will compress some text files for backup while running a few base applications at the same time. This is also extremely comparable to Anand's original Windows benchmark found here.
  • Multitasking Scenario 3: Web Browsing - Here we attempt to utilize an extremely large load of web browsers while also doing some typical background applications. This is also very similar to Anand's original benchmark.
  • Multitasking Scenario 4: DVD Burning - Using the same benchmark as the DVD Ripping, we will now burn a DVD instead. Since the DVD burn is typically limited by the burn speed of the hardware, we will compress a file as our benchmark.
  • Gaming Multitasking Scenario 1: Heavy Downloading - We will use several BitTorrent clients at once while benchmarking Doom 3.
  • Gaming Multitasking Scenario 2: Compiling and Gaming - We will time the compilation of the Linux Kernel and GCC during a Neverwinter Nights session.

We tried to select benchmarks that were a combination of maximum load benchmarks with benchmarks that we can evaluate on quality. For example, compression and Doom3 are easy to quantify in time or FPS since they will utilize as much of the system as possible. Secondary operations like web browsing and playing music will induce load on the system and we will hopefully see really positive results on dual core configurations if the Linux scheduler is doing its job.



The Hardware

We attempted to purchase and scavenge hardware that fits about the same price bracket. We could have easily thrown in an Athlon 64 X2 4800+ or an FX processor but we opted to pick out slightly more practical hardware instead.

Test Configurations

Processor:

Athlon 64 X2 4200+ Manchester
Athlon 64 3800+ Venice
Athlon 64 3500+ Venice

Intel Pentium D 840
Intel Pentium D 820
Intel Pentium 4 660
Intel Pentium 4 640

RAM:

2 x 512MB OCZ PC3200 EL Dual Channel DIMMs 2-2-2-10

2 x 512MB Crucial DDR-II 533 Dual Channel DIMMs 3-2-2-12

Motherboard:

Gigabyte GA-K8N Ultra SLI

Intel D955XBKLK

Memory Timings:

Default

Operating Systems:

SUSE 9.3 Professional x86_64

Kernel:

Linux 2.6.11-21.7

Video Cards:

Gigabyte 6800GT GV-N68T256D

Hard Drives:

Seagate 160GB Barracuda SATA

Compiler:

GCC 3.3.4
glibc 2.3.4


You may notice a few things off the bat; first of all, we are not using any of the Pentium 4 5xx processors. This is because we anticipated only doing our benchmarks on a 64-bit OS. The processors we selected today all run in the $250 to $600 range. These processors are a bit on the high end, but the various speed bumps between the chips should demonstrate the scalability of the processor in our benchmarks.

We are running the relatively new SUSE 9.3 Professional for this analysis. All programs were compiled via the GCC 3.3.4 compiler unless they were preinstalled on the operating system. All multitasking benchmarks are launched from shell scripts unless stated otherwise.


We owe a special "thank you" to Monarch Computer for rushing us the Intel motherboard used in this review!



Multitasking Scenario 1: DVD Transcoding

Ripping DVDs on Linux is one of the applications Linux really does well at - if you don't mind getting past the pretty GUI of DVD Shrink or a similar application. Ripping DVDs in general is fairly common for any desktop regardless of OS, and checking mail while ripping a disc can inflict havoc sometimes. The following test attempts to mirror Anand's Windows benchmarks on Linux and is very comparable to the Windows alternatives.

  1. Open FireFox 1.0.4 and load all 5 web pages. We chose 5 pre-downloaded pages from various sites like AnandTech, CNN and ESPN
  2. Open XMMS and start playing a Nine Inch Nails CD ripped to Ogg
  3. Open Thunderbird for news
  4. Login to our news server and start downloading headers for our subscribed news groups
  5. Open dvd::rip
  6. Start backup of Star Wars Episode VI - Return of the Jedi. All default settings

Again the emphasis is not particularly whether or not one system is capable of finishing the DVD backup faster than the other, but whether or not the system is still useable while doing so. We might be pushing the load of our system a bit far - but a machine that can rip DVDs fast but can't play music at the same time is effectively useless to us. Like Anand's test, the vob files were already placed on the hard drive to eliminate the DVD drive bottleneck. We have instructed dvd::rip to reduce our vobs from 7.5GB with transcoding to 4.5GB.

Although the load from our other application is not substantial, the combination of several low intensity applications and the introduction of a maximum load application (dvd::rip) end up bringing our single core platforms to a halt. The results of this benchmark were eerily similar to Anand's Windows benchmark, and the same culprits are pretty much to blame. Even if Linux might have a leg up on Windows' scheduler, no amount of clever preempting can beat a second processor core.



Multitasking Scenario 2: File Compression

This is also a very valid test on Linux, although most Linux users will use BZip2 or GZip, but BZip2 is more CPU intensive. Since BZip2 and GZip are both integrated into a typical SUSE desktop, it makes sense for us to just run it from the cmdline, shell script or via right click (we ran from a shell script).

  1. Open FireFox 1.0.4 and load all 5 web pages
  2. Open XMMS and start playing a Nine Inch Nails CD ripped to Ogg
  3. Open Thunderbird
  4. Import 260MB mailbox
  5. bzip2 -c a 130MB single text file and time the compression

Unfortunately we could not quite replicate this benchmark in the same manner Anand did during his previous analyses because we were not able to time the number of emails imported per second with reliable accuracy (which is why we do not have the second metric on this test). There may be vast differences between the number of emails imported per second between these processors. We will tone down the significance of this benchmark in our conclusion.



Multitasking Scenario 3: Web Browsing

This benchmark is essentially exactly like Anand's original benchmark but we added more web page windows. We are using additional instances of FireFox to really put a strain on the system since we were particularly pleased with the results of this benchmark.

  1. Open FireFox 1.0.4 and load 10 web pages
  2. Open XMMS and start playing a Nine Inch Nails CD ripped to Ogg
  3. Open Thunderbird
  4. Import 130MB saved mbox and begin timing the import
  5. Bring the FireFox windows to the foreground

Even with additional instances of FireFox, the import times are much faster than the Windows counterpart of this benchmark. Granted, the Linux machines are not running Anti-Spyware nor Norton Anti-virus as in the original benchmarks either.

Multitasking Scenario 4: DVD Burning

Thanks to NeroLINUX, we can now run the first benchmark we did in reverse. We will be paying particular attention to the buffer for NeroLINUX. If the burn continually empties the buffer, then the system is playing catch-up to the burner. We will count the number of times the buffer dies and graph this separately. We used a NEC 3520A burner and a 4.5GB ISO image for the burn.

  1. Open FireFox 1.0.4 and load all 5 web pages.
  2. Open XMMS and start playing a Nine Inch Nails CD ripped to Ogg
  3. Open Thunderbird for news
  4. Login to our news server and start downloading headers for our subscribed news groups
  5. Begin an ISO burn with NeroLINUX and start timing



There seems to be a very linear correlation between the number of buffer dumps and the speed at which the discs burned. We really only saw the buffer even come in danger of decreasing at the beginning of the burn and when Thunderbird took a little too long to process something coming in from the news server.

Even though the processors we used in this analysis are more than capable, the additional tasks of FireFox and Thunderbird proved just a tad too much for the chips to handle at all once. This benchmark is a great illustration of where dual core (or dual socket) goes so wonderfully well on the desktop. The additional overhead to run XMMS, FireFox and the other applications is not very substantial, but when FireFox decides to chew up resources while the only CPU is managing the write buffer on a DVD burn, the results can be quite dramatic.



Gaming Benchmark 1: Heavy Downloading

It's not uncommon for us to fire up BitTorrent and start downloading the next SUSE ISOs (only 8GB per release!). Killing time for the 20 to 30 hour download requires some serious gaming, and Doom3 always wants to be played. Although this is a very similar benchmark to Anand's Doom3 gaming benchmark, we are using a GeForce 6600GT while he uses a 6800 Ultra. The two are not comparable.

Doom3 is running at 1280x1024 with 4xAA and 8xAF on the NVIDIA 1.0-7664 drivers. We first ran this test without the extra baggage from the multi tasking.


Now we re-ran the demo with the steps below:

  1. Open FireFox 1.0.4 and load all 5 web pages.
  2. Open XMMS and start playing a Nine Inch Nails CD ripped to Ogg
  3. Open Thunderbird for news
  4. Login to our news server and start downloading headers for our subscribed news groups
  5. Load up Doom3 and run timedemo "demo1" - record FPS

Very much like the DVD burning test on the previous page, the dual core systems had no difficulty crunching away at Doom3 while downloading our news headers in the background. The Pentium 4 660 is penalized as much as 16%! Our game play on the dual core machines was actually very solid as well when compared to the Athlon 64 3500+ and the Pentium 640. Constantly during writes to the disk the entire game would almost lock up. The Pentium D 820 did well but its low(er) clock speed assured that it could not out perform the Athlon 64s that do slightly better in this test than Pentiums to begin with.



Gaming Benchmark 2: Compiling and Gaming

Compiling and gaming are two of the most system intensive application, and often I find myself running both at the same time. In this benchmark we attempt to compile the Linux 2.6.4 kernel for x86_64 with varying amounts of jobs in make.

  1. Open FireFox 1.0.4 and load all 5 web pages
  2. Open XMMS and start playing a Nine Inch Nails CD ripped to Ogg
  3. Open Thunderbird for news
  4. Login to our news server and start downloading headers for our subscribed news groups
  5. Fire up Neverwinter Nights and log into a game
  6. Begin cross compiling Linux 2.6.4 for x86_64; time the compilation

Compilation of the kernel was done as follows:

# yes "" | make config
# time make -jX

Here is a benchmark where we truly see dual core unrestrained on Linux. Neverwinter Nights didn't lose a step during this analysis on any of the processors, but it isn't really a game that should stress today's processors too much. As we increased the number of jobs for make, the compilations really took off - reducing the compilation time by as much as 40%.



Final Thoughts

You'll notice we didn't spend a lot of time on discussing the outcome of some of our benchmarks in retrospect to their Windows counterparts. The Windows tests are not quite the same as our Linux ones in all cases, making it hard to draw accurate conclusions between operating systems. On the other hand, we have left a lot of not-so-subtle hints as to our feelings concerning performance between the two. Benchmarks like the DVD transcoding performed poorer on Linux but we noticed tighter disparity between the single core and dual core chips.

The distinctions between the AMD and Intel hardware in these benchmarks should be very apparent. At the time of this publication the prices of each processor (from RTPE) tested were as follows:

  • Pentium D 840 - $558.00
  • Pentium D 820 - $251.50
  • Pentium 4 660 - $613.00
  • Pentium 4 640 - $272.00
  • Athlon 64 X2 4200+ Manchester - $540.00
  • Athlon 64 3800+ Venice - $367.00
  • Athlon 64 3500+ Venice - $267.00

Some benchmarks, like the Doom3 analysis, proved excessively in AMD's favor. This also happens to be true in single core and Windows benchmarks, so it's hard to really call this a design win for AMD on just Linux. There were other instances where AMD had a running start and never looked back, like the last Neverwinter Nights benchmark on the previous page. Intel came out ahead in all three of our first benchmarks; which was certainly an interesting refresh as well.

At $540 you pay through the nose for the additional performance of the Athlon 64 X2 4200+ (paying $558 for a Pentium D 840 isn't exactly a bargain either). In our opinion, the Pentium D 820 is really an underdog in this roundup, but don't let the $252 price tag fool you; at the time we were obtaining the hardware for this analysis we had to spend an extra $50 over the cost of the OCZ memory used in the AMD system for the Corsair DDR2. Furthermore, the poor performance on Doom3 hints at something most of us already know; Athlon 64 beats the pants off Intel in games, even on Linux. If you don't plan on gaming much on Linux, the Pentium D 820 becomes a real tempting option.

Once again, we owe special thanks to Monarch Computer for rushing us the Intel motherboard used in this analysis.

Log in

Don't have an account? Sign up now