Posts by this author

May 4, 2010
Post comments count0
Post likes count0

ParallelExtensionsExtras Tour – #15 – Specialized Task Waiting

(The full set of ParallelExtensionsExtras Tour posts is available here.)The Task Parallel Library provides the Task.Wait method, which synchronously waits for the target Task to complete.  If the Task completed successfully, the method simply returns.  If the Task completed due to an unhandled exception or cancellation, Wait throws an app...

.NET Parallel Programming
Apr 28, 2010
Post comments count0
Post likes count0

ParallelExtensionsExtras Tour – #14 – SingleItemPartitioner

(The full set of ParallelExtensionsExtras Tour posts is available here.) In a previous ParallelExtensionsExtras Tour blog post, we talked about implementing a custom partitioner for BlockingCollection<T>.  Custom partitioning is an advanced but important feature supported by both Parallel.ForEach and PLINQ, as it allows the develope...

.NET Parallel Programming
Apr 27, 2010
Post comments count0
Post likes count0

ParallelExtensionsExtras Tour – #13 – AsyncCall

(The full set of ParallelExtensionsExtras Tour posts is available here.)Producer/consumer scenarios could logically be split into two categories: those where the consumers are synchronous, blocking waiting for producers to generate data, and those where the consumers are asynchronous, such that they're alerted to data being available and only then ...

.NET Parallel Programming
Apr 23, 2010
Post comments count0
Post likes count0

ParallelExtensionsExtras Tour – #12 – AsyncCache

(The full set of ParallelExtensionsExtras Tour posts is available here.)Caches are ubiquitous in computing, serving as a staple of both hardware architecture and software development.  In software, caches are often implemented as dictionaries, where some data is retrieved or computed based on a key, and then that key and its resulting data/val...

.NET Parallel Programming
Apr 15, 2010
Post comments count0
Post likes count0

Parallel Computing Sessions at the Visual Studio 2010 Launch

Thanks to everyone who attended our three breakout sessions at the Visual Studio 2010 Launch and DevConnections conference this week in Las Vegas.  Attached to this blog post are the slide decks that were presented at the talks.  The code from the talks is available either as part of our Parallel Programming in .NET 4 samples at htt...

.NET Parallel Programming
Apr 15, 2010
Post comments count0
Post likes count0

ParallelExtensionsExtras Tour – #11 – ParallelDynamicInvoke

(The full set of ParallelExtensionsExtras Tour posts is available here.)  Delegates in .NET may have one or more methods in their invocation list.  When you invoke a delegate, such as through the Delegate.DynamicInvoke method, the net result is that all of the methods in the invocation list get invoked, one after the other.  Of...

.NET Parallel Programming
Apr 14, 2010
Post comments count0
Post likes count0

ParallelExtensionsExtras Tour – #10 – Pipeline

(The full set of ParallelExtensionsExtras Tour posts is available here.)  Producer/consumer is a fundamental pattern employed in many parallel applications.  With producer/consumer, one or more producer threads generate data that is consumed by one or more consumer threads.  These consumers can themselves also be producers of f...

.NET Parallel Programming
Apr 13, 2010
Post comments count0
Post likes count0

ThreadPool performance you can see

We've spent a lot of time touting improvements to the .NET Framework in .NET 4 around threading, including core enhancements to the performance of the runtime itself.  Sometimes data is more powerful than words, however, and it's useful to be able to see exactly what kind of difference such improvements can make.  To assist with that, her...

.NET Parallel Programming
Apr 13, 2010
Post comments count0
Post likes count0

ParallelExtensionsExtras Tour – #9 – ObjectPool

(The full set of ParallelExtensionsExtras Tour posts is available here.) An object pool is a mechanism/pattern to avoid the repeated creation and destruction of objects.  When code is done with an object, rather than allowing it to be garbage collected (and finalized if it’s finalizable), you put the object back into a spe...

.NET Parallel Programming
Apr 12, 2010
Post comments count0
Post likes count0

New case studies on Parallel Extensions

In coordination with today's launch of Visual Studio 2010 and the .NET Framework 4, several case studies have been published on how companies are taking advantage of parallel computing with the .NET Framework to improve the performance of their applications.  It's exciting to see the benefits these companies are seeing and how parallelism is s...

.NET Parallel Programming