@article {15031, title = {Synthetic-perturbation techniques for screening shared memory programs}, journal = {Software: Practice and Experience}, volume = {24}, year = {2006}, month = {2006/10/30/}, pages = {679 - 701}, abstract = {The synthetic-perturbation screening (SPS) methodology is based on an empirical approach; SPS introduces artificial perturbations into the MIMD program and captures the effects of such perturbations by using the modern branch of statistics called design of experiments. SPS can provide the basis of a powerful tool for screening MIMD programs for performance bottlenecks. This technique is portable across machines and architectures, and scales extremely well on massively parallel processors. The purpose of this paper is to explain the general approach and to extend it to address specific features that are the main source of poor performance on the shared memory programming model. These include performance degradation due to load imbalance and insufficient parallelism, and overhead introduced by synchronizations and by accessing shared data structures. We illustrate the practicality of SPS by demonstrating its use on two very different case studies: a large image understanding benchmark and a parallel quicksort.}, keywords = {Design of experiments, parallel programs, performance, Shared memory programming model, Synthetic perturbation}, isbn = {1097-024X}, doi = {10.1002/spe.4380240802}, url = {http://onlinelibrary.wiley.com/doi/10.1002/spe.4380240802/abstract}, author = {Snelick,Robert and JaJa, Joseph F. and Kacker,Raghu and Lyon,Gordon} }