Staged Tuning: A Hybrid (Compile/Install-time) Technique for Improving Utilization of Performance-asymmetric Multicores

By: Tyler Sondag and Hridesh Rajan

PDF Download Download Paper

Abstract

Emerging trends towards performance-asymmetric multicore processors (AMPs) are posing new challenges, because for effective utilization of AMPs, code sections of a program must be assigned to cores such that the resource needs of the code sections closely match the resources available at the assigned core. Computing this assignment can be difficult especially in the presence of unknown or many target AMPs. We observe that finding a mapping between the code segment characteristics and the core characteristics is inexpensive enough, compared to finding a mapping between the code segments and the cores, that it can be deferred until installation-time for more precise decision. We present staged tuning which combines extensive compile time analysis with intelligent binary customization at install-time. Staged tuning is like staged compilation, just for core assignment. Our evaluation shows that staged tuning is effective in improving the utilization of AMPs. We see a 23% speedup over untuned workloads.

ACM Reference

Sondag, T. and Rajan, H. 2015. Staged Tuning: A Hybrid (Compile/Install-time) Technique for Improving Utilization of Performance-asymmetric Multicores. Technical Report #15-06. Department of Computer Science, Iowa State University and Intel Labs.

BibTeX Reference

@techreport{sondag2015staged,
  title = {Staged Tuning: A Hybrid (Compile/Install-time) Technique for Improving Utilization of Performance-asymmetric Multicores},
  author = {Sondag, Tyler and Rajan, Hridesh},
  year = {2015},
  month = {June},
  institution = {Department of Computer Science, Iowa State University and Intel Labs},
  number = {15-06},
  abstract = {
    Emerging trends towards performance-asymmetric multicore processors (AMPs) are
    posing new challenges, because for effective utilization of AMPs, code sections
    of a program must be assigned to cores such that the resource needs of the code
    sections closely match the resources available at the assigned core. Computing
    this assignment can be difficult especially in the presence of unknown or many
    target AMPs. We observe that finding a mapping between the code segment
    characteristics and the core characteristics is inexpensive enough, compared to
    finding a mapping between the code segments and the cores, that it can be
    deferred until installation-time for more precise decision. We present staged
    tuning which combines extensive compile time analysis with intelligent binary
    customization at install-time. Staged tuning is like staged compilation, just
    for core assignment. Our evaluation shows that staged tuning is effective in
    improving the utilization of AMPs. We see a 23% speedup over untuned workloads.
  }
}