Workstation, yes; Server, no.

The G5 is a gigantic improvement over the previous CPU in the PowerMac, the G4e. The G5 is one of the most superscalar CPUs ever, and has all the characteristics that could give Apple the edge, especially now that the clock speed race between AMD and Intel is over. However, there is still a lot of work to be done.

First of all, the G5 needs a lower latency access to the memory because right now, the integer performance of the G5 leaves a lot to be desired. The Opteron and Xeon have a better integer engine, and especially the Pentium 4/Xeon has a better Branch predictor too. The Opteron's memory subsystem runs circles around the G5's.

Secondly, it is clear that the G5 FP performance, despite its access to 32 architectural registers, needs good optimisation. Only one of our flops tests was " Altivectorized", which means that the GCC compiler needs to improve quite a bit before it can turn those many open source programs into super fast applications on the Mac. In contrast, the Intel compiler can vectorize all 8 tests.

Altivec or the velocity engine can make the G5 shine in workstation applications. A good example is Lightwave where the G5 takes on the best x86 competition in some situations, and remains behind in others.

The future looks promising in the workstation market for Apple, as the G5 has a lot of unused potential and the increasing market share of the Power Mac should tempt developers to put a little more effort in Mac optimisation.

The server performance of the Apple platform is, however, catastrophic. When we asked Apple for a reaction, they told us that some database vendors, Sybase and Oracle, have found a way around the threading problems. We'll try Sybase later, but frankly, we are very sceptical. The whole "multi-threaded Mach microkernel trapped inside a monolithic FreeBSD cocoon with several threading wrappers and coarse-grained threading access to the kernel", with a "backwards compatibility" millstone around its neck sounds like a bad fusion recipe for performance.

Workstation apps will hardly mind, but the performance of server applications depends greatly on the threading, signalling and locking engine. I am no operating system expert, but with the data that we have today, I think that a PowerPC optimised Linux such as Yellow Dog is a better idea for the Xserve than Mac OS X server.

References

Threading on OS X
http://developer.apple.com/technotes/tn/tn2028.html

Basics OS X
http://developer.apple.com/documentation/macosx/index.html


Mac OS X versus Linux
POST A COMMENT

116 Comments

View All Comments

  • Reflex - Friday, June 3, 2005 - link

    NT was designed primarily by Dave Cutler, who was one of the guys behind VMS at DEC. NT is not based on Mach and has no relation to it, although it shares some similarities with BSD and VMS. Reply
  • tfranzese - Friday, June 3, 2005 - link

    #35, Apple's platform uses HT links (don't ask me specifics). Reply
  • minsctdp - Friday, June 3, 2005 - link

    What's with the 24 MB/s memory write time on the Xeon, vs. nearly 2GB/s for the others? Looks bogus. Reply
  • querymc - Friday, June 3, 2005 - link

    I'd still like to see a Linux on G5 test. Without one, we still don't know for sure whether the bad performance is due to OS X or the hardware. And it's definitely useful for G5 owners to know whether they can expect Linux to improve server performance. Reply
  • querymc - Friday, June 3, 2005 - link

    NT is not built on Mach. NT itself was originally a microkernel-based OS, derived from the design of DEC's VMS OS via the lead architect of both, Dave Cutler. It's currently very monolithic, a bit more than OS X because they stuffed a lot of userspace cruft from Windows 9X in the XP kernel for binary compatibility.

    Rick Rashid(sp?) was one of the co-developers of Mach, and he went to Microsoft, which is probably what OddTSI is referring to. I don't recall whether he went to research or the OS group, though. Either way, NT has no Mach code and does not share Mach's design.
    Reply
  • Netopia - Friday, June 3, 2005 - link

    OddTSI (Poster 37)-- Do you have any supporting data for saying that NT is built on Mach?

    Joe
    Reply
  • AluminumStudios - Friday, June 3, 2005 - link

    Intersting article. I wish you hadn't left out AfterEffects though because I use it heavily and I'd love to see a comparison between the Mac and x86 on it. Reply
  • OddTSi - Friday, June 3, 2005 - link

    There's a semi-big error in your discussion on page 7. NT (and the subsequent Windows OSes based on it) is NOT a monolithic OS. In fact NT is BASED ON MACH. The main developer for the Mach micro-kernel was one of the lead developers of NT. Reply
  • octanelover - Friday, June 3, 2005 - link

    I think it would be interesting, on the server side of things, to include Solaris 10 on Opteron in your benchmark list. Seeing as how Solaris is still a major player in the server world it would be nice to see how it fares along with Linux and Mac OSX.

    By the way, this article, IMHO, is darn near groundbreaking. Excellent work and very illuminating.
    Reply
  • exdeath - Friday, June 3, 2005 - link

    And before we talk about 10 Gb/sec busses, don't forget the Opteron can have like what 3 HT channels?

    And Hyper Transport specs allow for 22 GB/sec per channel (11 GB/sec bidirectional?)
    Reply

Log in

Don't have an account? Sign up now