Rumor has it that a dual quad-core Mac Pro (8 cores) is imminent. But the disappointing fact is that except for the very rare compute-bound application which accesses relatively little memory, an 8-core Mac Pro running at 2.66 GHz will almost always be slower than a 4-core Mac Pro running at 3.0 GHz. This is a fact of life with multi-core machines, and a key reason I proceeded with my Mac Pro 3.0 GHz purchase. Photoshop users should be content if even two cores can be fully utilized a modest percentage of the time.
There are three key factors at work inhibiting the performance of an 8-core machine:
- Software designed for up to eight-way concurrency that scales linearly up to 8 processor cores is rare, especially since memory bandwidth inherently throttles such scalability.
- Memory bandwidth is inadequate for 8 cores. It’s already a limiting factor with the current quad-core
3.0 GHz Mac Pro. Memory copy speed is at best 2.9GB/sec on the Mac
Pro, in spite of Apple’s highly misleading claims of
21.3 GB/sec (“maximum processor bandwidth of up to 21.3 GB/s”—bandwidth is a bit more than double the memory
That’s a measly 700MB/sec per core on a quad-core machine, and only 350MB/sec per core on an octa-core machine. By comparison, a 6-drive hard disk RAID array can easily perform at over 400MB/sec!
- Clock speed is slightly lower for the Intel quad-core Xeon, topping out at 2.66 GHz vs 3.0 GHz for the dual core chips (although a 3.0 GHz quad-core chip has been announced, it will not be available for some time). That’s a 12.8% advantage (at best).
Of course, if Apple devises a higher bandwidth memory bus for an 8-core machine, higher performance is possible. But this is not likely, since the quad-core chips share the same pin-out and in fact can be swapped for the dual-core chips currently present in the Mac Pro. That latter point is good news for hard-core techies who could obtain the low-end 2.0GHz Mac Pro, and swap the chips out for faster quad-core ones.
In short, the 8-core Mac Pro will be of value only if your workflow is compute intensive with modest memory bandwidth requirements. Server applications that are highly multi-threaded such as a web server might also benefit substantially. Don’t pay extra to run more slowly until you see some test results!