Parallel Programming is a one of the major thing in discussion now a days. Framework 4.0 is having Parallel Programming as one of the major feature. As we know that now a days computers are having multi-cores (dual ,quad and even more) and in near future the number of cores will increase significantly. To Leverage these advantage of hardware microsoft has given the library to support the enhanced parallel programming. It includes, new runtime, new class libraries and diagnostic tools.
These will help developer to write efficient code to get maximum out of the machine without getting into difficulties of the threading and thread pools. Architecture of the parallel computing by microsoft

High level Architecture
We can start our Journey with Task Parallel library (TPL). User can use TPL to get the maximum performance from the code by adding parallelism and concurrency to the applications. It will help user(developers) to utilize all the processors that are available. TPL can partition the work, schedule the threads on the thread pools, state management and cancellation and various low level details. In this way TPL hides complexity of the low level handling of the threads and scheduling
Parallel programing using TPL is very much useful to achieve full utilization of the processors, but doing parallel code for simple tasks will have negative effect on the performance. So we have to look for a need and place where we should implement it.
