We first reviewed a 45nm Intel processor back in September, and since then, the CPU maker has been ramping up production and slowly transitioning to 45nm chips across its product lines. Two of the final steps along Intel’s path to 45nm ubiquity are of great interest to PC enthusiasts: budget dual- and quad-core processors. We like budget processors for obvious reasonsthey’re cheap, like usand not-so-obvious onesthey tend to have the most overclocking headroom. We especially like the idea of budget 45nm Core 2 processors for yet another reason: they promise to combine a potent punch with modest power draw.
We have two of these chips on the bench today, and they’re just now becoming widely available. The Core 2 Quad Q9300 is Intel’s most affordable quad-core processor, and it promises to supplant a long-time favorite of ours, the Core 2 Quad Q6600, by offering additional goodness at the exact same price. The Core 2 Duo E7200, meanwhile, is Intel’s cheapest 45nm dual-core CPU and a potential goldmine of overclocking potential. As is our dubious custom, we’ve tested these two processors against a whole slew of would-be competitors and wholly inappropriate alternative options.
The Core 2 Quad Q9300: Affordable four-banger
The Q9300 is built from the same basic ingredient as Intel’s other 45nm processors: the dual-core chip code-named Penryn. To create a quad-core processor, Intel groups two Penryn chips together into one package. The two chips operate more or less independently, communicating only by means of the front-side bus. In that sense, the Q9300 is really not much different from the Core 2 Extreme QX9650 introduced last October.
What makes the Q9300 distinctive is its level-two cache. Each Penryn chip has 6MB of L2 cache onboard, dynamically partitioned and shared between the chip’s two cores. That gives most Penryn-based quad cores a total of 12MB of L2 cache. (Math is hard.) In the Q9300, however, each chip has half of its L2 cache disabled, so the processor has a two-by-3MB cache config, for a total of 6MB of L2.
Yep, it’s neutered. But Intel’s willing to sell it cheaper that way. The Q9300 runs at a default 2.5GHz on a 1333MHz bus and lists at $266. Factor in Penryn’s higher per-clock performance, and the Q9300 beats out its predecessor on multiple fronts. The Core 2 Quad Q6600 offered a 2.4GHz core clock, 1066MHz bus, and an older version of the Core microarchitecture for the same price.
How much will the Q9300’s smaller cache size affect its performance? Well, like so many things, it depends. If a program’s working data set is too large to fit into a 3MB cache but will fit comfortably into a 4MB or 6MB cache, then the difference may be pronounced. If not, then the difference may be zip, nada, nothing. The thing is, these days, caches are becoming large enough that we’re getting well into the realm of diminishing returns for larger caches, especially in common desktop applications. You’ll see what I mean when you see the Q9300’s performance results.
Oh, and the Q9300’s TDP (thermal design power) rating is 95W, down from 105W in the Q6600, thanks to the magic of Intel’s high-k 45nm fab process.
The Q9300’s closest competition from AMD is the Phenom X4 9850 Black Edition. Intriguingly, that processor is also clocked at 2.5GHz and features a single-chip, native quad-core design with 2MB of L3 cache shared between all four cores. The Phenom 9850 Black Edition lists for about 30 bucks less than the Q9300, though, and has an unlocked multiplier to make overclocking easier. We’ll have to see whether the Q9300 can back up its price premium.
If the competition from AMD isn’t trouble enough, the Q9300 also has to contend with a stable mate, the Core 2 Duo E8500, which also lists at $266. This is a full-on Penryn dual-core with 6MB of L2 cache and a clock speed of 3.16GHz. The Q9300 will have to make its case against the E8500 on the strength of its two additional cores.
Oh, and since we’re on the subject of 45nm Core 2 Quads, I’ve also thrown in some results on the following pages for the Core 2 Quad Q9450. This puppy has a full 6MB of L2 cache per chip and runs at 2.66GHz on a 1333MHz bus. Like the Q9300, its TDP is 95W. At $316, it too may be a fairly compelling value.
The Core 2 Duo E7200: Cheap for the peeps
If you took a Core 2 Quad Q9300 and sawed it in half… Well, it wouldn’t work, and you’d totally be out a processor. Bad idea. Conceptually, however, the Core 2 Duo E7200 is basically a Q9300 sawed in two: a Penryn-based dual-core with 3MB of L2 cache. The E7200’s clock frequency is slightly different, at 2.53GHz, made so by the chip’s 1066MHz front-side bus speed. The E7200 has a TDP rating of 65W.
The price may be roughly half that of the Q9300, as well. Intel hasn’t officially introduced the E7200 yet, so we don’t have exact pricing, but rumors on the Intarweb peg its price at $137 and its launch date as April 20th. If the rumors are correct, the E7200’s closest competition will probably be the Athlon 64 X2 5600+, which likes to hang out in that same price range.
Not a bad deal, but we’ll sweeten the pot by pointing out that the E7200’s default multiplier of 9.5 could work quite nicely in combination with a 1333MHz front-side bus, where it would yield a core clock speed of 3.16GHzwith pretty much the rest of the system running at stock, stable, non-weird clock frequencies. That’s the sort of overclock I could live with every day, assuming the chip could take it. I suspect many of them will, since….
Well, we’ll get to that shortly.
Please note that we’ve included a “Phenom ES 2.6GHz” processor in the results on the following pages. This is an engineering sample chip clocked at 2.6GHz with a 2GHz north bridge that AMD supplied to us back when the Phenom first launched. No real Phenom product is yet shipping at this speed, but we’ve included it for comparison’s sake, nonetheless.
Also, we have included performance results for a couple of very high-end systems, including a dual Xeon X5365 system and a Skulltrail dual Core 2 Extreme QX9775 rig. With eight cores and price tags in the many thousands of dollars, such systems aren’t direct competitors for any Phenom AMD currently offers. If their presence annoys you, hold up two fingers to the screen to block out the bars representing them while reading the performance graphs.
Finally, we totally faked some of this. I don’t actually have a Core 2 Quad Q9450, so I underclocked a Core 2 Extreme QX9650 in order to simulate one. The performance should be exactly the same, so no worries. I can’t say the same for sure about power consumption, though, so I left the Q9450 out of those tests.
The Phenom X3… oh, wait. Not time yet.
Our testing methods
As ever, we did our best to deliver clean benchmark numbers. Tests were run at least three times, and the results were averaged.
Our test systems were configured like so:
|Processor|| Core 2 Quad Q6600 2.4GHz
Core 2 Extreme QX6800 2.93GHz
|Core 2 Duo E6750 2.66GHz
Core 2 Extreme QX6850 3.00GHz
2 Extreme QX9770 3.2GHz
2 Extreme QX9775 3.2GHz
| Athlon 64 X2 5600+ 2.8GHz
Athlon 64 X2 6000+ 3.0GHz
Athlon 64 X2 6400+ 3.2GHz
|Dual Athlon 64 FX-74 3.0GHz||Phenom
Phenom engineering sample (ES) 2.6GHz
|Core 2 Extreme QX9650 3.00GHz||Phenom
X4 9750 2.4GHz
Phenom X4 9850
2 Duo E7200 2.53GHz
2 Duo E8400 3.0GHz
Core 2 Duo E8500 3.16GHz
2 Quad Q9300 2.5GHz
2 Quad Q9450 2.66GHz
|System bus||1066MHz (266MHz quad-pumped)||1333MHz (333MHz quad-pumped)||1600MHz
|1GHz HyperTransport||1GHz HyperTransport||1GHz HyperTransport||1GHz HyperTransport|
|Motherboard||Gigabyte GA-P35T-DQ6||Gigabyte GA-P35T-DQ6||Gigabyte
|Asus M2N32-SLI Deluxe||Asus L1N64-SLI WS||MSI
V1.2B1 (TLB patch)
|North bridge||P35 Express MCH||P35 Express MCH||X38
|nForce 590 SLI SPP||nForce 680a SLI||790FX||790FX|
|South bridge||ICH9R||ICH9R||ICH9R||6231ESB ICH||6321ESB ICH||nForce 590 SLI MCP||nForce 680a SLI||SB600||SB600|
|Chipset drivers||INF Update 184.108.40.2063
Intel Matrix Storage Manager 7.5
|INF Update 220.127.116.113
Intel Matrix Storage Manager 7.5
|INF Update 18.104.22.1683
Intel Matrix Storage Manager 7.5
Intel Matrix Storage Manager 7.5
Intel Matrix Storage Manager 7.8
|ForceWare 15.01||ForceWare 15.01||–||–|
|Memory size||4GB (4 DIMMs)||4GB (4 DIMMs)||4GB (4 DIMMs)||4GB
|4GB (4 DIMMs)||4GB (4 DIMMs)||4GB (4 DIMMs)||4GB (4 DIMMs)|
|Memory type||Corsair TWIN3X2048-1333C9DHX
DDR3 SDRAMat 1066MHz
DDR3 SDRAMat 1333MHz
DDR2 SDRAMat 800MHz
|Samsung ECC DDR2-667
FB-DIMM at 667MHz
ECC DDR2-800 FB-DIMM at 800MHz
DDR2 SDRAMat ~800MHz
DDR2 SDRAMat ~ 800MHz
DDR2 SDRAMat 800MHz
DDR2 SDRAMat 800MHz
|CAS latency (CL)||8||8||4||5||5||4||4||4||4|
|RAS to CAS delay (tRCD)||8||9||4||5||5||4||4||4||4|
|RAS precharge (tRP)||8||9||4||5||5||4||4||4||4|
|Cycle time (tRAS)||20||24||18||15||18||18||18||18||18|
with Realtek 22.214.171.12449 drivers
with Realtek 126.96.36.19949 drivers
with Realtek 188.8.131.5249 drivers
with Realtek 184.108.40.20649 drivers
with SigmaTel 6.10.5511.0 drivers
|Integrated nForce 590 MCP/AD1988B
with Soundmax 220.127.116.1100 drivers
|Integrated nForce 680a SLI/AD1988B
with Soundmax 18.104.22.16800 drivers
with Realtek 22.214.171.12432 drivers
with Soundmax 126.96.36.19980 drivers
|Hard drive||WD Caviar SE16 320GB SATA|
|Graphics||GeForce 8800 GTX 768MB PCIe with ForceWare 163.11 and 163.71 drivers|
|OS||Windows Vista Ultimate x64 Edition|
|OS updates||KB940105, KB929777 (nForce/790FX systems only), KB938194, KB938979|
Please note that testing was conducted in two stages. Non-gaming apps and Supreme Commander were tested with Vista patches KB940105 and KB929777 (nForce systems only) and ForceWare 163.11 drivers. The other games were tested with the additional Vista patches KB938194 and KB938979 and ForceWare 163.71 drivers.
Thanks to Corsair for providing us with memory for our testing. Their products and support are far and away superior to generic, no-name memory.
Our single-socket test systems were powered by OCZ GameXStream 700W power supply units. The dual-socket systems were powered by PC Power & Cooling Turbo-Cool 1KW-SR power supplies. Thanks to OCZ for providing these units for our use in testing.
Also, the folks at NCIXUS.com hooked us up with a nice deal on the WD Caviar SE16 drives used in our test rigs. NCIX now sells to U.S. customers, so check them out.
The test systems’ Windows desktops were set at 1280×1024 in 32-bit color at an 85Hz screen refresh rate. Vertical refresh sync (vsync) was disabled.
We used the following versions of our test applications:
- SiSoft Sandra XI.SP4a 64-bit
- CPU-Z 1.40
- WorldBench 6 beta 2
- Team Fortress 2
- Lost Planet: Extreme Condition with DirectX 10
- BioShock 1.0 with DirectX 10
- Supreme Commander 1.1.3260
- Valve VRAD map build benchmark
- Valve Source Engine particle simulation benchmark
- Cinebench R10 64-bit Edition
- POV-Ray for Windows 3.7 beta 21a 64-bit
- CASE Lab Euler3d CFD benchmark multithreaded edition
- MyriMatch proteomics benchmark
- notfred’s Folding benchmark CD 8/8/07 revision
- picCOLOR 4.0 build 598 64-bit
- The Panorama Factory 4.5 x64 Edition
- Windows Media Encoder 9 x64 Edition
- LAME MT 3.97a 64-bit
- VirtualDub 1.7.6 with DivX 6.7
The tests and methods we employ are usually publicly available and reproducible. If you have questions about our methods, hit our forums to talk with us about them.
Memory subsystem performance
We begin with some synthetic benchmarks of memory throughput, which give us a chance to look at the effect of the 3MB L2 caches on the E7200 and Q9300 processors.
Ok, so this isn’t easy to see with the multitude of results graphed above, I admit, but the difference between 3MB and 6MB of L2 cache per chip becomes apparent when the Q9450’s turd brown diverges from the Q9300’s poop brown between the 4MB and 64MB test block sizes.
This is all very technical.
With a 1GB test block, we’re basically measuring data throughput to main memory. The Q9450 outperforms the Core 2 Extreme QX9650, curiously enough (perhaps because its 2.66GHz operating frequency syncs up well with our 1333MHz FSB and DDR3 memory). The Phenoms achieve markedly higher throughput, thanks in part to their integrated memory controllers.
The Core architecture’s memory disambiguation logic helps to mask memory access latency. As a result, performance in this test is partially a function of clock frequency for Core 2 processors. The Q9300 is thus somewhat slower than the Q9450 or the QX9650. The E7200, meanwhile, suffers a small penalty due to its 1066MHz bus speed. The Phenoms’ memory access latencies are higher than one might expect, given their integrated memory controllers, because of the additional latency contributed by their L3 caches.
Of course, all of this stuff about latency and scatology is just technical mumbo-jumbo, with only a partial impact on real-world performance, so let’s move on.
Team Fortress 2
We’ll kick off our gaming tests with some Team Fortress 2, Valve’s class-driven multiplayer shooter based on the Source game engine. In order to produce easily repeatable results, we’ve tested TF2 by recording a demo during gameplay and playing it back using the game’s timedemo function. In this demo, I’m playing as the Heavy Weapons Guy, with a medic in tow, dealing some serious pain to the blue team.
We tested at 1024×768 resolution with the game’s detail levels set to their highest settings. HDR lighting and motion blur were enabled. Antialiasing was disabled, and texture filtering was set to trilinear filtering only. We used this relatively low display resolution with low levels of filtering and AA in order to prevent the graphics card from becoming a primary performance bottleneck, so we could show you the performance differences between the CPUs.
Notice the little green plot with four lines above the benchmark results. That’s a snapshot of the CPU utilization indicator in Windows Task Manager, which helps illustrate how much the application takes advantage of up to four CPU cores, when they’re available. I’ve included these Task Manager graphics whenever possible throughout our results. In this case, Team Fortress 2 looks like it probably only takes full advantage of a single CPU core, although Nvidia’s graphics drivers use multithreading to offload some vertex processing chores.
With only one core at full utilization, TF2 doesn’t respect quad-core processors in the least. The Q9300 likely beats the E7200 thanks to its faster FSB. Startlingly, even the E7200 outruns anything AMD has to offer, placing ahead of the Phenom X4 9850 by a few frames per second and ahead of the Athlon 64 X2 5600+ by a couple more.
Lost Planet: Extreme Condition
Lost Planet puts the latest hardware to good use via DirectX 10 and multiple threadsas many as eight, in fact. Lost Planet‘s developers have built a benchmarking tool into the game, and it tests two different levels: a snow-covered outdoor area with small numbers of large villains to fight, and another level set inside of a cave with large numbers of small, flying creatures filling the air. We’ll look at performance in each.
We tested this game at 1152×864 resolution, largely with its default quality settings. The exceptions: texture filtering was set to trilinear, edge antialiasing was disabled, and “Concurrent operations” was set to match the number of CPU cores available.
The “Snow” test is obviously GPU-bound, but the “Cave” level gives us a rare scenario in a real game engine where four CPU cores truly present an advantage. Here, the E7200 outpaces the Athlon 64 X2 5600+, and the Q9300 surpasses both the Q6600 and the Phenom X4 9850. In fact, the Q9300 outruns the older Core 2 Extreme QX6800, despite having smaller caches and a lower clock frequency.
Then again, we’re talking about relatively minor differences in frame rates overall. Most of these processors should have no trouble running these games fluidly.
We tested BioShock by manually playing through a specific point in the game five times while recording frame rates using the FRAPS utility. The sequence? Me trying to fight a Big Daddy, or more properly, me trying not to die for 60 seconds at a pop.
This method has the advantage of simulating real gameplay quite closely, but it comes at the expense of precise repeatability. We believe five sample sessions are sufficient to get reasonably consistent results. In addition to average frame rates, we’ve included the low frame rates, because those tend to reflect the user experience in performance-critical situations. In order to diminish the effect of outliers, we’ve reported the median of the five low frame rates we encountered.
For this test, we largely used BioShock‘s default image quality settings for DirectX 10 graphics cards, but again, we tested at a relatively low resolution of 1024×768 in order to prevent the GPU from becoming the main limiter of performance.
Here’s another example of a game that’s not really CPU-limited, even at a relatively low resolution where the GPU shouldn’t be too strained. Median low frame rates are in the low fifties from the Phenom 9500 on up, with little variance. That’s a nicely playable result, obviously, but it doesn’t really push the faster chips to their limits. Both the E7200 and Q9300 perform adequately, and frame rates were smooth for me in testing.
We tested performance using Supreme Commander‘s built-in benchmark, which plays back a test game and reports detailed performance results afterward. We launched the benchmark by running the game with the “/map perftest” option. We tested at 1024×768 resolution with the game’s fidelity presets set to “High.”
Supreme Commander’s built-in benchmark breaks down its results into several major categories: running the game’s simulation, rendering the game’s graphics, and a composite score that’s simply comprised of the other two. The performance test also reports good ol’ frame rates, so we’ve included those, as well.
Supreme Commander faithfully shows us results that line up with our expectations for relative performance, but the differences between the CPUs is again negligible, with only a few frames per second at stake.
Valve Source engine particle simulation
Next up are a couple of tests we picked up during a visit to Valve Software, the developers of the Half-Life games. They had been working to incorporate support for multi-core processors into their Source game engine, and they cooked up a couple of benchmarks to demonstrate the benefits of multithreading.
The first of those tests runs a particle simulation inside of the Source engine. Most games today use particle systems to create effects like smoke, steam, and fire, but the realism and interactivity of those effects are limited by the available computing horsepower. Valve’s particle system distributes the load across multiple CPU cores.
We have a split decision here. The Q9300 solidly outdoes the Phenom X4 9850, but the E7200 just trails the Athlon 64 X2 5600+.
Valve VRAD map compilation
This next test processes a map from Half-Life 2 using Valve’s VRAD lighting tool. Valve uses VRAD to precompute lighting that goes into games like Half-Life 2. This isn’t a real-time process, and it doesn’t reflect the performance one would experience while playing a game. Instead, it shows how multiple CPU cores can speed up game development.
The quad-core processors get some nice traction here, and the Q9300 again outruns the Phenom. The E7200 finishes before any of AMD’s dual cores.
WorldBench’s overall score is a pretty decent indication of general-use performance for desktop computers. This benchmark uses scripting to step through a series of tasks in common Windows applications and then produces an overall score for comparison. WorldBench also records individual results for its component application tests, allowing us to compare performance in each. We’ll look at the overall score, and then we’ll show individual application results alongside the results from some of our own application tests. Because WorldBench’s tests are entirely scripted, we weren’t able to capture Task Manager plots for them, as you’ll notice.
Here’s where the harsh reality of AMD’s current predicament shines through. On this quintessential test of desktop application performance, the Core 2 Duo E7200 scores higher than any recent AMD product. The Q9300 pushes forward, raising the standard set by the Core 2 Quad Q6600.
Some of Worldbench’s component tests are below. I’ll spare you the commentary, since these results largely speak for themselves.
Productivity and general use software
MS Office productivity
Firefox web browsing
Multitasking – Firefox and Windows Media Encoder
WinZip file compression
Nero CD authoring
Photoshop likes the Core 2 processors, eh? Wow.
The Panorama Factory photo stitching
The Panorama Factory handles an increasingly popular image processing task: joining together multiple images to create a wide-aspect panorama. This task can require lots of memory and can be computationally intensive, so The Panorama Factory comes in a 64-bit version that’s multithreaded. I asked it to join four pictures, each eight megapixels, into a glorious panorama of the interior of Damage Labs. The program’s timer function captures the amount of time needed to perform each stage of the panorama creation process. I’ve also added up the total operation time to give us an overall measure of performance.
picCOLOR image analysis
picCOLOR was created by Dr. Reinert H. G. Müller of the FIBUS Institute. This isn’t Photoshop; picCOLOR’s image analysis capabilities can be used for scientific applications like particle flow analysis. Dr. Müller has supplied us with new revisions of his program for some time now, all the while optimizing picCOLOR for new advances in CPU technology, including MMX, SSE2, and Hyper-Threading. Naturally, he’s ported picCOLOR to 64 bits, so we can test performance with the x86-64 ISA. Eight of the 12 functions in the test are multithreaded, and in this latest revision, five of those eight functions use four threads.
Scores in picCOLOR, by the way, are indexed against a single-processor Pentium III 1 GHz system, so that a score of 4.14 works out to 4.14 times the performance of the reference machine.
The E7200 and Q9300 finish ahead of their would-be competition in our remaining image manipulation tests, as well.
Video encoding and editing
VirtualDub and DivX encoding with SSE4
Here’s a brand-new addition to our test suite that should allow us to get a first look at the benefits of SSE4’s instructions for video acceleration. In this test, we used VirtualDub as a front-end for the DivX codec, asking it to compress a 66MB MPEG2 source file into the higher compression DivX format. We used version 6.7 of the DivX codec, which has an experimental full-search function for motion estimation that uses SSE4 when available and falls back to SSE2 when needed. We tested with most of the DivX codec’s defaults, including its Home Theater base profile, but we enabled enhanced multithreading and, of course, the experimental full search option.
Heh. Don’t bring SSE2 to an SSE4 fight, folks. Even the E7200 outruns the Core 2 Extreme QX6800.
Windows Media Encoder x64 Edition video encoding
Windows Media Encoder is one of the few popular video encoding tools that uses four threads to take advantage of quad-core systems, and it comes in a 64-bit version. Unfortunately, it doesn’t appear to use more than four threads, even on an eight-core system. For this test, I asked Windows Media Encoder to transcode a 153MB 1080-line widescreen video into a 720-line WMV using its built-in DVD/Hardware profile. Because the default “High definition quality audio” codec threw some errors in Windows Vista, I instead used the “Multichannel audio” codec. Both audio codecs have a variable bitrate peak of 192Kbps.
Windows Media Encoder video encoding
Roxio VideoWave Movie Creator
The rest of the video encoding results are solidly within the pattern we’ve established, where the Q9300 and E7200 both outrun their competitors.
LAME MT audio encoding
LAME MT is a multithreaded version of the LAME MP3 encoder. LAME MT was created as a demonstration of the benefits of multithreading specifically on a Hyper-Threaded CPU like the Pentium 4. Of course, multithreading works even better on multi-core processors. You can download a paper (in Word format) describing the programming effort.
Rather than run multiple parallel threads, LAME MT runs the MP3 encoder’s psycho-acoustic analysis function on a separate thread from the rest of the encoder using simple linear pipelining. That is, the psycho-acoustic analysis happens one frame ahead of everything else, and its results are buffered for later use by the second thread. That means this test won’t really use more than two CPU cores.
We have results for two different 64-bit versions of LAME MT from different compilers, one from Microsoft and one from Intel, doing two different types of encoding, variable bit rate and constant bit rate. We are encoding a massive 10-minute, 6-second 101MB WAV file here.
Well, OK, then.
Graphics is a classic example of a computing problem that’s easily parallelizable, so it’s no surprise that we can exploit a multi-core processor with a 3D rendering app. Cinebench is the first of those we’ll try, a benchmark based on Maxon’s Cinema 4D rendering engine. It’s multithreaded and comes with a 64-bit executable. This test runs with just a single thread and then with as many threads as CPU cores are available.
No real news here…
We caved in and moved to the beta version of POV-Ray 3.7 that includes native multithreading. The latest beta 64-bit executable is still quite a bit slower than the 3.6 release, but it should give us a decent look at comparative performance, regardless.
In a bit of a surprising turn, the Phenom X4 9850 finishes rendering the “chess2” scene before the Q9300. The Q9300 is faster with one and two threads, but not four. The Q9450, meanwhile, may be suffering a little bit from its larger cache. POV-Ray has never seemed to care about larger caches, and they sometimes seem to get in the way. The E7200 is slower than the X2 5600+ all around.
3ds max modeling and rendering
WorldBench’s 3ds max DirectX test is about 3D modeling, and multiple cores are no help in it. The rendering test, however, shows us the kind of separation between dual- and quad-core solutions that we’d expect. The Q9300 and E7200 both perform in line with the expectations they’ve established.
Next, we have a slick little Folding@Home benchmark CD created by notfred, one of the members of Team TR, our excellent Folding team. For the unfamiliar, Folding@Home is a distributed computing project created by folks at Stanford University that investigates how proteins work in the human body, in an attempt to better understand diseases like Parkinson’s, Alzheimer’s, and cystic fibrosis. It’s a great way to use your PC’s spare CPU cycles to help advance medical research. I’d encourage you to visit our distributed computing forum and consider joining our team if you haven’t already joined one.
The Folding@Home project uses a number of highly optimized routines to process different types of work units from Stanford’s research projects. The Gromacs core, for instance, uses SSE on Intel processors, 3DNow! on AMD processors, and Altivec on PowerPCs. Overall, Folding@Home should be a great example of real-world scientific computing.
notfred’s Folding Benchmark CD tests the most common work unit types and estimates performance in terms of the points per day that a CPU could earn for a Folding team member. The CD itself is a bootable ISO. The CD boots into Linux, detects the system’s processors and Ethernet adapters, picks up an IP address, and downloads the latest versions of the Folding execution cores from Stanford. It then processes a sample work unit of each type.
On a system with two CPU cores, for instance, the CD spins off a Tinker WU on core 1 and an Amber WU on core 2. When either of those WUs are finished, the benchmark moves on to additional WU types, always keeping both cores occupied with some sort of calculation. Should the benchmark run out of new WUs to test, it simply processes another WU in order to prevent any of the cores from going idle as the others finish. Once all four of the WU types have been tested, the benchmark averages the points per day among them. That points-per-day average is then multiplied by the number of cores on the CPU in order to estimate the total number of points per day that CPU might achieve.
This may be a somewhat quirky method of estimating overall performance, but my sense is that it generally ought to work. We’ve discussed some potential reservations about how it works here, for those who are interested. I have included results for each of the individual WU types below, so you can see how the different CPUs perform on each.
The Core 2 Quad Q6600 finishes last with both the Tinker and Amber work unit types, but the Penryn-based Core 2 processors place considerably higher, probably thanks to Penryn’s new radix-16 divider. Overall, the Q9300 generates more points per day than even the Core 2 Extreme QX6850, despite a 500MHz clock speed deficit.
Our benchmarks sometimes come from unexpected places, and such is the case with this one. David Tabb is a friend of mine from high school and a long-time TR reader. He recently offered to provide us with an intriguing new benchmark based on an application he’s developed for use in his research work. The application is called MyriMatch, and it’s intended for use in proteomics, or the large-scale study of protein. I’ll stop right here and let him explain what MyriMatch does:
In shotgun proteomics, researchers digest complex mixtures of proteins into peptides, separate them by liquid chromatography, and analyze them by tandem mass spectrometers. This creates data sets containing tens of thousands of spectra that can be identified to peptide sequences drawn from the known genomes for most lab organisms. The first software for this purpose was Sequest, created by John Yates and Jimmy Eng at the University of Washington. Recently, David Tabb and Matthew Chambers at Vanderbilt University developed MyriMatch, an algorithm that can exploit multiple cores and multiple computers for this matching. Source code and binaries of MyriMatch are publicly available.
In this test, 5555 tandem mass spectra from a Thermo LTQ mass spectrometer are identified to peptides generated from the 6714 proteins of S. cerevisiae (baker’s yeast). The data set was provided by Andy Link at Vanderbilt University. The FASTA protein sequence database was provided by the Saccharomyces Genome Database.
MyriMatch uses threading to accelerate the handling of protein sequences. The database (read into memory) is separated into a number of jobs, typically the number of threads multiplied by 10. If four threads are used in the above database, for example, each job consists of 168 protein sequences (1/40th of the database). When a thread finishes handling all proteins in the current job, it accepts another job from the queue. This technique is intended to minimize synchronization overhead between threads and minimize CPU idle time.
The most important news for us is that MyriMatch is a widely multithreaded real-world application that we can use with a relevant data set. MyriMatch also offers control over the number of threads used, so we’ve tested with one to eight threads.
I should mention that performance scaling in MyriMatch tends to be limited by several factors, including memory bandwidth, as David explains:
Inefficiencies in scaling occur from a variety of sources. First, each thread is comparing to a common collection of tandem mass spectra in memory. Although most peptides will be compared to different spectra within the collection, sometimes multiple threads attempt to compare to the same spectra simultaneously, necessitating a mutex mechanism for each spectrum. Second, the number of spectra in memory far exceeds the capacity of processor caches, and so the memory controller gets a fair workout during execution.
Here’s how the processors performed.
STARS Euler3d computational fluid dynamics
Charles O’Neill works in the Computational Aeroservoelasticity Laboratory at Oklahoma State University, and he contacted us to suggest we try the computational fluid dynamics (CFD) benchmark based on the STARS Euler3D structural analysis routines developed at CASELab. This benchmark has been available to the public for some time in single-threaded form, but Charles was kind enough to put together a multithreaded version of the benchmark for us with a larger data set. He has also put a web page online with a downloadable version of the multithreaded benchmark, a description, and some results here.
In this test, the application is basically doing analysis of airflow over an aircraft wing. I will step out of the way and let Charles explain the rest:
The benchmark testcase is the AGARD 445.6 aeroelastic test wing. The wing uses a NACA 65A004 airfoil section and has a panel aspect ratio of 1.65, taper ratio of 0.66, and a quarter-chord sweep angle of 45º. This AGARD wing was tested at the NASA Langley Research Center in the 16-foot Transonic Dynamics Tunnel and is a standard aeroelastic test case used for validation of unsteady, compressible CFD codes.
The CFD grid contains 1.23 million tetrahedral elements and 223 thousand nodes . . . . The benchmark executable advances the Mach 0.50 AGARD flow solution. A benchmark score is reported as a CFD cycle frequency in Hertz.
So the higher the score, the faster the computer. Charles tells me these CFD solvers are very floating-point intensive, but oftentimes limited primarily by memory bandwidth. He has modified the benchmark for us in order to enable control over the number of threads used. Here’s how our contenders handled the test with different thread counts.
If you’re looking to do scientific computing with a mid-range desktop processor, the Q9300 should serve well enough.
SiSoft Sandra Mandelbrot
Next up is SiSoft’s Sandra system diagnosis program, which includes a number of different benchmarks. The one of interest to us is the “multimedia” benchmark, intended to show off the benefits of “multimedia” extensions like MMX, SSE, and SSE2. According to SiSoft’s FAQ, the benchmark actually does a fractal computation:
This benchmark generates a picture (640×480) of the well-known Mandelbrot fractal, using 255 iterations for each data pixel, in 32 colours. It is a real-life benchmark rather than a synthetic benchmark, designed to show the improvements MMX/Enhanced, 3DNow!/Enhanced, SSE(2) bring to such an algorithm.
The benchmark is multi-threaded for up to 64 CPUs maximum on SMP systems. This works by interlacing, i.e. each thread computes the next column not being worked on by other threads. Sandra creates as many threads as there are CPUs in the system and assignes [sic] each thread to a different CPU.
We’re using the 64-bit version of Sandra. The “Integer x16” version of this test uses integer numbers to simulate floating-point math. The floating-point version of the benchmark takes advantage of SSE2 to process up to eight Mandelbrot iterations in parallel.
The E7200 and Q9300 inherit all of the single-cycle 128-bit SSE goodness of the Core microarchitecture.
Power consumption and efficiency
Now that we’ve had a look at performance in various applications, let’s bring power efficiency into the picture. Our Extech 380803 power meter has the ability to log data, so we can capture power use over a span of time. The meter reads power use at the wall socket, so it incorporates power use from the entire systemthe CPU, motherboard, memory, graphics solution, hard drives, and anything else plugged into the power supply unit. (We plugged the computer monitor into a separate outlet, though.) We measured how each of our test systems used power across a set time period, during which time we ran Cinebench’s multithreaded rendering test.
Almost all of the systems had their power management features (such as SpeedStep and Cool’n’Quiet) enabled during these tests via Windows Vista’s “Balanced” power options profile. The exception here was the Skulltrail system, since its BIOS didn’t support SpeedStep.
Anyhow, here are the results:
Let’s slice up the data in various ways in order to better understand them. We’ll start with a look at idle power, taken from the trailing edge of our test period, after all CPUs have completed the render.
The idle power consumption of Intel’s 45nm processors, including the E7200 and Q9300, is impressively low.
Next, we can look at peak power draw by taking an average from the ten-second span from 30 to 40 seconds into our test period, during which the processors were rendering.
This is where the 45nm chips really come into their own. The quad-core Q9300 draws less power than the previous-gen dual-core E6750, and the E7200 is fully 30 watts below that.
Another way to gauge power efficiency is to look at total energy use over our time span. This method takes into account power use both during the render and during the idle time. We can express the result in terms of watt-seconds, also known as joules.
With their combinations of low peak and idle power, the E7200 and Q9300 use less power in total than anything else we tested. That makes some sense. The higher bins of Penryn-based products, which run at faster frequencies, are just above them.
We can quantify efficiency even better by considering the amount of energy used to render the scene. Since the different systems completed the render at different speeds, we’ve isolated the render period for each system. We’ve then computed the amount of energy used by each system to render the scene. This method should account for both power use and, to some degree, performance, because shorter render times may lead to less energy consumption.
Multiple cores win the day here, since we’re using a nicely multithreaded application. The Q9300’s mix of low power draw and relatively strong performance nets it a third-place finish, right in the top tier along with the other Intel 45nm quad and octal solutions. The E7200 drops down the ranks some, just above the Phenom 9500.
The stock voltage on our Q9300 was 1.2V. On the very first attempt, I raised the base FSB clock from 333MHz to 425MHz, and the Q9300 was stableat 3187MHz, stock voltage. Some additional tinkering didn’t yield much more. I managed to reach 3.26GHz on a 435MHz FSB by raising the Q9300’s voltage to 1.225V. Beyond that, additional voltage didn’t seem to help. After tweaking the memory a bit to match (1392MHz with 9-9-9-24 timings), I ran some benchmarks.
The Q9300 at 3.26GHz
Next up was the E7200. My first attempt, of course, was to reach a 1333MHz bus with the default 9.5X multiplier. The E7200 was more than happy to comply, booting into Windows and passing our Prime95 stability test effortlessly at 3.16GHz. This was, incidentally, at its stock voltage of 1.175V. Rather than stop there, I kept pushing, finally ending up at 3.372GHz with a 355MHz base FSB clockat only 1.2V. I set the memory clock to 1182MHz with 8-9-9-24 timings for testing.
Both processors, then, reached beyond 3.2GHz without much drama. Going much past that proved difficult. We’ve seen a pretty good range of Intel P35-based motherboards, including the DDR2 version of our Gigabyte P35T-DQ6, reach 490MHz and beyond, so we weren’t likely being limited by the motherboard. I was using a mid-sized air cooler with aggressive fan speeds, nothing fancy, but I doubt additional CPU cooling (short of an exotic chiller) would have helped. Neither CPU was reporting temperatures much beyond 50°C under load, and the overclocking failures typically came during POST or Windows boot, not under stress. Also, my Q9300 overclocking results freakishly mirror exactly what Geoff saw out of the Xeon X3320, a differently badged version of the same processor. Your mileage may vary, of course.
Here’s a quick look at the performance you can expect if you overclock these CPUs to these speeds. I’ve thrown in some results for other overclocked processors, as well.
Note that, at least in these tests, our Q9300 overclocked to 3.26GHz beats out a Phenom X4 9850 Black Edition overclocked to 3GHz.
In our recent review of the Phenom X4 9850, I said AMD had a small window of opportunity with the Phenom thanks to the slow rollout of Intel’s 45nm desktop processors. With arrival of the Core 2 Quad Q9300 at multiple online vendors, that window is now beginning to close. At present, the Q9300’s prices are a little inflated beyond its $266 list, but this processor still looks like a heck of a deal. Compared to the Phenom X4 9850 Black Edition, the Q9300 has all-around higher performance, markedly superior power efficiency, and apparentlydespite its locked upper multipliermore overclocking headroom. Also, thanks to a slight bump in clock speed, a faster bus, and the architectural enhancements in the Penryn core, the Q9300 is easily an improvement over the Core 2 Quad Q6600 on all fronts.
In fact, the Q9300’s toughest competition may come in the form of the Core 2 Duo E8500. Are two faster cores better than four slower ones? Our benchmark results vary on that question, and software has been frustratingly slow to progress toward more threads. Still, the numbers themselves tell a story. The cores in the Q9300, at their stock speed, are more than fast enough to run today’s largely single- and dual-threaded games. In applications where more threads are used, the Q9300 is often fastersometimes dramatically so. On top of that, given that pretty much all recent Penryn chips we’ve overclocked have topped out around 3.2GHz, I’d have a hard time going for the E8500 over the Q9300. Either is a fine choice, but look for the Q9300 to be featured prominently in our next system guide.
As for the Core 2 Duo E7200, well, once it arrives, AMD will be hard pressed to sell many Athlon 64 X2 processors priced above whatever its list price turns out to be. And if most E7200s overclock to 3.16GHz on a 1333MHz bus as easily as ours did, this thing may turn out to be a new enthusiast favorite.