Parallel Computing in .Net 4.0

Posted by kaleidoscope on Geeks with Blogs See other posts from Geeks with Blogs or by kaleidoscope
Published on Thu, 22 Apr 2010 10:53:47 GMT Indexed on 2010/04/22 12:04 UTC
Read the original article Hit count: 345

Filed under:

Parallel computing is the simultaneous use of multiple compute resources to solve a computational problem:

    • To be run using multiple CPUs
    • A problem is broken into discrete parts that can be solved concurrently
    • Each part is further broken down to a series of instructions
    • Instructions from each part execute simultaneously on different CPUs

Parallel Extensions in .NET 4.0 provides a set of libraries and tools to achieve the above mentioned objectives. This supports two paradigms of parallel computing

  • Data Parallelism – This refers to dividing the data across multiple processors for parallel execution.e.g we are processing an array of 1000 elements we can distribute the data between two processors say 500 each. This is supported by the Parallel LINQ (PLINQ) in .NET 4.0
  • Task Parallelism – This breaks down the program into multiple tasks which can be parallelized and are executed on different processors. This is supported by Task Parallel Library (TPL) in .NET 4.0

      A high level view is shown below:

      clip_image002

      © Geeks with Blogs or respective owner