Apple and x86 Questions, Part 3

Covering whether or now is the wrong time to buy a Mac, the possibility of dual-booting Windows and OS X on a Pentium-based Mac, plus more weirdness involving the CELL and consoles.

David Ma. writes:

Hi! I'm a huge fan of your blog, and since you seem to have a decent ability to assess a situation, I wanted to ask the question that I can't seem to find any answers on. If you are able to give an opinion, great! If not, I understand as I'm sure you're inundated with email.

Basically, I'm a PC programmer who's been running Linux at home because of my disappointment with Windows. After seeing Tiger and working with it recently to port some software, I've fallen in love and have decided to drop some hard earned money on a new G5 unit.

That said, I'm now confused as to what to do with Apple's announcement. I have fear that I'm jumping on train that's already left - that is, should I get a dual G5 now with the confidence that it will be fully supported in 2010, or do I wait for the Intel PowerMacs to arrive?

Thanks for any insight you might have!

One of the adages I've heard that always made sense to me is that you need to not only factor in what you'll gain from waiting, but what you'll lose as well.

In technology, something better is always going to come along, and if you can wait 6 months what's on the market then (and the price for what's on the market now) will always be better. However, while its not a bad path to wait as long as you can, while you're waiting you're forgoing any opportunities now. 'Opportunities' can be a little vague, so here is an example:

  • The sheer enjoyment of using the system now. If you're a switcher this has more weight than if you are upgrading, but it shouldn't be discounted. One would assume your platform of choice would be available to you in the afterlife, however athiests will probably need to weight this more heavily. People do get hit by busses, after all.

  • Whatever money you save by waiting for a cheaper or better future-proof system could well be outweighed by the money forgone by waiting. Being able to compile more, render more, rip more or serve more may save/make you enough cash that you even if picking up a system now wouldn't be optimal it's a no-brainer. This doesn't affect everyone, but depending on your line of work it should be taken into account.

Obviously things are weighted differently if you're upgrading instead of switching, but the gist is there. Only you really know all of the variables in your personal equation, so it is hard to say more than that. However, to go back over some of your other questions:

That said, I'm now confused as to what to do with Apple's announcement. I have fear that I'm jumping on train that's already left - that is, should I get a dual G5 now with the confidence that it will be fully supported in 2010, or do I wait for the Intel PowerMacs to arrive?

The train already left, but the key in your question is 'fully supported in 2010', which may be a number you pulled out of your ass but may well be something you're taking into consideration.

Nothing Apple is shipping right now will be supported in 2010 in any real way, and if you're coming from Windows, its good to know that 'support' doesn't really mean the same thing on the Mac. When it comes to hardware, it's 'supported' for as long as there is a warranty, either the standard one that comes with the machine or that has been extended to several years via AppleCare.

When it comes to software, Apple gives no official support status to its OS releases that I'm aware of. It either puts out a bug or security fix, or it doesn't, and you never really know whether what you're running is still eligible for bug or security fixes until you see the fix. Amusingly enough they've painted themselves into a bit of a corner with their numbering scheme here, as it'd seem to be a bit goofy if they released 10.3.9.5. [No more emails! This was meant to be a joke on how these are viewed, not that Apple can't actually do 10.3.10]

So you know you have ~3 years of hardware support via AppleCare if you pick up a Mac system now -- and while those fancy heat pumps will probably last more than 3 years, once a G5 system starts going wonky it will go really wonky because it's a bit over-engineered.

When it comes to hardware, there is also the matter of 'future-proofing' and technology plateaus. As a consumer, while there will always be something better out there, if you can make sure you're getting in on a technology plateau you'll get a lot more life out of your machine than you would otherwise. As an example, buying an Apple machine now without a GPU that fully supports some of their Core Image and other types of things will dramatically lessen how future-proof the system is.

Going forward into x86-land, the plateaus I'm aware of are:

  • 64-bit
  • Multi-Core chips
  • PCI Express

If Apple ends up using something like the upcoming Yonah and Merom CPUs from Intel, a Powerbook a year from now will be light-years ahead -- in terms of performance -- than anything Apple has now. And sure, while iPhoto might get core performance improvements going down the road, if the water-mark machine Apple is shipping in a year is three times as fast as what you have, those cycles will be put to work.

To a developer, having a process suck up 6% of the CPU on a modern machine is an annoyance to look at eventually, whereas it might be sucking up 18% of the CPU on your machine. A PowerMac G5 is a much more future-proof option than some of their other offerings, and while we don't know what Apple's machines will be like, it's still something to be aware of.

Personally I think something like a Mac Mini has an incredibly low value when it comes to being future-proof, especially once the new optical formats come online, but it could be a cheap way to get into the Mac and then upgrade to something more substantial later.

