Usage
  • 70 views
  • 71 downloads

Methodologies for Many-Input Feedback-Directed Optimization

  • Author / Creator
    Berube, Paul N. J.
  • This thesis makes improvement to the process of ahead-of-time feedback-directed optimization (FDO) in compiler design. It examines multiple aspects of FDO from profile collection and representation through to the performance evaluation of FDO code transformations. Two guiding principals knit the four components of the research together. The first principle is a recognition that program behavior frequently depends on the input to the program; the second is that FDO is a predictive modeling technique, and must be designed and evaluated as such. Performance-evaluation methodology can be improved to be sensitive to input-dependent program behavior by using cross-validation with a workload of diverse program inputs. In many cases, expert knowledge can be leveraged to select program workloads that are representative of expected program usage. However, even with expert knowledge, characterizing input similarity and determining both how many inputs and the specific inputs to include in a workload are challenging questions. A compiler-centric clustering approach selects a small, representative, evaluation workload from a large initial collection of program inputs. Previous work has not addressed the problem of representing and utilizing multi-run profiles. An FDO compiler should not simply add, or average, profiles from multiple runs because a profile obtained this way does not provide any information about the variations in program behaviors observed between different inputs. {it Combined Profiling} (CP) merges the profiles from multiple runs into a distribution model that allows code transformations to consider cross-run behavior variations. An FDO-based function inlining transformation is implemented in the LLVM compiler to illustrate the use of combined profiling by a code transformation in a complex compiler and to provide a concrete example of the usage of a rigorous cross-validation evaluation methodology for FDO.

  • Subjects / Keywords
  • Graduation date
    2012-09
  • Type of Item
    Thesis
  • Degree
    Doctor of Philosophy
  • DOI
    https://doi.org/10.7939/R3DW8K
  • License
    This thesis is made available by the University of Alberta Libraries with permission of the copyright owner solely for non-commercial purposes. This thesis, or any portion thereof, may not otherwise be copied or reproduced without the written consent of the copyright owner, except to the extent permitted by Canadian copyright law.
  • Language
    English
  • Institution
    University of Alberta
  • Degree level
    Doctoral
  • Department
    • Department of Computing Science
  • Supervisor / co-supervisor and their department(s)
    • Jose Nelson Amaral (Computing Science)
  • Examining committee members and their departments
    • Duane Szafron (Computing Science)
    • Jose Nelson Amaral (Computing Science)
    • Sandhya Dwarkadas (Computer Science, University of Rochester)
    • Lukasz Kurgan (Electrical and Computing Engineering)