Microsoft regearing .Net for easy concurrency

17.05.2011
Microsoft is building two new additions to its .Net framework that should make it much easier for programmers to utilize all the cores of a multicore processor.

The additions should not only ease the complexities of writing a program to run across multiple cores, but also address how the requirements for programs have changed over the past few years, said Danny Shih, the Microsoft program manager for .Net concurrency development.

"Applications are becoming more and more connected," Shih said, speaking at the Microsoft TechEd conference in Atlanta. "It's more common for applications to use Web services, to store data in the cloud, or offload general computation into the cloud."

This waiting for the data can be the source of latency, and badly written applications may just hang in a state of suspension until the data is delivered. Shih described a new approach to tackle this problem, called asynchronous programming.

The way data is handled is another area of change in the requirements of programs. Traditional programming assumes that a predefined data set already exists and the amount of the data is fairly well-known. Newer programs, however, may have to process a wildly varying amount of data.

The two new libraries, Asynch and The Task Parallel Library Dataflow (TPL Dataflow), both available in preview form for .Net and the Visual Studio IDE (integrated developer environment), address these problems.