Efficient and accurate data dependence profiling using software signatures

  • Authors:
  • Rajeshwar Vanka;James Tuck

  • Affiliations:
  • North Carolina State University, Raleigh, NC;North Carolina State University, Raleigh, NC

  • Venue:
  • Proceedings of the Tenth International Symposium on Code Generation and Optimization
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

Speculative optimizations relax conservative constraints, like ambiguous memory-carried dependences that will rarely occur at runtime, to allow compilers to generate higher performing code. Data dependence profiling enables these techniques by providing runtime dependence information. However, prior data dependence profilers (DDPs) tend to be slow or have significant inaccuracy. Such techniques try to track all pairs of dependences that occur at runtime. To have high accuracy, it usually requires significant storage and performance overhead. Of course, accuracy can be sacrificed via sampling or fixed size storage to provide higher performance; but, these knobs are tough to control and often lead to a significant loss in accuracy. Hence, we search for a better trade-off between speed and accuracy, and we achieve this by considering a new approach based on efficient set operations using software signatures. Rather than tracking pair-wise dependences, we identify important dependence relationships at compile time, group said relationships into sets, and then construct and operate directly on the sets at runtime. By grouping many pair-wise relationships into a single set operation, we achieve greater accuracy with higher performance. Furthermore, we can adjust the size of signatures and the number of set operations through various optimization techniques to trade off speed and accuracy. Using a manual design space search, we evaluated many promising configurations. We found a fast profiler which matches the accuracy of prior works with a slowdown of 2.97x. Also, the most accurate and balanced profilers have slowdowns of 18x and 8x respectively, with an accuracy of 0.15 and 0.17 Normalized Average Euclidean Distance, respectively. To the best of our knowledge, the set-based profiler is the most accurate one to date, with equal or better performance than prior works.