6

The book has been released:

http://blogs.msdn.com/b/vcblog/archive/2011/03/15/10139453.aspx

I just wonder, has anyone gone through the implementation and seen how easy it'd be to steal / port to POSIX? Does it use Managed C++ extensions, for example? Any thoughts on it in general, or its Aynchronous Agents library? It'd be nice it there was a std::, or boost:: equivalent.

pnuts
  • 58,317
  • 11
  • 87
  • 139
JDonner
  • 492
  • 6
  • 15
  • What's the point ? There's various support for parallel programming on Unix already, what do you think would be the advantage of those MS libraries that aren't available for example in Boost ? – DarkDust Mar 31 '11 at 07:04
  • 2
    Intel's TBB implements a subset of PPL (without Asynchrounous Agents though) and it is available on POSIX platforms. Of course it uses its own parallel engine, and implements PPL interfaces on top of it. – Alexey Kukanov Apr 01 '11 at 05:25
  • 2
    Related to managed extensions. PPL does not use managed extensions. As far as I know it's standard C++ 11 code base. Source code is available as it's template based – Ghita Nov 19 '11 at 07:37

1 Answers1

3

DarkDust - Boost supports thread level parallelism, whereas PPL and TBB provide a task based abstraction on top of a thread pool and take the standard library's algorithms and containers approach. This removes a lot of the headaches associated with scheduling and resource management. Some task based parallelism features are now starting to be supported in C++11 too, notably std::future and other async related features.

Ghita - The PPL does not use managed extensions, it is purely native code but it is not all template based. The Windows implementation runs on top the Concurrency Runtime, ConcRT. See http://msdn.microsoft.com/en-us/library/gg663535.aspx for more details. Intel's implementation provides a source code compatible API for a subset of the PPL. See http://threadingbuildingblocks.org/docs/help/reference/appendices/ppl_compatibility.htm for a discussion of TBB/PPL compatability.

Alexey - The Intel version on Unix runs on top of their runtime. On Windows the TBB 3.0 can also run on top of ConcRT, depending on how you link it. See here, http://software.intel.com/en-us/blogs/2010/05/04/tbb-30-new-today-version-of-intel-threading-building-blocks

The book is available on Amazon etc and the content is also available on MSDN http://msdn.microsoft.com/en-us/library/gg675934.aspx

Ade Miller
  • 13,575
  • 1
  • 42
  • 75