Search NASA⌕ Search

DOE OSTI · 1399108

Data-dependence Profiling to Enable Safe Thread Level Speculation

Abstract

Data-dependence profling is a technique that enables a com- piler to judiciously decide when the execution of a loop | which the compiler could not prove to be dependence free | should be speculated through the use of Thread Level Spec- ulation (TLS). The data collected by a data-dependence pro- fler can be used to predict if may dependencies reported by a compiler static analysis are likely to materialize at runtime. A cost analysis can then be used to decide that some loops with a lower probability of dependence should be specula- tively parallelized. This paper addresses the question as to whether a loops' dependence behaviour changes when the in- put to the program changes | a study of 57 different bench- marks indicates that it usually does not change. Then the paper describes SpecEval, an automatic speculative paral- lelization framework that uses single-input data-dependence profles to find speculation candidates in the SPEC2006 and PolyBench/C benchmarks. This paper also presents a per- formance evaluation of TLS implementation in IBM's Blue- Gene/Q supercomputer and shows that the performance of TLS is affected by several factors, including the number of speculated loops, the execution-time coverage of speculated loops, the miss-speculation overhead, the L1 cache miss rate and the effect on dynamic instruction path length.

Keep this discovery

Explore connections, maps & timelines

BibTeXRIS

Bhattacharyya, Arnamoy, Amaral, José Nelson, Finkel, Hal. 2015-11-02. Data-dependence Profiling to Enable Safe Thread Level Speculation. https://www.osti.gov/biblio/1399108

Cite the original work for its findings. Save a collection to share your selection of sources.