Concurrency Runtime on Channel 9


A few weeks ago several of us from the Parallel Computing Platform sat down with Charles Torre from Channel 9 to discuss the Concurrency Runtime that we’ve blogged about here.  We talk about the motivation of the Concurrency Runtime, how its scheduler and resource manager interact and discuss the C++ programming models built on top of it, the Parallel Pattern Library mentioned here earlier here by Don McCrady and myself and the Asynchronous Agents Library (a concurrent data flow and message passing library) that we haven’t discussed yet but will likely soon.


 


The  video is now available on Channel 9: https://channel9.msdn.com/posts/Charles/The-Concurrency-Runtime-Fine-Grained-Parallelism-for-C/.


 


We hope you enjoy it, and as always feedback more than welcome and greatly appreciated!

Comments (4)

  1. David Heffernan says:

    I would find it interesting if you could perhaps contrast your efforts with those of Intel.  From what I’ve read here this looks like TBB but using C++0x lambdas for cleaner syntax.

    Is there more to it than that?  And if not then why not try to work with Intel?

  2. Jay George says:

    I have been wondering the same thing – what exactly are the differences between the Native Concurrency Runtime and Intel TBB and why not join forces?

  3. dmccrady says:

    Actually we have worked (and continue to work) with Intel very closely on native parallelism.

    1.  You’ll note that TBB 2.2 has API’s that are identical to that of PPL.  This is entirely because we’ve been collaborating on those interfaces.  

    2.  The concurrent_queue and concurrent_vector in the concurrency runtime was provided to us by Intel, with interface changes agreed up on by the two teams.  Microsoft in turn provided an implementation of concurrent_unordered_map.

    3.  Intel’s TBB & OpenMP interoperate with the concurrency runtime via Microsoft’s ConcRT resource manager, which means that processes that use PPL simultaneously with Intel’s TBB or OpenMP will behave nicely in each other’s presence, and not independently think they own all the cores on the machine.

    While I won’t go so far as to say we’ve "joined forces", as I think I’ve illustrated, we’ve provided a lot of mutual benefit to each other via inter-company technical cooperation.