Showing results for 2008 - Page 2 of 6 - .NET Parallel Programming

Sep 2, 2008
0
0

Webcasts on Parallelism from France

Stephen Toub - MSFT
Stephen Toub - MSFT

A few months back, Keith Yedlin and Steve Teixeira from the Parallel Computing Platform team were in France visiting with customers.  While there, they presented on our parallelism efforts, and with the help of the great team from Microsoft France, this presentation is now available online as a series of webcasts (the titles are all in French,...

Parallel ExtensionsMedia
Aug 12, 2008
0
0

Feedback requested: Enumerating Concurrent Collections

Stephen Toub - MSFT
Stephen Toub - MSFT

The June 2008 CTP of Parallel Extensions contained a first look at some of the work we're doing to augment the .NET Framework with a set of additional coordination data structures that aid in the development of highly concurrent applications.  This included two thread-safe collections, ConcurrentQueue<T> and ConcurrentStack<T>, and...

Parallel ExtensionsCoordination Data StructuresFeedback Requested
Aug 12, 2008
0
0

Most Common Performance Issues in Parallel Programs

Igor Ostrovsky - MSFT
Igor Ostrovsky - MSFT

Since the goal of Parallel Extensions is to simplify parallel programming, and the motivation behind parallel programming is performance, it is not surprising that many of the questions we receive about our CTP releases are performance-related.Developers ask why one program shows a parallel speedup but another one does not, or how to modify a progr...

Aug 7, 2008
0
0

ParallelWhileNotEmpty

Stephen Toub - MSFT
Stephen Toub - MSFT

Parallel Extensions includes the System.Threading.Parallel class, which provides several high-level loop replacement constructs like For and ForEach. In previous blog posts, we've taken a look at implementing other loops, such as for loops with arbitrary initialization, conditional, and update logic, range-based loops, and a parallel while.  T...

Parallel ExtensionsTask Parallel LibraryCode Samples
Aug 5, 2008
0
0

Waiting for Tasks

Stephen Toub - MSFT
Stephen Toub - MSFT

Parallel Extensions makes it easy to wait for Tasks to complete.  Task exposes a Wait method, which can be used trivially: Task t = Task.Create(...); ... t.Wait();Task also exposes several static methods for waiting on an array of tasks, either for all of them to complete or for any of them to complete: Task t1 = Task.Create(...); Task t2 = Ta...

Parallel ExtensionsTask Parallel LibraryCoordination Data Structures
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
Jul 27, 2008
0
0

Custom Loop with Arbitrary Initialization, Condition, and Update

Stephen Toub - MSFT
Stephen Toub - MSFT

The Parallel.For loop construct provided by Parallel Extensions is focused on providing a parallel alternative to the common sequential pattern of a for loop that iterates over a range of numbers.  However, the for loop construct in a language like C# is not limited just to numbers and iterating over ranges.  It supports arbitrary initial...

Jul 24, 2008
0
1

Useful Abstractions Enabled with ContinueWith

Stephen Toub - MSFT
Stephen Toub - MSFT

In the June 2008 CTP of Parallel Extensions to the .NET Framework, we introduced the ContinueWith method on both Task and Future<T>.  ContinueWith is, in effect, a callback, very much like events in .NET.  With events, a causal action results in the event being raised, which by default triggers all of the delegates registered with t...

Parallel ExtensionsTask Parallel LibraryCoordination Data Structures
Jun 21, 2008
0
0

Fork/Join parallelism with .NET CountdownEvent

cristina manu
cristina manu

A common asynchronous pattern in code today is the pattern known as fork/join parallelism. This typically manifests by starting n pieces of work and later joining with that work. The existing set of the .NET synchronization primitives does not offer a simple solution for handling this common scenario. It can be achieved, for example, by using a Ma...

Jun 18, 2008
0
0

Coordination Data Structures Overview

Emad Omara
Emad Omara

The June 2008 CTP of Parallel Extensions provides the first look at its 3rd major piece, a set of coordination data structures we lovably refer to as CDS. It contains lightweight and scalable thread-safe data structures and synchronization primitives.  There are of course already many synchronization primitives present in the System.Threading ...

Parallel ExtensionsCoordination Data Structures