In terms of software, some things I'd keep in mind:

  • When it comes to how long you'll be able to upgrade your OS from Apple if you run PowerPC hardware, you are 'probably' safe in assuming both Mac OS 10.5 and 10.6 will run on something you buy today.

    Apple still has a pretty big installed base it will want to sell OS updates to, so you can 'probably' expect to be able to install a few new OS releases, but there is a difference between 'supported' and supported. Theoretically a lot of older hardware was 'supported' by Mac OS X when it was released, but it certainly wasn't optimal.

  • At some point, applications you'll want to run will require a specific OS you can't upgrade to, but that is a ways off. The liquid cooling system in your G5 could well fail before this is a major problem for you.

  • Third parties will want to service the older base as long as possible, as unless things go bang in a big way it's going to be the lion's share of the software market for awhile. However, most developers who have been around awhile know people who buy a new computer have a habit of buying new software, and that'll be part of their thinking process when they're deciding where to put their efforts.

  • Some tasks you might care about may well feel slower on x86 hardware. When running well-optimized code, the G5 can certainly be a monster at things like floating point. However, we're also talking a bit out, with a few watersheds in the pipeline coming like dual-cores and such, so basing your decision on the PowerPC having kick-ass floating point could look a little goofy a year from now.

    Since you said you dabble in Linux, that is one area where you'll be seeing some major improvements no matter what. I love Linux, and dabble with a few distros, and have been very happy to see their support for PowerPC increase greatly over the years. However, one thing they can't really do much about is the amount of optimization that takes place over on the x86 side because there are so many more eyes.

    It's not uncommon to see benchmarks between two apps on x86 and PowerPC where the PowerPC just doesn't do very well, or at least it doesn't do as well as something like a SPEC score would lead you to expect. The PowerPC port is just that -- often a port -- and the extent for optimizing it for the PowerPC consists of just getting it up and running. Going in and writing some hand-coded assembly for a routine the app will spend a lot of time in isn't worth their while, let alone things like AltiVec.

    On x86, the amount of eyes (and users) is much larger, so the odds of someone going in and adding these things is much higher, and the bang-for-buck is much higher once they are done because so many more people will be saving cycles.

  • There are quite a few task-areas that Apple is just falling down on right now, or you could say straining with all their might to say their machines are really worthwhile for them. If you cared about something like H.264 and were picking up a PowerPC Mac Mini, you're going to be in for a world of disappointment. If they shipped something like a Pentium-M Mac Mini things would improve, especially something with multiple cores. Their top-end machines right now can barely handle it, and while there is probably some room for further optimization, the odds of them funneling resources that way is fairly low.

  • PowerPC was put on EOL the moment the announcement was made, and I'm sure for a few larger developers who had advance knowledge it was EOL'd in their minds before this. Apple has some work cut out for them when it comes to not just 'supporting' x86, but optimizing some of their tech for it, and as time goes on less and less work will be put towards supporting their PowerPC kit or further optimizing it for the PowerPC arch.

    The 'shipping both PowerPC and x86 hardware' window will be fairly short, so while you'll probably be able to get software for it from many developers -- via universal binaries -- they're going to be putting most of their effort, if not all, behind optimization for Apple's x86 kit. This means that if a programmer has a routine that needs some serious optimization, and due to time is having to choose between x86 assembly and PowerPC assembly, they'll end up working on the x86 code path. If faced with an architectural decision that favors the Pentium versus PowerPC, they'll err on the side of the Pentium.

    Over time, their PowerPC code paths will just get bug fixes, then they'll just get serious bug fixes, and eventually it'll just be a legacy path. Since the transition window will be fairly short, this will be probably occur at an accelerated rate.

Instead of a train that has or hasn't left, it might be more appropriate to view the situation as power being cut to the PowerPC train and given to the x86 train. Whether or not the PowerPC train still has the momentum to give you the life you want from the computer you buy is going to be based on your personal variables.

And in reality, while the PowerPC train is already losing momentum, the x86 train will not be starting with the same momentum. When you get those first x86-based machines, assuming they aren't appliances and such, a lot of third-party software out there will be released as "I don't have an x86 machine to test this on, let me know if there are problems."

I highly doubt Adobe will have all their apps around on day one, let alone many of the other larger third parties, and you'd be surprised how many third-party apps are developed on iBooks, or students, or just people scraping by. They aren't rolling in dough, and renting a developer machine for $1k from Apple isn't something they're really excited about.

