The post on Apple's Grand Central multicore support in OS X.vi had some commenters claiming that Microsoft had already solved the multicore software problem. Far from it.
And Microsoft knows it
Microsoft has a multi-pronged campaign to get in front of multicore. They're hiring smart people and spending real money. They will have a response to Grand Central.
Only 2 questions: when and how good? Microsoft's forte is software that enables the moderately talented to produce functional software. Enabling Visual Basic
programmers to exploit multicore chips is no mean feat.
Update: The word "multicore" - and the fact that we're successfully using dual-core processors today - has confused some readers. Yes, limited forms of parallelization are built into most OS's and many applications today. But these don't scale well even to quad-core processors, let alone to 8-core and higher, except on some specialized and tuned apps.
The focus of Microsoft Research's multicore effort is figuring out how to effectively use "manycore" processors in single systems as well as aggregating many systems for scale-out performance. Intel will be able to produce 32-core x86 processors in a few years. It sure would be nice to get 32x performance out of them.
The industry should start using the term "manycore" to describe the technology. I changed the title above. End update
Why the focus on multicore? As Dan Reed, MR's multicore research leader said recently in his blog:
. . . we are now approaching some fundamental physical limits. The bounds on CMOS junction voltages are near, and the number of atoms on a transistor junction is countable. Parallelism, some new technologies or radical new approaches (quantum computing or biological computing), will be required. All of this is driving the multicore revolution.
MR has an aggressive agenda:
- $20 million to support 2 Universal Parallel Computing Research Centers
- Dan Reed's dedicated research group inside Microsoft Research
- A Safe and Scalable Multicore Computing external research program
- And more, such as the collaboration with the Barcelona Supercomputing Center
Microsoft Research takes the multicore problem seriously.
The Storage Bits take
Despite their obvious commitment to multicore research, Microsoft Research isn't in the product development business. There is no direct link to what we'll see in Windows 7. Time and chance happen to all features.
Reading the tea leaves it appears that Microsoft and Apple have - surprise! - different philosophies in exploiting multicore.
Microsoft - the developers, not the researchers - are focusing on using additional cores to add features to the OS and Office. High quality voice recognition and predictive workflow modeling, both items that will improve the man-machine interface. Spawning additional tasks also simplifies using more cores since the new features can be loosely coupled processes.
Apple - much more dependent on 3rd party developers - is focused on platform support for multicore. Like their successful Core Services strategy Apple will present APIs that enable developers to quickly leverage multicore performance.
The success of each approach remains to be seen. What's important is that we, the users, will see some real competition. That's good for all of us.
Comments welcome, of course. Update 2: Some have taken exception to my characterization of Microsoft's forte above. My point was statistical, not personal.
When you own 90% of the desktop market and a good chunk of the server market the target market for your development tools will be the "average" developer, not the compsci PhD. To stress that I struck out the reference to programmers to put the focus on the tools, not the users. HTH. End update.