Saturday, November 8, 2008

When I’m 64*

When will 64-bit take over?

It’s a question whose time has come, in several dimensions, the hardware, the applications, and the pace of innovation.

Hardware

The hardware is ready.

AMD first shipped 64-bit CPUs in 2003. AMDs CPU product line has 2 segments, desktop and mobile. AMDs desktop line is 64-bit top to bottom, eg Phenom, Athlon, Sempron. The low-end Sempron desktop has been 64-bit since 2005. AMDs mobile line of Turion and Athlon are also 64-bit. Turion has been 64-bit since 2005. Only the bottom end of AMDs mobile line, the mobile Sempron, is not 64-bit.

Intel shipped its first 64-bit CPU in June of 2004. The Intel desktop line consists of Core i7, Core 2 Duo and Core 2. Core 2 was released in June 2006. This “leaked” data with picture gives an idea of the Intel desktop roadmap, although with all sources like this the real data could change.The Intel mobile line consists of Performance (Mobile Core2), Value (Celeron) and NetBook (Atom lines. Only Atom at the very bottom of the line up is Intel not 64-bit.

So AMD since 2005 and Intel since 2006 have had 64-bit support in the vast majority of their CPU products. Considering Gartners’ volume expecatation for 2005 was 202 million units that means we have on the order of 600 million 64-bit capable CPUs in the market as of the end of 2008. 800 million as of the end of 2009.

The size of the installed hardware base is not a gating factor.

Applications

Address space is essentially the size of the sandbox each application gets to play in. With a 32-bit OS, the maximum is 4G and Windows democratically splits this into 2G for each application and 2G for the OS “stuff” each application requires. This is called “process address space” and is a hard limit on the memory size available. Note this is completely different than physical RAM; this is virtual space for each process.

There is a growing and significant tide of applications that now need 64-bit address space. You see a hint of this in the fact that Microsoft released the /3G switch at all.

Initially this feature was aimed at and released for “line-of-business” applications like SQLServer and Exchange. Ok, fine, we don’t really care what runs in the server closet.

However, now there are now at least 2 32-bit games that get major benefit from this switch, Supreme Commander and FSX (with Acceleration or SP2). And once there are 2, there will be more. Note, care must be taken with this switch, you cannot just turn it on for any application.

Even 32-bit applications get benefits under a 64-bit OS in that the /3G switch isn’t required to get that extra dollop of process address space.

64-bit-ness just makes this address space issue go away. And the 32-bit limit on address space is starting to cause design challenges in algorithm development. It needs to go away.

The main gating factor here is the availability of 64-bit versions of key applications.

Check out a list of 64-bit native applications. And check out this list of 64-bit games. Note Microsoft is not leading the pack here. Where is Visual Studio as a 64-bit native application? Where is Office as a set of native 64-bit applications? Where is a roadmap showing us when these are coming? I only see criticisms about the lack of roadmaps. How do you convince other developers to go there, when you don’t even show your own plans to go there?

Contrast that to the 13 games on the games list above and key DCC apps like Adobe Photoshop (news already released about Photoshop 64-bit native) and AutoDesk 3DStudio Max which is already available in a 64-bit native version. SoftImage is another native 64-bit app in the DCC space.

Clearly the external developer community is leading here. That is even more impressive given the confusing leadership from Microsoft.

Pace of Innovation

Pace of innovation is the toughest dimension of the issue I am covering. This is another “Goldilocks” zone, in that you want to be “just right". Pick your moment too early, and a product languishes. Pick your moment too late, and you are behind the curve. Pick the right moment and you ride the wave.

In Microsoft's case, though, they could create the wave for the rest of the software development community and by extension the end-user community.

If we examine the past, we can see what the previous pace was and use that to judge the current pace.

The window of time for 16-bit PC OS was 1981 (release of the PC) to 1995 (release of Windows 95 as the 1st mainstream 32-bit OS). That’s 14 years.

Windows 95 to the expected release of Windows 7 in 2009 is also 14 years. Microsoft could have chosen to make Windows 7 the 1st mainstream 64-bit OS.

The "pace of innovation" clock is certainly within reason, as is the hardware and support from non-Microsoft applications. Plus Microsoft certainly has evidence that sales of Win64 Vista are picking up, so it’s unfortunate that Microsoft hasn’t turned the switch in the Windows division or been more effective in flogging the other Microsoft divisions to be fully supportive of this important platform move.

To be fair, Windows division execs are challenging the development community to make 64-bit versions of the applications available.

But that is a little bit of the cart and the horse,and its hard to see how external developers should take this to heart when it appears major parts of Microsoft have not. See above about Microsoft’s own “key applications” and plans for 64-bit. In the past Microsoft led the way in a global sense (all divisions worked together better) and external developers saw this and followed. Now it appears Microsoft wants the external developer community to lead and the non-Windows parts of Microsoft want to follow. That is more than a bit confusing.

Conclusion

Showing true platform leadership and having a grounded belief that sales would follow leadership (and by implication not the other way around) was one of the things that made Microsoft great.

The fact that Microsoft is not “leading” any more in a global sense, since the other divisions do not seem to be playing in the same game as the Windows division - this is disappointing. More than that, though, it is another indication that Microsoft is no longer what it once was. What we have is a void in platform leadership and evangelism from a company that used to define what platform leadership and evangelism was all about…sigh.

The other, even more negative (for Microsoft) side of this is that without Microsoft showing true platform leadership across all divisions in driving the industry forward (and thus being a moving target) means they are now much easier to aim at like Google, Amazon, and others have been doing for the last 6 years since XP shipped.

And thats before we get to gaming strategy on the PC or lack thereof.

*Apologies to Paul and John

3 comments:

said...
This post has been removed by the author.
said...

Hey Phil!

Thanks for posting this. Its really cool to get the perspective of someone in the loop. I was hoping for 64bit mainstream by 2010 and for the MSFS title to take on 64bit as well.

I am following along here on your new adventure so please keep posting.

Great stuff!

Nick

said...

Nick,

Thanks for posting a comment.

Yes, it is currently refreshing to be able to post thoughts on topics that I could not under my previous employer.

I think 64-bit is overdue and it is timidity and not technology that is stopping up the works. No exec wants to see revenue drop for even a short while to see the platform grow in the long-run. Too bad for the rest of us, eh?

I am sure I will reach "the edge of the world" wrt my current employer but I currently have so many topics queued up that seems like a far distance away.

Phil