Nope, this has nothing to do with fuller hair neither something else you can wear on your head. The Parallel extensions are an easy to use upgrade to your .NET Framework enabling you to use the benefits of your Multi-Core System.

Recent mid range systems use 2.0 up to 3.0 GHz CPUs. The first 3.06 GHz PC in Germany (buyable for everyone) were sold at the end of November 2002. Two years before, in March 2000, the first PC with 1GHz to buy was released. Due to the cooling problematic the upper limit for CPU speed is locked to the magic edge of about 4GHz. New generations of processors since 2003 got more cache, changed in size (results in reduction of heat) or introduced more cores.

The only way to get our software running faster is to overcome the problems of multi threaded software architectures.
At this point the Parallel Extensions comes into play. Microsoft offers an upgrade (not a new Version; just a new library) to your .Net Framework (Version 3.5). This library offers three ways to benefit from of your Multi-Core System.

  • Declarative data manipulation (using a paralleled interpretation of LINQ [Language INtegrated Query] statements)
  • Imperative data manipulation (using parallel versions of for and foreach loops; high level programming)
  • Imperative (or direct) Task manipulation (using provided classes to create tasks, low-to mid level programming)

Every single method could significantly improve your program performance. While the first method just changes the way the system interacts with your data, provided that you are using LINQ in your application, the other methods will slightly change your code. To use imperative data manipulation for example, your code hast to change from for (int i = 0; i <= 5; i++) {Action} to Parallel.For(0, 5, Action);.

More information including the library and a very impressive example (a LINQ and PLINQ based ray-tracer) could be found at the Parallel Extension Homepage of Microsoft:http://msdn.microsoft.com/en-us/concurrency/default.aspx

So, happy parallel computing

Alex

Email this Share this on Facebook Share this on LinkedIn Tweet This! RSS feed for comments on this post. TrackBack URL

Leave a comment