CCR and DevDiv's Concurrency Runtime
With the news about Intel's support for our concurrency runtime and my post about it yesterday, some may wonder how it relates to the Concurrency and Coordination Runtime (CCR), published as part of the MS Robotics' development kit.
The CCR, which I have blogged about before in my rather sparse column, currently offers both a specific programming model and the infrastructure to support it. Its programming model is compelling to some audiences while not fitting the needs of others. For example, it is only available for managed code, leaving C++ programmers without its capabilities. Likewise, the CCR doesn't help someone who wants to parallelize queries over objects or XML, while PLINQ is great at it.
The developer division concurrency runtime, on the other hand, is designed to serve as low-level infrastructure for a variety of programming models surfaced in libraries and languages.
Therefore, we are looking into how we can integrate the CCR functionality on top of the concurrency runtime once we have shipped the latter; it's important to us that it work well with other libraries that may also be used in an application, such as OpenMP, MPI, PLINQ, etc.