skip to main content
10.1145/1375527.1375563acmconferencesArticle/Chapter ViewAbstractPublication PagesicsConference Proceedingsconference-collections
research-article

Rotating register allocation with multiple rotating branches

Published: 07 June 2008 Publication History

Abstract

A rotating register file is an architectural support for software pipelining, where many registers can be renamed at once when a rotating branch is executed. It has primarily been used for overcoming the cross-iteration register overwrites in modulo-scheduled, straight-line or if-converted loops. Recently, a new technique has been proposed to use rotating registers for loops with arbitrary control flows, scheduled by enhanced pipeline scheduling (EPS). EPS generates many hard-to-delete copies to overcome the cross-iteration register overwrites, but these copies may cause a stall in addition to taking resources. The proposed technique eliminates those copies by allocating rotating registers, avoiding a serious slowdown caused by them. Unfortunately, it could not eliminate enough copies, as much as those removed by the unroll-based copy elimination technique, although both techniques employ the same abstraction called an extended live range (ELR). This is due to the limitation that only a branch edge can be a rotating branch, while any edge can be an unrolling edge. In this paper, we propose an enhanced rotating register allocation technique where we can use more than one rotating branches in order to eliminate more copies. This requires an extension of the theory of ELR and the rotating register allocation algorithm. Our experimental results indicate that our proposed technique can eliminate 20% more copies than the previous technique, which results in a performance improvement as much as more than 10%.

References

[1]
A. Aho, R. Sethi, and J. Ullman. Compilers: Principles, Techniques and Tools. Addison-Wesley, 1986.
[2]
J. Dehnert and R. Towle. Compiling for Cydra 5. Journal of Supercomputing: Special Issue on Instruction-Level Parallelism, 7(1/2):181--228, 1993.
[3]
J. C. Dehnert, P. Y.-T. Hsu, and J. P. Bratt. Overlapped loop support in the cydra 5. In Proceedings of ASPLOS-3, pages 26--38, 1989.
[4]
K. Ebcioglu and T. Nakatani. A new compilation technique for parallelizing loops with unpredictable branches on a VLIW architecture. In Languages and Compilers for Parallel Computing, pages 213--229. MIT Press, 1990.
[5]
J. C. Huck, D. Morris, J. Ross, A. D. Knies, H. Mulder, and R. Zahir. Introducing the IA-64 architecture. IEEE Micro, 20(5):12--23, 2000.
[6]
S. Kim and S.-M. Moon. Rotating register allocation for enhanced pipeline scheduling. In 2007 International Conference on Parallel Architectures and Compilation Techniques (PACT 2007), pages 60--69, September 2007.
[7]
S. Kim, S.-M. Moon, J. Park, and K. Ebcioglu. Unroll-based copy elimination for enhanced pipeline scheduling. IEEE Transactions on Computers, 51(9):977--995, 2002.
[8]
M. Lam. Software pipelining: An effective scheduling technique for VLIW machines. In Proceedings of the SIGPLAN 1988 Conference on PLDI, pages 318--328, 1988.
[9]
S.-M. Moon and K. EbcioØglu. Performance Analysis of Tree VLIW Architecture for Exploiting Branch ILP in Non-Numerical Code. In Proceedings of ICS-14, pages 301--308, July 1997.
[10]
S.-M. Moon and K. EbcioØglu. Parallelizing Nonnumerical Code with Selective Scheduling and Software Pipelining. ACM Transactions on Programming Languages and Systems, 19(6):853--898, Nov. 1997.
[11]
S. Park, S. Shim, and S.-M. Moon. Evaluation of Scheduling Techniques on a SPARC-based VLIW Testbed. In Proceedings of the 30th Annual International Symposium on Microarchitecture, Dec 1997.
[12]
B. R. Rau. Iterative modulo scheduling: An algorithm for software pipelining loops. In Proceedings of the 27th Annual Workshop on Microprogramming (Micro-27), pages 63--74, 1994.
[13]
B. R. Rau and C. D. Glaeser. Some scheduling techniques and an easily schedulable horizontal architecture for high performance scientific computing. In Proceedings of the 14th Annual Workshop on Microprogramming (Micro-14), pages 183--198, 1981.
[14]
B. R. Rau, M. Lee, P. P. Tirumalai, and M. S. Schlansker. Register allocation for software pipelined loops. In Proceedings of SIGPLAN 1992 Conference on PLDI, pages 283.299, July 1992.

Index Terms

  1. Rotating register allocation with multiple rotating branches

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    ICS '08: Proceedings of the 22nd annual international conference on Supercomputing
    June 2008
    390 pages
    ISBN:9781605581583
    DOI:10.1145/1375527
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 07 June 2008

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. register allocation
    2. rotating register
    3. software pipelining

    Qualifiers

    • Research-article

    Conference

    ICS08
    Sponsor:
    ICS08: International Conference on Supercomputing
    June 7 - 12, 2008
    Island of Kos, Greece

    Acceptance Rates

    Overall Acceptance Rate 629 of 2,180 submissions, 29%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • 0
      Total Citations
    • 231
      Total Downloads
    • Downloads (Last 12 months)3
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 05 Mar 2025

    Other Metrics

    Citations

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media