"As clock speeds for CPUs have not been increasing as compared to a decade ago, chip designers have been enhancing the performance of both CPUs, such as the Intel Xeon and the Intel Xeon Phi coprocessor by adding more cores. New designs allow for applications to perform more work in parallel, reducing the overall time to perform a simulation, for example. However, to get this increase in performance, applications must be designed or re-worked to take advantage of these new designs which can include hundreds to thousands of cores in a single computer system."
Since most applications have not been designed to run in a highly parallel mode, understanding how to take advantage of this increase in parallelism is as important as how to restructure a piece of code, or the entire application. Understanding the architecture of the system is critical to understanding how to gain maximum performance.
Read more at insideHPC