Suffer the reviewers

I was chewing through AnandTech's No More Apple Mysteries, Part Two which was making my happy place all tingly. Now, lots of things make my utility belt tingle, but if you're not aware, Part 1 of their article focused on benchmarking Mac OS X for many server related tasks (I.E., Apache, MySQL, etc.) and came up with some abysmal results for the Mac compared to other platforms.

It caused a hell of a lot of smack to be thrown around -- primarily at them -- with only about 5% of it being deserved. There were all sorts of theories being thrown around as to why the results might have been showing so badly in OS X's favor, especially when it came to databases, all of which clearly ignored...

  1. Apple had all, in not so many words, told the AnandTech guys the issue they were seeing was real.

  2. The issue itself -- OS X being slower by an order of magnitude at certain types of server-related tasks -- was well known to a lot of people.

I think one of the reasons why the AnandTech guys caught so much flak was that users just weren't used to seeing number two thrown about, primarily because these types of real comparisons of OS X are so rare, and they were seeing it at a site primarily devoted to PC's, no less. This is compounded by the fact that Apple's server share just can't get off the ground, so few are really putting it through its paces.

It's slow

About little less than a year ago, I did an interview with Pieter Van den Abeele of Gentoo Linux for PowerPC and basically asked him what someone would get by running Linux on Mac hardware instead of OS X:

For some people OS X or Darwin might be too slow or bloated. Companies wanting to squeeze every last bit of performance out of their server farm might choose to install a customized Operating System to do the job. Boeing for instance used a G5 based Gentoo Linux solution for its satellite software.

Pieter got some flak for that around the web -- people in particular seemed to object to the use of the term "bloated" -- but what he was saying was sound. With these types of things, you're probably only going to find the issues if you're actually comparing hardware and OS configurations to find what works best for what you want to do, rather than looking for an excuse to get a Mac in the door.

We know Apple sold a bunch of XServes to the Navy to be embedded inside a submarine, and we also know they chose to use Yellow Dog Linux instead of Mac OS X. Obviously we don't know the story behind that, but we can assume there was something about the hardware that rubbed them the right way for what they wanted to do -- most probably something to do with AltiVec -- but that something about the OS wasn't working for them in the same way Linux was.

There are other areas in OS X where there are similar types of bottlenecks. Back in the Red Shed chat, Rentz said:

Cocoa is kind of weird concerning threading. It supports multiple threads, but the first thread you spawn, Cocoa takes notice and sends out an application-wide notification that the app has gone multithreaded. If your app was a Star Trek episode, it would be the Klingon ship decloaking right off starboard bow with a system-wide RED ALERT and raising of shields.

You also can't use most of Cocoa from nonmain threads (the "main thread" is the thread that handles events like mouse clicks and key presses). It's really not bad, as it's typically not the UI you want to thread, it's calculations and I/O.

Both of those are points which one could make an entire interview about, because they do affect us in our day to day use of apps, but to my knowledge no one has really sat down and explained to a Casual the implications of the above. Developers just work around it as best they can, as they have little other choice, and it'll take a lot of work from Apple to improve it.

Basically, these things are real, you just won't find them in a marketing brochure and they're complex enough that few want to tackle explaining to Casuals what's really going on.

It's not slow, that's as fast as I wanted to go anyways

If you think about it, the most thorough reviews of OS X to date haven't come from the Mac side, but rather the PC side dipping a toe into the Mac world, but even then there are limitations. It isn't as though OS X server hasn't been reviewed around the web, but people's time costs money, so they're generally fairly shallow, even at places that often do solid work.

It amounts to plugging it in and starting it up and playing around with it in a test network, while getting a feel for it and making sure it does some of the things it says on the box. Remember, the more time spent on testing something, the more costly the final review which has to be weighed against how much cash they're bringing in from doing it. The types of things AnandTech is trying to do actually take a decent amount of time, and they should be encouraged.

Another problem is that the reviewers are rarely people who are using it day-in-day-out, which means they're going to miss the things that are going to crop up with OS X Server. I remember reading reviews of it that just didn't mention what was really going on in the trenches with it: Apple probably could have been sued over the quality of the eMail server they were releasing. (Note: The Mail Server has improved)

However, you'd only really find out these things after using it for awhile, and the majority of the people who have been using it for awhile are pretty worthless when it comes to asking what they're seeing, because they're using OS X Server because they want to use a Mac.

You might think that's hyperbole, but Apple has barely been able to make a dent in the server market whatsoever. They've had some successes in the high performance computing market (HPC), where someone wants to hook up a bunch of Macs in a cluster for calculations, but the dirty secret about these is they're more about PR than actual unit sales and segment growth. We don't know actual sales of the XServes, because Apple lumps them in with the PowerMac numbers, but we know that number keeps going down and down.