Something I think Apple could do to help a lot of these guys out would be to:

  • Leverage their Apple Stores and other presences (Some of the better Apple-authorized providors in areas they don't have Apple stores) and have x86-based Developer machines setup for developers to come in and test their apps. This wouldn't help out everyone, but it would help out a lot.

  • Hook up a bunch of these x86 transition-machines internally, and give VNC/etc. access to developers who jump through a few hoops so they could login and run their test apps and see where things break.

Sure, there would be some costs involved involved for Apple, but it would be such a huge win in terms of developer goodwill, which is something Apple is generally starved for. Consumers would have more apps available, that are better-tested, which means the transition would be smoother for everyone... which I'd have to think would be another win for Apple.

To go back around to your question, only you really know the answer because only you really know what's important to you, but hopefully keeping the above variables in mind helps you make it.

With the excitement and hype it has generated, why not use the CELL processor Sony and IBM are creating? It seems the whole world thinks switching to PowerPC is a good idea, just as Apple switches to Intel. Microsoft has ported XP to the G5 for creating games. I wonder if Sony or Microsoft told Apple they couldn't use it so people wouldn't use the Playstation 3 or X-BOX to run OS X? Or to get the console business IBM had to push out Apple because of the danger?

PLEASE DO NOT USE MY NAME

I have an old post sitting in MarsEdit that I never got around to writing called "An XBox and OS X time capsule" specifically geared at shooting down some of craziness people would be saying when Microsoft shipped the new XBox. I only mention it because when it comes to consoles and their chips, people have a tendancy to shut down parts of their brains.

I'm going to assume the majority of this question was covered in Part 1, where we go over the CELL being very cool but probably not aligning well for what Apple needs, but we can pick up some trimmings here.

First of all, Microsoft and Sony don't care about people running Mac OS X on their machines, as it's not really a viable danger. Every time someone gets Linux running on a console people start going on about how millions of people will throw apache on it or use it for a cluster of x instead instead of buying games, among other things, and x console maker will be in trouble because they're taking a loss on the hardware in order to sell games...

No one at the console makers loses any sleep over this, because while it's almost always going to be possible to hack things in some form, you only really have a problem when its really easy. When you look at the hacks, and what it takes to do many of these things, the number of people who would:

  • Have the inclination to use their console for xyz is extremely low

  • Have the knowledge, patience and technical ability to actually do many of them is even lower

I mean, hell, Sony has even helped out efforts involving Linux on their platform. Now, they do want to control the platform, but the trick isn't necessarily to make it completely hacker-proof but rather 'hacker-resistant', because that's just the smart thing to do from a return-on-investment POV. Developers have the ability to make it almost impossible for their software to be pirated, but most of them find that what they're gaining in lost sales is far outweighed by what they are expending in their time and even customer goodwill.

Anyways, the point is that the trick with these things is just to make it difficult enough to hack that you don't have to worry about the vast majority of people. At this scale, a few thousand people doing what you don't want is a rounding error, and a few tens of thousands is a footnote in the spreadsheet.

To go back to your question regarding Sony or IBM telling Apple "No! My toy!", it's an interesting idea but probably not founding in reality. I'm not sure it would have even been possible.

Back in February, I posted a PowerPoint (and quicktime version) file I'd found on a cocktail napkin that went into some depth on what IBM was trying to do with its 'PowerPC Everywhere' initiative. IBM was essentially setting up Power.org as standards orgnization to handle the licensing of the POWER and PowerPC instruction set architecture, as well as keeping the IP straight between those who were joining, like Sony and Red Hat.

The idea is pretty sweet. Take the POWER or PowerPC ISA, fiddle with as you'd like, add or remove whatever you'd like, and you'd have your own custom chip. Previously you could always go to IBM and ask them to do xyz, but this is much more open in case anything shaky happens down the road and ranges from Sony gettign what they want from the CELL to AMCC getting what they want for their RAID and storage stuff.

If you never looked at the file, chances are you'd find it interesting, but for the purposes of your question the 'collaborative innovation model' is what sticks in my head:

  1. IBM tightly controls the core intellectual property, like the basic instruction set.

  2. Subgroups can be created by the community to establish standards for additional IP in areas they care about. I.E., a different tasks have different needs, and someone creating storage controller chips is going ot have different needs than someone needing to pump pixels, so a base reference design will be different for both.

  3. Licensing across all the parterns becomes standardized.

I don't know all the details of [3], but I know IBM and Sony said the CELL will be open, although if you want the libraries they've developed for it you may have to pay through the nose as I don't think they've said anything concrete there. At any rate, I don't think there was anything legal stopping from Apple from using making use of the CELL if they so chose.

Will x86 Macs be able to dual boot OS X and Windows? If so, games may finally give Apple hardware consideration especially if OS X will not run well on standard hardware.

WHM

Sometimes something can be technically possible, yet enough of a logistical headache that it isn't something you see happening as a broad practice because there are easier ways to get what you want. If Apple's hardware is standard enough to handle installing and running Windows well, dual-booting should be easily possible.

However, as things stand, while a Mac can read and write to a disk formatted for a PC, I'm unaware of anyone booting from it. Unless something like that came about, you would either need to have it on a separate partition or separate disk with some funky glue to pick your poison upon startup which would probably be familiar to anyone already doing this with Linux or such today.

Considering something like VirtualPC will now be able to run with only a minor performance impact, or technologies like Wine may be around to translate Windows APIs, it could well just not be worth people's time even if it's technically possible.

yummy alcohol posted button Posted by drunkenbatman
    June 29, 2005, at 04:03 PM


Comments (25)




Post a comment



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

And do endeavor to appear sane.









Remember personal info?