Eight-core Mac Pro, are we ready?

April 4, 2007

The extremely low-key release of the new eight-core Mac Pro earlier today illustrates perfectly some of the problems the computer industry in general and Apple in particular are facing.

When Apple decided to move away from the PowerPC it was simply because IBM could not deliver a competitive processor to challenge Intel. At the time it was clear that they had hit a wall both in terms of performance as well as heat dissipation and that they were looking for alternative ways to solve the problem, with innovative chip designs such as the Cell processor found inside Sony’s PS3. Apple wasn’t interested in new designs, they wanted a quick fix to solve the performance gap and Intel provided it.

However, Intel couldn’t defy the laws of physics either and now, less than two years after Apple switched chips we see clearly that, in the future, GHz will matter less and less, specially after chip manufacturing moves to 45nm this year and further improvements become harder to achieve. Instead, what will matter will be how many cores a chip includes and how efficiently they can communicate in order to collaborate to solve complex problems, something that IBM had recognized long ago.

Why do we need eight-core workstations? In the server arena, the answer is obvious, all the applications are multithreaded and can easily use all the cores you throw at them. The more processors you have, the better a database or an application server performs. On a workstation, the situation is totally different. Most applications can only use one application. Sure, Having two cores on my Mac Book Pro is nice because watching a movie does not negatively impact the performance of my machine if I am using another application. But that is what I call user-multithreading. Since users can perform multiple tasks at the same time, having multi-core chips helps avoid performance issues. That is nice, but what we really want is to have applications such as Pages or Excel use those extra cores so that a four-core computer delivers four times the performance of a single core box. That is not the case today. Almost none of the applications a normal person uses daily are multi-threaded.

The main reason most desktop applications are not multithreaded is because writing that kind of applications is hard, very hard. That is why everyone has been dragging their feet when Intel and others have urged them to rewrite their applications to take advantage of multiple core processors. What applications need to be upgraded first? Those that require the most performance, like games, video editing systems and number crunching applications come immediately to mind.

While this move from single-threaded to multi-threaded applications is affecting the whole industry, Apple faces some unique challenges. Tests run by AnandTech demonstrated that Linux created processes and threads, raised signals, and performed other interprocess communication far more rapidly than Mac OS X. This does not really have an impact today when most personal computers have only single or dual core processors but could quickly escalate into a major issue if eight or sixteen core machines become common.

The good news is that Apple is well aware of this and seems to be working on the issue. I expect Leopard to offer a partial answer to many of these problems. The developer community has to work also on their part of the problem by delivering scalable and efficient applications that fully use the hardware they run on.

That is why an Apple spokesperson said that “The 8-core Mac Pro gives pro software developers a platform to prepare new versions of their applications for the future, when 8-core technology is more prevalent on the desktop” according to MacWorld. We are clearly not ready to harness that much power today, but we will get there, eventually.

© 2026 Huibert Aalbers. All rights reserved.

Contact Me