skip to main content
research-article
Free Access

Mathematical foundation of trace scheduling

Published:04 May 2011Publication History
Skip Abstract Section

Abstract

Since its introduction by Joseph A. Fisher in 1979, trace scheduling has influenced much of the work on compile-time ILP (Instruction Level Parallelism) transformations. Initially developed for use in microcode compaction, it quickly became the main technique for machine-level compile-time parallelism exploitation. Although it has been used since the 1980s in many state-of-the-art compilers (e.g., Intel, Fujitsu, HP), a rigorous theory of trace scheduling is still lacking in the existing literature. This is reflected in the ad hoc way compensation code is inserted after a trace compaction, in the total absence of any attempts to measure the size of that compensation code, and so on.

The aim of this article is to create a mathematical theory of the foundation of trace scheduling. We give a clear algorithm showing how to insert compensation code after a trace is replaced with its schedule, and then prove that the resulting program is indeed equivalent to the original program. We derive an upper bound on the size of that compensation code, and show that this bound can be actually attained. We also give a very simple proof that the trace scheduling algorithm always terminates.

References

  1. Banerjee, U. 1997. Dependence Analysis. Kluwer Academic Publishers, Norwell, MA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Ellis, J. R. 1985. Bulldog: A compiler for VLIW architecture. Ph.D. thesis, Tech. rep. YALEU/DCS/RR364, Department of Computer Science, Yale University. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Fisher, J. A. 1979. The optimization of horizontal microcode within and beyond basic blocks: An Application of processor scheduling with resources. Tech. rep. COO-3077-161, Courant Mathematics and Computing Laboratory, New York University.Google ScholarGoogle Scholar
  4. Fisher, J. A. 1981. Trace scheduling: A technique for global microcode compaction. IEEE Trans. Comput. C-30, 7, 478--490. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Hwu, W. W., Mahlke, S. A., Chen, W. Y., Chang, P. P., Warter, N. J., Bringmann, R. A., Ouellette, R. G., Hank, R. E., Kiyohara, T., Haab, G. E., Holm, J. G., and Lavery, D. M. 1993. The superblock: An effective technique for VLIW and superscalar compilation. J. Supercomput. 7, 1--2, 229--248. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Landscov, D., Davidson, S., Shriver, B., and Mallett. P. W. 1980. Local microcode compaction techniques. ACM Comput. Surv. 12, 3, 261--294. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Lowney, P. G., Freudenberger, S. M., Karzes, T. J., Lichtenstein, W. D., Nix, R. P., O'Donnell, J. S., and Ruttenberg, J. C. 1993. The multiflow trace scheduling compiler. J. Supercomput. 7, 1--2, 51--142. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Nicolau, A. 1985. Parallelism, memory anti-aliasing and correctness for trace-scheduling compilers. Tech. rep. YALE/DCS/RR-374, Department of Computer Science, Yale University.Google ScholarGoogle Scholar

Index Terms

  1. Mathematical foundation of trace scheduling

      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 Transactions on Programming Languages and Systems
        ACM Transactions on Programming Languages and Systems  Volume 33, Issue 3
        April 2011
        119 pages
        ISSN:0164-0925
        EISSN:1558-4593
        DOI:10.1145/1961204
        Issue’s Table of Contents

        Copyright © 2011 ACM

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 4 May 2011
        • Accepted: 1 July 2010
        • Revised: 1 April 2010
        • Received: 1 October 2009
        Published in toplas Volume 33, Issue 3

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article
        • Research
        • Refereed

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader
      About Cookies On This Site

      We use cookies to ensure that we give you the best experience on our website.

      Learn more

      Got it!