Even though Microsoft has been working on .NET’s Parallel Extensions since 2007, there are still many features that they didn’t have time to fully implement for .NET 4.0. Some features were “too application-specific to be included in the core of the Framework” while others simply needed for testing and user feedback. So instead they are being released as a set of patterns and samples.
Ed Essey, a Program Manager on the Microsoft Parallel Computing team, wrote on the latest enhancements to PLINQ that are to appear in .NET 4.0 Beta 1 that is to be released soon. Some of them are: “With” Operators Pattern, Execution Mode, Cancellation, Refactoring, Performance Improvements.
Microsoft is planning on releasing a wide variety of parallel programming libraries with .NET 4. These include Parallel LINQ (PLINQ), Structured Parallelism (Parallel.For), the Task Parallel Library, and the Coordination Data Structures.
Daniel Moth has released four videos on Parallel Extensions for .NET. These cover the new declarative, imperative, and task-based parallelism APIs for the .NET framework.
A community tech preview of Parallel Extensions, originally known as PLINQ, has been released. Parallel Extensions goes beyond what was found in PLINQ and will include imperative data parallel APIs.
MSDN Magazine has spilled the beans on Parallel LINQ. Parallel LINQ, also known as PLINQ, is a set of LINQ extensions that hide the dirty work of distributing LINQ queries across multiple cores.
CodeSmith released Professional LINQ to Objects, a set of templates to be used with CodeSmith and Visual Studio 2008 that supplement Microsoft's upcoming LINQ to SQL and have many great features including the ability ot generate or update a LINQ to SQL dbml file from a db schema, generation of LINQ to SQL entity manager & entity classes as well as the DataContext class.
While Microsoft's developer devision refines the core LINQ for the Visual Studio 2007 release, work has already begun on the next version feaures. The one most interesting to those looking to support multi-core computer is Parallel LINQ. Joe Duffy's presentation at Declarative Aspects of Multicore Programming workshop gives a good overview of some of background and issues of Parallel LINQ.
With multi-core CPUs finding their way into server farms and the desktop not far behind, new techniques to take advantage of them are desperately needed. Microsoft is seeking to address these with Parallel LINQ, a research project to add automatic multithreading to LINQ queries.