What's new in the Concurrency Runtime and the Parallel Patterns and Asynchronous Agents Libraries

Visual Studio 2010 Beta1 has been released, and it is a full install version. The team has been busy, busy busy since the CTP release last fall to deliver most of the APIs and objects we’ve blogged about here into Beta1. So I wanted to take a moment to summarize what’s new in the Beta for the Parallel Pattern Library, the Asynchronous Agents Library and the Concurrency Runtime.

You can find the official reference documentation and walkthroughs in the MSDN Library here.

What’s new in the Parallel Patterns Library

The Parallel Patterns Library (PPL) provides an imperative programming model that promotes scalability and ease-of-use for developing concurrent applications. In general the library’s surface area remains largely unchanged, with a few high impact additions. You will also find it more stable, more robust, faster, and more scalable – lots of goodness!

What’s new in the Asynchronous Agents Library

The Asynchronous Agents Library (or just Agents Library) provides a programming model that enables you to increase the robustness of concurrency-enabled application development. The Agents Library is a C++ template library that promotes an actor-based programming model and in-process message passing for fine-grained dataflow and pipelining tasks. The Agents Library builds upon the scheduling and resource management components of the Concurrency Runtime.

Here’s a summary of what’s we’ve added and revised in the Agents library:

  • Added the choice , join and multitype_join message blocks to allow users to wait on a set of messages; choice waits for any message, join waits for all messages of a single type, and multitype_join waits for all messages and allows for multiple different types.
  • Renamed the transform message block to transformer (we didn’t want Concurrency::transformer to conflict with std::transform)
  • Added functor support to the pipeline message blocks call and transformer
  • Building custom message blocks is now easier due to some refactoring.

What’s new and improved in the Concurrency Runtime itself

The underlying Concurrency Runtime has undergone significant feature improvements and performance enhancements, many of which we have been discussing already on this blog. These changes will have improvements to everything built on top of the runtime, including the Parallel Patterns Library and the Agents Library.

Call to Action

Download and install Microsoft Visual Studio 2010 Beta 1 today. Impress your friends and coworkers by being among the first to learn and use our libraries. Provide early and critical feedback on our forum that will shape the way that these libraries are ultimately released.

See this blog post on the value of your feedback: On Achieving Perfection –or– Why We Love Your Feedback (and Why You Can Love Giving It).

Happy coding!