A Novel Approach for Finding Optimization Opportunities in Multicore Architectures

CC Lin, P Liu, JJ Wu - 2011 IEEE Ninth International …, 2011 - ieeexplore.ieee.org
2011 IEEE Ninth International Symposium on Parallel and …, 2011ieeexplore.ieee.org
Compiler techniques for program optimizations have been well studied for single-thread
programs. With the advance of multi-core architectures, compiler optimizations for multi-
threaded parallel programs have started to draw research attention in recent years.
Optimizations for multi-threaded parallel programs on multi-core architectures are much
more difficult because of the complicated interaction and resource competition between
threads. Therefore, identifying the appropriate code segments for performing optimization …
Compiler techniques for program optimizations have been well studied for single-thread programs. With the advance of multi-core architectures, compiler optimizations for multi-threaded parallel programs have started to draw research attention in recent years. Optimizations for multi-threaded parallel programs on multi-core architectures are much more difficult because of the complicated interaction and resource competition between threads. Therefore, identifying the appropriate code segments for performing optimization becomes one of the most challenging issues. In this work, we propose a novel technique to identify the code segments that exhibit unstable performance behavior% because of resource contention between threads, and show that by applying appropriate optimizations to such code segments, the performance of the parallel program can be improved. Our technique is based on a simple and efficient sampling method that analyzes variations in the performance variance of basic blocks to classify basic blocks into "stable" and "unstable" ones. ``Stable'' basic blocks have low average coefficient of variation(CoV) while "unstable" ones have CoV higher than a threshold value. Such analysis results can be used to determine the "unstable" code segments that may benefit from runtime optimizations. Our experiment results on the SPEC OMP2001 benchmark suite demonstrate that the proposed method is effective in finding "unstable" code segments.
ieeexplore.ieee.org
Showing the best result for this search. See all results