Memory Performance

We'll start off our look at the Mac Pro's performance with some low level memory tests, since arguably the most controversial aspect of the Mac Pro is its use of Fully Buffered DIMMs.  For more information about FB-DIMMs be sure to read our original article on the Mac Pro

L2 Cache Latency

The G5 had a very quick 12-cycle L2 cache, which gives it a slight performance advantage compared to the 14-cycle L2 of the Xeons in the Mac Pro.  Access latency is only one part of the puzzle however, as the G5s benchmarked here only had a 512KB L2 cache (the G5 later got an upgrade to a 1MB cache) while the Xeons in the Mac Pro have a 4MB L2 cache per chip.  The G5 had a slightly faster L2, but you can reach higher clocks with the Xeon thus minimizing the effective latency and you can fit more data into the larger L2. 

Memory Access Latency

And here we see the real killer with FB-DIMMs; although the Mac Pro boasts lower latency memory accesses than the PowerMac G5, it actually takes longer to access main memory than the Core Duo processor in the MacBook Pro.  This is much worse than it sounds once you take into account the fact that the MacBook Pro features a 667MHz FSB compared to the 1333MHz FSB (per chip) used in the Mac Pro. 

We can further put things in perspective by looking at memory latency under Windows XP, compared to Intel's Core 2 processor.  Remember that the Core 2 is identical to the Xeons in the Mac Pro, the difference being that the chipset uses regular DDR2 memory instead of DDR2-667 FB-DIMMs.  Note that for our Core 2 system in the comparison below we ran the memory at DDR2-667 at 5-5-5-15 timings as well as DDR2-800 at 4-4-4-12 to provide apples-to-apples as well as apples-to-fastest comparisons. 

 CPU Everest
CPU-Z 1.35 (8192KB, 256-byte stride) Everest READ Everest WRITE
Apple Mac Pro 2.66GHz (DDR2-667 FB-DIMM Quad Channel) 100 ns 87.4 ns 4292 MB/s 3759 MB/s
Apple Mac Pro 2.66GHz (DDR2-667 FB-DIMM Dual Channel) 105.8 ns 92.3 ns 4141 MB/s 3096 MB/s
Intel Core 2 Duo E6700 2.66GHz (DDR2-800 4-4-4-12 Dual Channel) 59.9 ns 52.8 ns 7413 MB/s 4859 MB/s
Intel Core 2 Duo E6700 2.66GHz (DDR2-667 5-5-5-15 Dual Channel) 68.9 ns 59 ns 6782 MB/s 4858 MB/s

 

It's not Apple's fault, but FB-DIMMs absolutely kill memory latency; even running in quad channel mode, the FB-DIMM equipped Mac Pro takes 45% more time to access memory than our DDR2 equipped test bed at the same memory frequency.  Things don't get any prettier when we look at memory bandwidth either.

Remember the overhead we were worried about with the serialization of parallel memory requests?  With four FBD channels, the best we're able to see out of the Mac Pro is 4.292GB/s, compared to the 6.782GB/s of bandwidth our dual channel Core 2 testbed is able to provide.  The efficiency table below says it all:

 CPU Peak Theoretical Bandwidth
Everest READ Efficiency
Apple Mac Pro 2.66GHz (DDR2-667 FB-DIMM Quad Channel) 21.3GB/s 4.292GB/s 20%
Apple Mac Pro 2.66GHz (DDR2-667 FB-DIMM Dual Channel) 10.67GB/s 4.141GB/s 38.8%
Intel Core 2 Duo E6700 2.66GHz (DDR2-800 4-4-4-12 Dual Channel) 12.8GB/s 7.413GB/s 57.9%
Intel Core 2 Duo E6700 2.66GHz (DDR2-667 5-5-5-15 Dual Channel) 10.67GB/s 6.782GB/s 63.6%

 

FB-DIMMs are simply not good for memory performance; the added capacity allowed by having 8 FB-DIMM slots on the Mac Pro had better be worth it, because if Apple were to release a Core 2 based Mac chances are that it could give the Mac Pro a run for its money in a number of memory sensitive tasks. 

The Test Dual vs. Quad Channel
Comments Locked

96 Comments

