The October 2008 issue of MSDN Magazine just went online yesterday, and it's chock full of content on parallelism. Definitely worth a cover to cover read...
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 ...
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>...
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.&...
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...
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 ...
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 ...
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....
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 ...
When I was at TechEd 2008 Developer last week, I met up with the great Dan Fernandez from Channel 9 to show off Parallel Extensions and to demonstrate some of the sample applications included with our June 2008 CTP. The cameras were at the ready, so you can see the demonstrations, too:
Thanks, Dan...