• DocumentCode
    166194
  • Title

    Variability of data dependences and control flow

  • Author

    Edler von Koch, Tobias J. K. ; Franke, Bjorn

  • Author_Institution
    Inst. for Comput. Syst. Archit., Univ. of Edinburgh, Edinburgh, UK
  • fYear
    2014
  • fDate
    23-25 March 2014
  • Firstpage
    180
  • Lastpage
    189
  • Abstract
    Thread-level speculation and profile-guided parallelization techniques exploit the fact that many statically detected data and control flow dependences do not manifest themselves in every possible program execution. Instead, many of these may-dependences only occur infrequently, e.g. for some corner cases, or not at all for any legal program input. While the effectiveness of dynamic parallelization techniques critically depends on the absence of such dependences, not much is known about their nature. In this paper, we present an empirical analysis and characterization of the variability of both data dependences and control flow across program runs. We run the CBENCH benchmark suite with 100 randomly chosen input data sets and record complete control and data flow traces. Based on these traces, we build a whole-program control and data flow graph (CDFG) for each run and compare the resulting graphs to obtain a measure of the variance in the observed control and data flow. We show that, on average, the cumulative profile information gathered with at least 55, and up to 100, different input data sets is needed to achieve full coverage of the data flow observed across all runs. For control flow, the figure stands at 46 and 100 data sets, respectively. This suggests that profile-guided parallelization needs to be applied with utmost care, as misclassification of sequential loops as parallel was observed even when up to 94 input data sets are used.
  • Keywords
    data flow analysis; parallel processing; program control structures; CBENCH benchmark suite; CDFG; control flow dependences; data dependence variability; data flow graph; data flow traces; dynamic parallelization techniques; legal program input; may-dependences; profile-guided parallelization techniques; program execution; statically detected data; thread-level speculation; whole-program control; Benchmark testing; Educational institutions; Histograms; Instruments; Merging; Software; Vectors;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Performance Analysis of Systems and Software (ISPASS), 2014 IEEE International Symposium on
  • Conference_Location
    Monterey, CA
  • Print_ISBN
    978-1-4799-3604-5
  • Type

    conf

  • DOI
    10.1109/ISPASS.2014.6844482
  • Filename
    6844482