Synthetic‐perturbation techniques for screening shared memory programs

TitleSynthetic‐perturbation techniques for screening shared memory programs
Publication TypeJournal Articles
Year of Publication2006
AuthorsSnelick R, JaJa JF, Kacker R, Lyon G
JournalSoftware: Practice and Experience
Pagination679 - 701
Date Published2006/10/30/
ISBN Number1097-024X
KeywordsDesign of experiments, parallel programs, performance, Shared memory programming model, Synthetic perturbation

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.