Online identification of frequently executed acyclic paths by leveraging data stream algorithms

  • Authors:
  • Gaurav Kumar;Subhajit Roy

  • Affiliations:
  • Indian Institute of Technology Kanpur;Indian Institute of Technology Kanpur

  • Venue:
  • Proceedings of the 28th Annual ACM Symposium on Applied Computing
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

Most of the traditional path profilers simply generate a path-frequency table that records the raw frequencies of each path. The compiler is supposed to carry out the herculean task of mining this table for frequently executed paths to drive aggressive profile-guided optimizations. This begs a question: why cannot profilers themselves identify these frequent paths --- produce information that can be consumed directly by the optimizers? The essential theme of this paper is that the sequence of acyclic paths emitted by a classic Ball-Larus profiler can be viewed as a data-stream: this enables an online extraction of any required statistics (like the frequently executed paths) on the profile information without requiring storage and update of the huge path-frequency tables generated by a long-running program. We adapt a classic data stream algorithm for finding majority elements in a stream (by Karp et al.) for our use, essentially by enabling optimizations that exploit the properties of paths generated off a Ball-Larus profiler. We instantiate our ideas by building an efficient path profiler that identifies all acyclic paths frequented above a user-provided threshold percentage of all executed paths.