Parallel Programming

Parallel Programming

Parallel programming is developed as a means of utilizing the performance and potential of multi processor. A parallel program is about splitting a single part of work into multiple units. The instructions from every splitted part process at the same time on different CPUs. The multiple CPUs can exist on a single machine, or they can be in a set of computers connected through a network. Parallel programs are not only faster, they can also be utilize to solve queries on large datasets using non-local resources. In Parallel Programming we divide work into tasks in place of threads.

An approach to Parallel Programming

Now days computers are launching with more than one processor that allow many threads to be executed at the same time to give effective performance of applications. If application is going through CPU intensive tasks and we realize that one CPU is involved in 100 %usage and rest others are idle. It can be a condition when one thread process CPU intensive work and rest threads are doing non CPU intensive work. This is the case in which complete calibre of CPU is not utilized. For this purpose Microsoft came up with Parallel Programming concept, in .net 4.0.

In general, Programming where we can deal with more than one processor is called Parallel Programming.

Resources of the system's CPU can be achieved smartly, for that we need to break our application into pieces that can run simultaneously and we have task of CPU that should be split into parts as provided below:
  1. Seperating it into small modules or chunks.
     
  2. Using multithreading, process those chunks/modules in parallel.
     
  3. Collect the available result, in a thread-safe manner.
I hope that this article will help you to understand about Parallel Programming.