Showing results for Parallelism Blockers - .NET Parallel Programming

Apr 12, 2012
0
0

Are deadlocks still possible with await?

Stephen Toub - MSFT
Stephen Toub - MSFT

Developers familiar with parallel programming are also familiar with a wide range of potential problems that can occur when practicing the art.  One of the most well-known issues is “deadlock,” where two or more operations are waiting on each other to complete in a manner such that none of them will be able to complete.I’ve r...

Parallel ExtensionsTask Parallel Library.NET 4.5
Jan 13, 2011
2
4

Await, and UI, and deadlocks! Oh my!

Stephen Toub - MSFT
Stephen Toub - MSFT

It’s been awesome seeing the level of interest developers have had for the Async CTP and how much usage it’s getting.  Of course, with any new technology there are bound to be some hiccups.  One issue I’ve seen arise now multiple times is developers accidentally deadlocking their application by blocking their UI thread, ...

Task Parallel LibraryAsyncParallelism Blockers
Jun 6, 2009
0
0

Achieving Speedups with Small Parallel Loop Bodies

Stephen Toub - MSFT
Stephen Toub - MSFT

The Parallel class represents a significant advancement in parallelizing managed loops.  For many common scenarios, it just works, resulting in terrific speedups.  However, while ideally Parallel.For could be all things to all people, such things rarely work out, and we’ve had to prioritize certain scenarios over others.One area Par...

Parallel ExtensionsTask Parallel Library.NET 4
Feb 19, 2009
0
0

Getting random numbers in a thread-safe way

Stephen Toub - MSFT
Stephen Toub - MSFT

It’s very common in a parallel application to need random numbers for this or that operation.  For situations where random numbers don’t need to be cryptographically-strong, the System.Random class is typically a fast-enough mechanism for generating values that are good-enough.  However, effectively utilizing Random in a paral...

Parallel ExtensionsTask Parallel Library.NET 4
Oct 28, 2008
0
0

Concurrent, Multi-core Programming on Windows and .NET

Stephen Toub - MSFT
Stephen Toub - MSFT

Thanks to everyone who attended our PDC pre-conference session yesterday on parallelism and concurrency!  We had a wonderful turnout at the event, and David, Joe, and I all had a terrific time. Attached to this post are the slides we presented. (It turns out that the PDC site does allow you to submit an evaluation for a precon.  If you at...

Parallel ExtensionsTask Parallel LibraryCode Samples
Aug 1, 2008
0
0

Feedback requested: TaskManager shutdown, Fair scheduling

Stephen Toub - MSFT
Stephen Toub - MSFT

One of the primary reasons we've released CTPs of Parallel Extensions is to solicit feedback on the design and functionality it provides.  Does it provide all of the APIs you need to get your job done?  Are there scenarios you wished the APIs supported and that you need to work around in klunky ways?  And so forth.  We've receiv...

Parallel ExtensionsTask Parallel LibraryParallelism Blockers
Jun 11, 2008
0
0

PLINQ Ordering

essey
essey

There is a natural tension between ordering and performance in a parallel partitioning system such as PLINQ, which we addressed as guidance in the Dec07 CTP documentation:  “Although you can opt into ordering, this does come at a cost to performance because it constrains the options which PLINQ can use for executing a query, so it is bet...

Parallel ExtensionsPLINQParallelism Blockers
Mar 13, 2008
0
0

Parallel loop performance

Stephen Toub - MSFT
Stephen Toub - MSFT

We've received several questions on the MSDN Forums for Parallel Extensions about the performance of the Parallel class, and specifically of the loop constructs we provided in the CTP.  We're very much aware that the performance of Parallel.For/ForEach in the CTP is not optimal, and that for some situations, the overhead for these constructs w...

Parallel ExtensionsTask Parallel LibraryCode Samples
Mar 12, 2008
0
0

Ordering the output of parallel computations

Stephen Toub - MSFT
Stephen Toub - MSFT

Frequently when attempting to do multiple operations in parallel, ordering becomes an issue.  Consider an application where I'm rendering and writing out to a video file frames of a movie: for (int i = 0; i < numberOfFrames; i++){    var frame = GenerateFrame(i);    WriteToMovie(frame);}For a bit of pizzazz, I'...

Parallel ExtensionsTask Parallel LibraryCode Samples
Feb 19, 2008
0
0

Task Parallel Library on Channel 9

Stephen Toub - MSFT
Stephen Toub - MSFT

Charles from Channel 9 sat down with several of us from the Parallel Computing Platform team to discuss the Task Parallel Library component of Parallel Extensions. A video of the conversation is now available on Channel9: https://channel9.msdn.com/Showpost.aspx?postid=384229. We hope you like it, and as always, feedback is welco...

Parallel ExtensionsTask Parallel LibraryThreadPool