Showing results for Coordination Data Structures - .NET Blog

Apr 27, 2010
0
0

ParallelExtensionsExtras Tour – #13 – AsyncCall

Stephen Toub - MSFT
Stephen Toub - MSFT

(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 26, 2010
0
0

Performance of Concurrent Collections in .NET 4

Igor Ostrovsky - MSFT
Igor Ostrovsky - MSFT

.NET 4 introduces new data structures designed to simplify thread-safe access to shared data, and to increase the performance and scalability of multi-threaded applications. To best take advantage of these data structures, it helps to understand their performance characteristics in different scenarios.Chunyan Song, Emad Omara and Mike Liddell measu...

.NET Parallel Programming
Apr 23, 2010
0
0

ParallelExtensionsExtras Tour – #12 – AsyncCache

Stephen Toub - MSFT
Stephen Toub - MSFT

(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 13, 2010
0
0

ParallelExtensionsExtras Tour – #9 – ObjectPool

Stephen Toub - MSFT
Stephen Toub - MSFT

(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
0
0

ParallelExtensionsExtras Tour – #8 – ReductionVariable

Stephen Toub - MSFT
Stephen Toub - MSFT

(The full set of ParallelExtensionsExtras Tour posts is available here.) The new .NET 4 System.Threading.ThreadLocal<T> is quite useful when you need per-thread, per-instance storage.  This is in contrast to the fast ThreadStaticAttribute, which supports only per-thread storage (in .NET 4, ThreadLocal<T> actually layers o...

.NET Parallel Programming
Apr 6, 2010
0
0

ParallelExtensionsExtras Tour – #4 – BlockingCollectionExtensions

Stephen Toub - MSFT
Stephen Toub - MSFT

(The full set of ParallelExtensionsExtras Tour posts is available here.)   BlockingCollection<T> encapsulates the core synchronization and coordination necessary to enable classic producer/consumer patterns.  ParallelExtensionsExtras provides the BlockingCollectionExtensions.cs file, which contains several extension metho...

.NET Parallel Programming
Jan 26, 2010
0
0

FAQ :: Are all of the new concurrent collections lock-free?

Danny Shih
Danny Shih

(This answer is based on the .NET Framework 4.  As the details below are undocumented implementation details, they may change in future releases.)No.  All of the collections in the new System.Collections.Concurrent namespace employ lock-free techniques to some extent in order to achieve general performance benefits, but traditional locks ...

.NET Parallel Programming
Jan 8, 2010
0
1

ConcurrentDictionary’s support for adding and updating

Stephen Toub - MSFT
Stephen Toub - MSFT

ConcurrentDictionary<TKey,TValue> is a new type in the .NET Framework 4, living in the System.Collections.Concurrent namespace.  As noted in the MSDN documentation, ConcurrentDictionary “represents a thread-safe collection of key-value pairs that can be accessed by multiple threads concurrently.”  While ConcurrentDiction...

.NET Parallel Programming
Dec 9, 2009
0
0

A Tour Through the Parallel Programming Samples for .NET 4

Stephen Toub - MSFT
Stephen Toub - MSFT

On Code Gallery, we have a plethora of samples that highlight aspects of the .NET Framework 4 that help with writing scalable and efficient parallel applications.  This post examines each of those samples, providing an overview of what each provides.

.NET Parallel Programming
Nov 1, 2009
0
0

Slides from Parallelism Tour

Stephen Toub - MSFT
Stephen Toub - MSFT

Last week, I had the privilege of touring around Tennessee, Kentucky, Ohio, and Michigan, speaking about the new parallel computing support in Visual Studio 2010 and the .NET Framework 4.  Many folks I spoke with were interested in getting a copy of the slide deck I used, so I’ve attached it to this blog post.  Enjoy! Toub_ParallelismTour...

.NET Parallel Programming