Free performance lunch is over. During the past few decades we witnessed continuous growth of single core processor performance powered, for the most part, by increases in processor clock speed and improvements in instruction level parallelism. All applications benefited from this trend and, even unchanged, ran faster with each passing year. Unfortunately, it appears that these two engines ran out of steam, at least for the time being. Moving forward and for the foreseeable future transistor budgets will increasingly be spent on increasing the number of processor cores per chip, leading to the appearance of multi-core chips at first (4 to 8 core chips are a reality today) and many-core chips in the future (tens to potentially hundreds of cores per ship). To take advantage of this new hardware reality the whole software stack – operating systems, programming frameworks, programming languages, tools, and applications will have to adjust. From now on, to ride the performance wave again, developers will have to specifically tailor their applications for scale out on multi/many-core processor architectures. That is challenging task today, given the state of tools and abstractions provided by platform and tool vendors. Recognizing this shift and existing technology gap, Microsoft has been conducting research and development activities in the area of parallel development for a number of years now. Yesterday, Microsoft announced the June CTP release of the Parallel Extensions to .NET. Parallel Extensions for .NET is a library aimed at significantly reducing the complexity of parallel application development, using .NET Framework. It is a compact and simple install – just a single DLL and a documentation file. It is purely additive to the .NET Framework 3.5 and doesn't affect existing applications at all. So, please download it, try it out, and provide feedback. Since this is a CTP there is still plenty of opportunity left to shape the final product.

Additional information:

Released! Parallel Extensions to the .NET Framework June 2008 CTP

What's New in the June 2008 CTP of Parallel Extensions

Known Issues in the June 2008 CTP of Parallel Extensions

On Achieving Perfection –or– Why We Love Your Feedback (and Why You Can Love Giving It)

Parallel Computing Development Center on MSDN

-Vlad