skip to main content
article

Evaluating the correspondence between training and reference workloads in SPEC CPU2006

Published:01 March 2007Publication History
Skip Abstract Section

Abstract

Profile feedback (sometimes called Feedback Directed Optimisation FDO) is a useful technique for providing the compiler with additional information about runtime program flow. The compiler is able to use this information to make optimisation decisions that improve the way the code is laid out in memory or determine which routines are inlined, and hence improve the performance of the application.

The use of profile feedback requires the code to be compiled twice. The first time the compiler generates an instrumented version of the application. This instrumented version is then run on one or more 'representative' training workloads to gather profile data. This profile data contains information such as how many times each routine is executed and how frequently each branch is taken. The second pass through the compiler uses this information to make more enlighted optimisation decisions.

The quality of the training data impacts the ability of the compiler to do the best job that it can. This paper discusses a method of assessing the similarity of the training workload to the reference workload, and applies this methodology to evaluate the training workloads in the SPEC CPU2006 benchmark suite.

References

  1. "SPEC CPU2006 Benchmark Suite," http://www.spec.org/cpu2006/.Google ScholarGoogle Scholar
  2. D. Gove and L. Spracklen, "Evaluating Whether the Training Data Provided for Profile Feedback is a Realistic Control Flow for the Real Workload," in Proc. SPEC Benchmark Workshop http://www.spec.org/workshops/2006/.Google ScholarGoogle Scholar
  3. D. Gove, "Selecting Representative Training Workloads for Profile Feedback Through Coverage and Branch Analysis," http://developers.sun.com/sunstudio/artides/coverage.html.Google ScholarGoogle Scholar
  4. "Cool Tools -- Binary Improvement Tool (BIT)," http://cooltools.sunsource.net/bit/.Google ScholarGoogle Scholar
  5. G. Langdale and T. Gross, "Evaluating the Relationship Between the Usefulness and Accuracy of Profiles," in Proc. Workshop on Duplicating, Deconstructing, and Debunking, 2003.Google ScholarGoogle Scholar
  6. S. McFarling, "Reality-based optimization," in Proc. Intl. Symp. on Code generation and optimization, 2003, pp. 59--68. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. J. A. Fisher and S. M. Freudenberger, "Predicting conditional branch directions from previous runs of a program," in Proc. Intl. Conf. on Architectural support for programming languages and operating systems, 1992, pp. 85--95. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. A. Phansalkar, A. Joshi, L. Eeckhout, and L. K. John, "Measuring Program Similarity: Experiments with SPEC CPU Benchmark Suites," in Proc. Intl. Symp. Performance Analysis of Systems and Software, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. W. Hsu, H. Chen, P. Yew, and D. Chen, "On the Predictability of Program Behavior Using Different Input Data Sets," in Proc. Workshop of Interaction between Compilers and Computer Architectures, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. L. Eeckhout, H. Vandierendonck, and K. De Bosschere, "Workload Design: Selecting Representative Program-Input Pairs," in Proc. Intl. Conf. on Parallel Architectures and Compilation Techniques, 2002, pp. 83--94. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Evaluating the correspondence between training and reference workloads in SPEC CPU2006

              Recommendations

              Comments

              Login options

              Check if you have access through your login credentials or your institution to get full access on this article.

              Sign in

              Full Access

              • Published in

                cover image ACM SIGARCH Computer Architecture News
                ACM SIGARCH Computer Architecture News  Volume 35, Issue 1
                March 2007
                153 pages
                ISSN:0163-5964
                DOI:10.1145/1241601
                Issue’s Table of Contents

                Copyright © 2007 Authors

                Publisher

                Association for Computing Machinery

                New York, NY, United States

                Publication History

                • Published: 1 March 2007

                Check for updates

                Qualifiers

                • article

              PDF Format

              View or Download as a PDF file.

              PDF

              eReader

              View online with eReader.

              eReader