0

We are using parallel_for in our software to perform easily concurrent execution of some work. Now I was read in https://msdn.microsoft.com/en-us/library/hh409293(v=vs.140).aspx breaking changes + the blog in https://blogs.msdn.microsoft.com/vcblog/2015/07/14/stl-fixes-in-vs-2015-part-2/ and the worry starts.

  1. Means that I can’t use any synchronization object inside parallel_for then at least all are based on OS sync primitives? And when the answer is yes, how MS expect to synchronize anything inside parallel_for?
  2. Did anyone known under with situation a deadlock will appears between the OS scheduler and the ConRt scheduler how is described in the blog? Did anyone face this deadlock? If this is true, parallel_for comes to be completely senseless.

Thx for response!

AlfredS
  • 1
  • 3
  • I have a very similar question. Did you ever get any further understanding on this? – Alastair Taylor Oct 18 '16 at 14:42
  • We use stl/MFC synchronization objects in ppl task and didn’t face any problem. Also an deadlock we never see. But a confirmation that this will be okay I don’t have. If the documentation about the problems is outdated/wrong or we had only luck, I don’t know. – AlfredS Oct 20 '16 at 12:19
  • We are using concurrency::parallel_for and definitely seeing deadlocks that we haven't before when we used VS2013. At this time we are testing using Intel TBB as an alternative as we can't work out what is going wrong. I may e-mail Microsoft and see if I can get some more information. – Alastair Taylor Oct 26 '16 at 12:11
  • Did you investigate where the deadlock was arise? We have some dozens of parallel_for running and up this time we don’t face any problem. This means not they doesn’t exist! It would be very interesting for us to understood the context where the deadlock appears. Can you explain a little deeper what is deadlocked? Did you use your own partitionizer? A different policy? Our fallback strategy is that we encapsulate the parallel_xxx with our own templates (nowhere in our source we use parallel_xxx) and we will change they to c11 threads if it necessary. Thanks for response and good luck! – AlfredS Dec 05 '16 at 09:09

0 Answers0