G4 Multiprocessing Lesson For The Masses
August 22nd, 2000

Ever since the dual processor G4 came out at MACWORLD Expo in New York in July, a debate has raged over Internet sites about the real power that the G4 actually has to offer. Some say that the extra power of the new machine is ridiculously overestimated and that Apple pushes the envelope a little far into the bounds of marketing with its Photoshop tests. Before jumping in and giving my own spin to the issue, I would like to explain multiprocessing (MP) better to assess the current situation and to provide the necessary background for the ensuing discussion.

Intel's Web site has this to say about it:

Symmetric Multiprocessing (SMP) Defined

SMP treats all processors as equals. Any processor can do the work of any other processor, and applications are divided into threads that can run concurrently on any available processor. SMP improves the performance of the application itself, as well as the total throughput of the system. SMP requires some form of shared memory and local instruction caches. But most importantly, SMP systems require applications that can take advantage of multithreaded parallelism.

In case you have doubts because the source is Intel, here is O'Reilly & Associates's thoughts:

Using more than one CPU to handle data processing (to speed things up), where any processor can handle any task (so the processors are considered symmetric).

Requires support from the operating system (such as DEC's VMS or Windows NT), the computer hardware (such as having an EISA or PCI bus to support multiple processors), and possibly the CPUs (which would simplify the other support required).

In plain English, symmetric multiprocessing offers to take full advantage of the potential power of an MP machine by knowing how to use it. The current Mac OS, despite Apple's brilliant PR efforts to tell us otherwise, does not necessarily offer much to dual processor G4 owners. The biggest reason is that it simply does not support SMP. Individual applications can be made to take advantage of multiple processors, but the OS itself couldn't care less how many G4s are there.

Several commentators and their readers have observed that the difference between the fastest G3 and an MP G4 is rather thin. They are right and I should know it, I own a dual processor G4! I saw it for myself quickly. There is an immediate performance gain when I compare my G4's performance to the "old" G3's performance, but it would not justify the money I actually invested in the beast sitting on my desktop. Only software such as Photoshop (as well as a handful of others) takes full advantage of multiprocessing.

So, why bother with the whole thing anyway? Think about the future, my friend. Mac OS X will provide full support for symmetric multiprocessing. This means that when you and I install it on a dual processor G4, we will unleash all the power that was sleeping quietly inside the elegant Graphite tower.

The Mac OS itself will execute everything faster and all the optimized software (native and carbonized) should respond by taking advantage of the two processors. This makes me dream about my machine becoming much faster since Mac OS 9 does not support multiprocessing anywhere near as well as Mac OS X.

That said, are Photoshop tests [to prove the Mac's performance superiority] ridiculous or at least, no good except for press relations? Yes and no.

You see, Photoshop is actually the king of the jungle in the world of Macintosh software. No other application has the symbolic and practical importance to measure up against it. Anybody involved in graphic design has it and lots of other individuals have it too. It is widely used as a work tool and it needs to run fast.

Steve Jobs said, when he introduced the G4 at Seybold last year, that Apple wanted the G4 to be the ultimate Photoshop machine. It is. This is one of the reasons why Apple uses it so widely in its tests, in addition to the fact that the application's code is optimized on both the Mac and PC platforms.

Speaking of optimization, Photoshop is presumably perfect for use with the G4. It takes advantage of multiprocessing capabilities and plays nicely with the chip's Velocity Engine (or AltiVec as Motorola calls it) to offer amazing performance. In part, this is probably because Adobe's programmers and engineers are some of the best on the planet.

In the best of all worlds, all the Mac software developers would follow Adobe's footsteps and do the same. Remember that I said the best of all words, and I hint that asking for this is sheer silliness.

The reasons for this are various, though some are justified, and some are debatable. I've heard two main schools of debate: On the one hand, there are people who pretend that programmers are too lazy to do their jobs and make their software handle the Velocity Engine/multiprocessing. On the other hand, I hear that actually doing so is not a piece of cake, even for programmers who know what they are doing.

Frankly, I am ready to believe the second explanation. Programming for the Macintosh is harder than programming for Windows, and making an application perfect and stable is more difficult than it appears. Not everybody has "la creme de la creme" like Adobe Photoshop's staff to produce software.

All of this added together makes me think that using Photoshop exclusively in benchmark tests to kick some PC ass and raise the twice as fast flag falls a bit shy of reality. Photoshop is a state of the art piece of software, like the Ferrari in a world of still-decent consumer cars, and is barely representative of the whole Mac world and I do not mean it in a pejorative way!

I can hardly blame Apple for using Photoshop, as in the "ultimate Photoshop machine" in marketing, since the G4 targets that application's users more than any of Apple's current hardware products. In addition, Photoshop does what we would like all applications to do: it takes advantage of Apple's latest technologies. For users who need Photoshop to earn their bread and butter, this is already a good deal.

The G4 is no deception from Apple. It is an extremely powerful machine and the goodies inside the case make it handsome to the geeky eye. Meanwhile, Mac software does not use this new hardware to the fullest. Remember that this situation is not entirely in Apple's hands.

Should we blame Apple for it? I would not throw the first stone at them to be sure. Would it be a good idea for Apple to provide a great amount of help for programmers eager to use the Velocity Engine and support symmetric multiprocessing? Now, this sounds like a most reasonable suggestion...

If you think about it, the second processor comes free, just like the Gigabit Ethernet, since the dual 450 and 500 MHz kept their original prices despite the additions. Can you really complain about that?

Your comments are welcomed.