Posts by this author

Oct 16, 2009
Post comments count0
Post likes count0

Parallel Computing at PDC09 and TechEd Europe 2009

It’s fall, and that means conference season!  In November, members of the Parallel Computing Platform team will be descending upon both PDC09 in Los Angeles and TechEd Europe 2009 in Berlin.  We’re extremely excited to see all of you there and to discuss the new support for parallel computing that’s coming in Visual Stud...

.NET Parallel Programming
Oct 16, 2009
Post comments count0
Post likes count0

Parallel Computing Presentations in Michigan, Ohio, Kentucky, and Tennessee

In a week, I’m going to be traveling through Michigan, Ohio, Kentucky, and Tennessee, speaking about parallel computing, Visual Studio 2010, and .NET 4, primarily at corporations during the day and at user groups in the evenings.If you’re in the area and interested, please do attend, and I look forward to meeting you!  A list of ev...

.NET Parallel Programming
Oct 15, 2009
Post comments count0
Post likes count2

Task.Wait and “Inlining”

“What does Task.Wait do?” Simple question, right?  At a high-level, yes, the method achieves what its name implies, preventing the current thread from making forward progress past the call to Wait until the target Task has completed, one way or another.  If the Task ran to completion, Wait will return successfully.  If th...

.NET Parallel Programming
Oct 12, 2009
Post comments count0
Post likes count0

Parallelized Map and Filter Operations

Common operations like map and filter are available in parallelized form through PLINQ, though the names differ.  A map can be achieved with PLINQ’s Select operator, and a filter with PLINQ’s Where operator.For example, I could implement a ParallelMap operation that takes in one array and returns another as follows: public static...

.NET Parallel Programming
Sep 22, 2009
Post comments count0
Post likes count1

TaskScheduler.FromCurrentSynchronizationContext

The Task abstractions in .NET 4 run on instances of the TaskScheduler class.  Two implementations of TaskScheduler ship as part of the .NET Framework 4.  The first is the default scheduler, which is integrated with the .NET 4 ThreadPool and takes advantage of its work-stealing queues.  The second is the type of TaskScheduler returned...

.NET Parallel Programming
Aug 30, 2009
Post comments count0
Post likes count1

The meaning of TaskStatus

Every System.Threading.Tasks.Task instance goes through a lifecycle, and it only makes this journey once.  To provide insight into where in that lifecycle a given Task is, the Task class provides an instance Status property.  That property returns a value from the TaskStatus enumeration that reflects the current point in the lifecycle.&ld...

.NET Parallel Programming
Aug 12, 2009
Post comments count2
Post likes count0

Implementing Parallel While with Parallel.ForEach

The Parallel class in .NET 4 includes methods that implement three parallel constructs: parallelized for loops (Parallel.For), parallelized foreach loops (Parallel.ForEach), and parallelized statement regions (Parallel.Invoke).  One of the interesting things about Parallel.Invoke is that, in some cases and at least in the current implementatio...

.NET Parallel Programming
Jul 10, 2009
Post comments count0
Post likes count0

Parallel Computing at Imagine Cup 2009

On Wednesday, Microsoft announced the Imagine Cup 2009 worldwide winners: https://www.microsoft.com/presspass/press/2009/jul09/07-07ImagineCup2009WinnersPR.mspxCongratulations to Team Biollel that took first place in the Parallel Computing Award for their “Parallel implementation of maximum likelihood method of phylogenetic tree construction ...

.NET Parallel Programming
Jul 10, 2009
Post comments count0
Post likes count0

Interested in parallel computing? We’re hiring!

If you're reading this post, you most likely have an interest in parallel or distributed computing, writing concurrent software, and the like.  Take that interest a step further, and help us make the manycore era a successful reality by coming to work on the Parallel Computing Platform team at Microsoft.We currently have several positions avai...

.NET Parallel Programming
Jul 7, 2009
Post comments count0
Post likes count0

TaskCreationOptions.PreferFairness

One of the ways in which the Task Parallel Library achieves good performance is through “work-stealing”.  Work-stealing is supported in the .NET 4 ThreadPool for access through the Task Parallel Library and its default scheduler.  This manifests as every thread in the ThreadPool having its own queue for work; when that thread ...

.NET Parallel Programming