Microsoft has shared bits and pieces about its plans to target multicore/many-core architectures, but there is much the company still hasn't shared publicly.
According to sources, Microsoft is working on a full set of many-core deliverables -- everything from a new, many-core-optimized operating system, to a new concurrency runtime, to a full set of multicore/many-core development tools. Other targeted deliverables allegedly include parallel domain-specific libraries and a new, lightweight transaction model.
In short, this family of many-core technologies under development -- codenamed "Tahiti" -- is Microsoft's next-generation platform for concurrent, multicore/many-core computing.
Microsoft, like other software vendors, has been putting increasing attention on the shift to multicore/many-core computing. While operating systems like Windows and existing Microsoft programming languages work just fine with one- to four-processor PCs, when 8- 16- and 64-core client machines become the norm (in the not-so-distant future), new system software and tools will be needed to enable developers and userrs to take advantage of these more powerful systems.
As you might expect, Microsoft isn't ready or willing to talk Tahiti. But based on various tips I've received over the past couple of weeks, I believe that Microsoft's next-generation operating-system, codenamed"Midori" just might be the many-core operating system that is part of the Tahiti charter. And I wouldn't be surprised if "RedHawk," the new managed-code execution environment under development at Microsoft, somehow fits into the Tahiti picture, as well.
At the end of this month, at its annual Research Faculty Summit, Microsoft researchers are on tap to share more about some elements that seem likely to be core components of Tahiti. According to the Research Faculty Summit agenda, there are a number of sessions on Microsoft's parallel-computing work. Here's the description of one happening on July 28:
"The goal of Microsoft’s Parallel Computing Platform (PCP) team is to enable the shift to modern, multi- and manycore hardware, by providing a runtime that provides core support for parallelism and resource management, programming models, libraries and tools that make it easy for developers to construct correct, efficient, maintainable, and scalable parallel programs. This talk will survey current progress and future efforts toward that goal."
(There is also another seemingly related team/project, known as the Manycore Incubation, that falls under Microsoft Research's auspices. The main project page, as well as the bios of the team members, are unavailable to non-Microsoft employees.)
There are a number of Microsoft technologies and projects that are part of its multicore/many-core strategy which are being tested inside and outside Redmond, however. Among these are the Parallel FX parallel extensions to the .Net Framework and Dryad.
In March, when it announced new industry-research collaboration initiatives in the multicore arena, Microsoft officials confirmed that Microsoft is working on a number of other multicore/parallel-computing projects, including
- Parallel, scalable numerical libraries
- Extending Microsoft’s Robotics Studio development kit for parallel environments
- Parallel performance tools based on threads
- Transaction Memory research (in Microsoft’s Barcelona Supercomputing Center)
- Parallel programming languages (primarily in Microsoft’s Cambridge, UK, lab)
Back to Tahiti. I hear Microsoft is working with hardware and software partners to build proof-of-concept demos around Tahiti. Given that many of the Tahiti technologies are considered "incubations," rather than pure research projects, I'm thinking Microsoft might be closer than many think toward delivering a many-core operating system and tool stack.
Anyone out there know more about Microsoft's Tahiti/many-core plans?