TY - JOUR
T1 - HAWKEYE
T2 - Effective discovery of dataflow impediments to parallelization
AU - Tripp, Omer
AU - Yorsh, Greta
AU - Field, John
AU - Sagiv, Mooly
PY - 2011/10
Y1 - 2011/10
N2 - Parallelization transformations are an important vehicle for improving the performance and scalability of a software system. Utilizing concurrency requires that the developer first identify a suitable parallelization scope: one that poses as a performance bottleneck, and at the same time, exhibits considerable available parallelism. However, having identified a candidate scope, the developer still needs to ensure the correctness of the transformation. This is a difficult undertaking, where a major source of complication lies in tracking down sequential dependencies that inhibit parallelization and addressing them. We report on HAWKEYE, a dynamic dependence-analysis tool that is designed to assist programmers in pinpointing such impediments to parallelization. In contrast with fieldbased dependence analyses, which track concrete memory conflicts and thus suffer from a high rate of false reports, HAWKEYE tracks dependencies induced by the abstract semantics of the data type while ignoring dependencing arising solely from implementation artifacts. This enables a more concise report, where the reported dependencies are more likely to be real as well as intelligible to the programmer..
AB - Parallelization transformations are an important vehicle for improving the performance and scalability of a software system. Utilizing concurrency requires that the developer first identify a suitable parallelization scope: one that poses as a performance bottleneck, and at the same time, exhibits considerable available parallelism. However, having identified a candidate scope, the developer still needs to ensure the correctness of the transformation. This is a difficult undertaking, where a major source of complication lies in tracking down sequential dependencies that inhibit parallelization and addressing them. We report on HAWKEYE, a dynamic dependence-analysis tool that is designed to assist programmers in pinpointing such impediments to parallelization. In contrast with fieldbased dependence analyses, which track concrete memory conflicts and thus suffer from a high rate of false reports, HAWKEYE tracks dependencies induced by the abstract semantics of the data type while ignoring dependencing arising solely from implementation artifacts. This enables a more concise report, where the reported dependencies are more likely to be real as well as intelligible to the programmer..
KW - Abstract data types
KW - Commutativity
KW - Dependence analysis
KW - Dynamic analysis
KW - Loop parallelization
UR - http://www.scopus.com/inward/record.url?scp=84858330215&partnerID=8YFLogxK
U2 - 10.1145/2076021.2048085
DO - 10.1145/2076021.2048085
M3 - ???researchoutput.researchoutputtypes.contributiontojournal.article???
AN - SCOPUS:84858330215
VL - 46
SP - 207
EP - 223
JO - SIGPLAN Notices (ACM Special Interest Group on Programming Languages)
JF - SIGPLAN Notices (ACM Special Interest Group on Programming Languages)
SN - 1523-2867
IS - 10
ER -