The place to look for people who are primarily using them are pro-Mac shops that in the past just had no choice but to use something from Windows or Unix. Not long ago, you'd walk into a design house or pre-press shop that would have Macs on every desk -- even the secretary -- but a big Unix or WindowsNT server feeding all of them, because:

  • Apple just didn't make hardware that was server-ish whatsoever, they were basically PowerMacs with extra software installed. This was fine unless you needed certain things big iron can provide, or wanted to throw them in a rack for better management.

  • The Classic Mac OS was killing them in this market. Running OS 9 on a dual-CPU PowerMac as a server wasn't going to do you much good, and even if you were just needing to run FileMaker server the performance differences (and stability) was going to be huge.

These people just had little choice but to cede the sale towards a Windows or Unix-based solution, but with the XServe there's at least something the faithful can buy if they want to keep it all-Apple. As always, this isn't the whole story, but these people are tantamount to worthless when it comes to getting a handle on what they're really dealing with, because they chose a Mac because they want to use a Mac and wouldn't really consider something else.

They'll pull their hair out for weeks straight on something sub-par in OS X Server, and their shop has lost huge amounts of time because of it, but when asked by someone else how its gone for them they'll recommend it whole-heartedly and mentally gloss over just what they've gone through.

Let me put it this way: If you are trying to find a place to co-locate a Mac Mini as a server, you either have incredibly specific needs or you're one of the people I'm talking about... When all you have is a hammer, everything looks like a nail.

Says who

If you can't tell, I'm a little put out at the level of thoroughness of some of the reviews of different products out there. It's not just an Apple thing, it's just very prevalent in the Apple camp. You have a problem where the publications that are left on the Mac with the resources to do thorough reviews don't have a base that would be really interested, so the reviews are basically rewritten marketing materials about what's new.

There's also the problem of Apple often being the largest advertiser in these publications, and pissing Apple off in a major way is tantamount to seppuku. Apple dropping their ad buy by 40% for a few months because a review decided something had major problems would hurt the publication a lot more than Apple, so it's generally 4 out of 5 stars across the board, and you get a 4 instead of a 5 if the computer has a habit of frying its logic board.

Note I'm not calling the publications out about this, they're trying to survive and pay the mortgage and all that, and this goes across all industries in some form. The gaming industry would be a good example, although they're generally at the far end of the scale and approaching corruption. It's just a little larger than it should be on the mac, because everything is so single-source: Apple.

AnandTech is going to catch flack for their article I'm sure, but on the whole I'm just glad someone is putting in the time while being upfront about what they're seeing and trying to figure out what's going on. If you're upset at what they're doing, the least you can do is ask yourself whether you're more upset at what they're finding (and showing) or how they're doing it.

The latter can be rectified if you're willing to give them feedback, the former is... well it is what it is. At the end, they're trying to give information that wasn't out there in a readily widespread way before (But is on MySQL lists and such), and trying to get to the bottom of it. That's cool.

A hiccup
In Tiger, the locking is finer. Although Apple's documents indicate that it is still rather coarse grained, it is clear that more than two locks into the kernel can exist at the same time. In the case of MySQL, this should be a very important improvement, but we didn't see any improvement at all when performing the tests on both Panther and Tiger. This is speculation, but based on our data, we are tempted to hypothesize that the new locking system isn't really working right now, and that Tiger continues to behave like Panther.

The way the above is worded is going to cause the AnandTech guys headaches. The funnel situation has been improved for OS X, as someone can see by say, saving out a Snapz Pro movie or QuickTime export while trying to do other things in Panther or Tiger. In Tiger, it actually feels like a multitasking OS.

This doesn't mean its perfect, and isn't rough and shouldn't be looked at as something contributing to the problem. Obviously there's a huge difference between one process completely blocking anything from doing I/O, and two things trying to access, and twenty things trying to access, but there has been improvement here.

Wrapping up

Mac OS has a lot of strengths, even when it comes to speed sometimes. I.E., there are some good APIs in CoreAudio now that can give you good sustained low-latency support for Real Time-ish audio work, where it stands up great to the other players. The types of things being shown here are just an area where it's very weak, and there's a reason why Apple doesn't have a lot of benchmarks for OS X doing server related tasks up on the web.

Sure, they did back when the G5 came out, but if you'll notice much of them were compared to their older designs, and related to showing off the speed of their new DMA (direct memory access), which allowed the CPU to offload a lot of tasks to other chips for file-serving related things. There's a huge difference between serving static pages, or even dynamic pages, with serving pages that have to make a bunch of database hits at the same time.

It can be improved over time in some areas, but many of them are just things that have to be lived with due to design decisions in OS X, like having the Mach layer, and those aren't things that are going to go away. Mach brings some things to the table, but much of the way OS X works now is because it's "good enough" to get it out the door now, and changing it would be more than Apple could stomach in development costs while getting anything out the door in a reasonable time frame.

yummy alcohol posted button Posted by drunkenbatman
    September 02, 2005, at 08:57 PM


Comments (34)




Post a comment



Anonymous comments are allowed, but please enter something for a name.

And do endeavor to appear sane.









Remember personal info?