Summary
Acknowledging the importance of concurrent programming in a world dominated by multicore processors, Microsoft released a set of parallel programming extension to its .NET framework, and also launched a new online developer center dedicated to concurrent programming topics.
Advertisement
Concurrent programming has become one of the most actively discussed topics by developers. While applications increasingly execute on processors with multiple cores, special programming techniques and APIs must be used to benefit from all those CPU cores.
In response to developer interest in programming for multicore architectures, Microsoft released ParallelFX, a concurrent extension to its .NET framework. In announcing ParallelFX, Soma Somasegar, Microsoft's vice president for developer tools, noted that:
This release contains new APIs to make programming on the .NET Framework simpler as well as supporting documentation and samples... ParallelFX runs on .NET FX 3.5, and relies on features available in C# 3.0 and VB 9.0, and includes:
Imperative data and task parallelism APIs, including parallel for and foreach loops, to make the transition from sequential to parallel programs simpler.
Declarative data parallelism in the form of a data parallel implementation of LINQ-to-Objects. This allows you to run LINQ queries on multiple processors.
First class tasks that can be used to schedule, wait on, and cancel parallel work.
New concurrency runtime used across the library to enable lightweight tasks and effectively map and balance the concurrency expressed in code to available concurrent resources on the execution platform.
Several great examples of how to use parallelism in real world problems to obtain impressive speedups, including a raytracer, Sudoku puzzle generator, and other simple puzzle solvers and smaller samples.
In addition, Microsoft also created a new online developer resource center on concurrent programming topics.
What do you think of Microsoft's foray into concurrent developer tools and APIs?