View All Comments

  • plinden - Thursday, August 17, 2006 - link

    I know of at least one multithreaded LAME encoder for iTunes, but I've never used it so don't know how fast it is - http://www.versiontracker.com/dyn/moreinfo/macosx/...">http://www.versiontracker.com/dyn/moreinfo/macosx/...
  • Maury Markowitz - Wednesday, August 16, 2006 - link

    The MP3 process itself might not be, but the load -> encode -> write process most certainly is threadable.

    Maury
  • Questar - Wednesday, August 16, 2006 - link

    Reading and writing a file most likely doesn't use very much in system resources.
  • Dennis Travis - Wednesday, August 16, 2006 - link

    Good job Anand. I can't wait for the next part!!

  • WeirdZen - Wednesday, August 16, 2006 - link

    Something I have not seen mentioned is support for Video Cards. Now that these are using a different Bios, can we use standard PC Video Cards, or are we still forced to pay too much money for a slim selection of cards?
  • Maury Markowitz - Wednesday, August 16, 2006 - link

    The basic answer is "no, but it is likely you can make them work with some effort". There are two basic problems, one is the boot firmware on the card, and the other is the drivers in the Mac OS (or lack thereof). Both can be addressed, and have been in the past. Here's the scoop:

    The firmware on the basic PC card is basically aimed at getting a BIOS-based machine up and running. Since the Mac uses EFI, this doesn't work, and a PC card in a Mac simply won't boot (nothing bad happens though, just nothing happens). The Mac cards replace this BIOS-based code with one that appears to work fine on both BIOS and EFI machines. So basically a Mac card will work fine in any PC, but most PC cards will not run in the Mac. EFI is expected to become more common in the future though, so we'll have to see how this turns out six months from now.

    Now it's just firmware. That means you can download it from a Mac version and upload it to a PC version and presto. The problem here is that the combination on the Mac drive ends up being larger, which shouldn't be surprising. So while most PC cards have a 64k flash on them for the firmware, the Mac version is about 110k and needs a 128k flash. SOME PC cards have this, but generally it's rare.

    Things are not so bad as they seem. In the past hackers have been able to strip out the PC-only code, leaving a smaller Mac-only version that will fit into 64k. It will be a little while before we know if this is possible for the EFI driver too, it's simply too early to know yet. Another option is to solder a 128k flash onto your card, but obviously that's much more "serious".

    The other issue is the drivers in the Mac OS. Every card has a unique ID and vendor code in it, and the Mac OS tries to look up cards by pattern matching on these IDs. So even if you did flash the firmware, the Mac wouldn't find the driver matching those codes, and fail to load it. The news here is very good though, because Apple puts practically everything into normal text files, including these codes. It's a triviality to find them in the driver and change them to match your card.

    So we'll all just have to wait a bit and see how it all turns out. The basic long-n-short is that its definitely _possible_ in theory.

    Finally, a word or two about SLI/CrossFire. These are a different matter entirely. Basically these systems use custom drivers that split every message being sent out of the video drivers and sends them to both cards at the same time. That way they both have an identical copy of the "world". Clearly the normal drivers cannot be used, and unless someone makes a driver for the Mac, these things simply aren't going to work.

    There is one oddball though, the GeForce 7950 GX2. This card is basically two 7900's bolted together, with SLI _internal_. From what I understand, the machine and OS has no idea that it's not talking to a bog-standard 7900. Assuming all the problems above can be worked out, it is just possible that the Quattro driver Apple has now could be adapted to work with this card. THAT would be good enough for me, Halo runs full-screen on a 30" LCD on this card...

    Maury
  • Pirks - Wednesday, August 16, 2006 - link

    yeah Anand please tell us if we can buy nice cheap evga 7900GT and stick it inside this fruity beast
  • VooDooAddict - Wednesday, August 16, 2006 - link

    I think this is a burning question amoung those of us thinking about this beast.
  • ViRGE - Wednesday, August 16, 2006 - link

    Early results look like it won't happen. For Mac OS X, the card needs to support EFI, which means there needs to be a portion of the video BIOS programmed to handle it. Right now only Mac-specific cards seem to be able to do so, and PC cards can't be flashed because the Mac cards are using a larger EEPROM for the BIOS.
  • delta53 - Wednesday, August 16, 2006 - link

    They go on and on about the price difference and fail to tell you that the Apple doesn't include at monitor or a protection plan which the price of the dell includes both. The price for the apple plan is $249 for 3 years. Dell will take off $149 for the monitor. Therefore, the Apple with protection plan without monitor is $2748.00 and the Dell with the protection plan without monitor is $2961.00. Price difference $213.00. That is comparing apples to apples.

Log in

Don't have an account? Sign up now