I thought that I would post this since one of my co-workers at Cadence will be gave a webinar on his experience parallelizing an existing application. The application and algorithms involved are really complex. It was especially interesting because it involves legacy code and also the development environment was Windows unlike many EDA applications which run on Linux/Unix. I really recommending watching.
During the second day at Game Developers Conference 2009 in Cologne we had the chance to have a closer look at Intel Parallel Studio. Edmund Preiss took some time and shared some insights with us. OK, I wrote nearly anything about Parallel Studio but with this video blog have the chance to get all relevant information about Parallel Studio.
So, you want to start using Task Parallel Library Beta 1. You want to take advantage of the new features that will be available in .Net 4.0. Hold on! Are you familiar with lambda expressions?
If you aren’t using lambda expressions in your current C# programs, you should begin learning about them before jumping into the new features. C# 3.0 introduced lambda expressions and they are very useful to simplify the parallelized code. They will help you to create code that’s easier to read, understand and maintain.
Several years ago, when I looked for training courses on the subject of parallel programming for shared memory systems I found few courses being offered. Some friends of mine and I did find a very nice course from a 3rd-party vendor on threaded programming. The course mainly focused on "C" and using POSIX threads to explicitly manage thread creation. The course did touch on higher level concepts such implementing a producer consumer using semaphores - but on balance - my recollection of the course was how I had to manage threads as