Monday, September 12, 2011

"Amdahl's Law in the Multicore Era"


This short article analyzes Amdahl’s Law in the context of multicore processors. Amdahl’s Law says that the amount of speedup depends on the fraction of the program that you can parallelize. Originally, the law was used to emphasize the importance of producing more powerful single-core chips, since parallel performance would always be limited by the sequential part of the code. However, massively parallel machines now allow computations on data that would have previously been thought impractical, greatly increasing the need for further development of parallel architectures.

To determine the law’s applicability to multicore processors, the authors examined three different types of multicore processors: symmetric, asymmetric, and dynamic. Symmetric multicore chips have cores that all use equal fractions of chip resources. Asymmetric chips have a single (or several) core that is more powerful than all the others. Dynamic chips could potentially allow cores to join forces for sequential portions or operate independently for parallel portions. The authors show that asymmetric and dynamic models offer the greatest potential for speedup (with dynamic even greater than asymmetric, due to its flexibility).

This article’s approach is certainly significant and relevant, as the number of cores in multicore processors continues to increase. Likewise, asymmetric multicore processors (like Cell -- or the combination of CPUs and GPUs) offer opportunities for improving both sequential and parallelizable portions of programs. It seems plausible that hundreds or thousands of GPU-style cores could begin to complement CPUs in cloud computing, though there are drawbacks including the complexity of writing the programs to exploit both the CPU for sequential and GPU for parallel portions of code (in addition to scheduling and virtualization issues).

No comments:

Post a Comment