Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

Trace software pipelining

Published: 22 March 2023 Publication History
  • Get Citation Alerts
  • Abstract

    Global software pipelining is a complex but efficient compilation technique to exploit instruction-level parallelism for loops with branches. This paper presents a novel global software pipelining technique, called Trace Software Pipelining, targeted to the instruction-level parallel processors such as Very Long Instruction Word (VLIW) and superscalar machines. Trace software pipelining applies a global code scheduling technique to compact the original loop body. The resulting loop is called a trace software pipelined (TSP) code. The trace softwrae pipelined code can be directly executed with special architectural support or can be transformed into a globally software pipelined loop for the current VLIW and superscalar processors. Thus, exploiting parallelism across all iterations of a loop can be completed through compacting the original loop body with any global code scheduling technique. This makes our new technique very promising in practical compilers. Finally, we also present the preliminary experimental results to support our new approach.

    References

    [1]
    Fisher J A. Trace scheduling: A technique for global microcode compaction.IEEE Trans. on Computers, 1981, C-30(7).
    [2]
    Rau B R, Fisher J A. Instruction-level parallel processing: History, overview and perspective.The Journal of Supercomputing, 1993, 7(1).
    [3]
    Rau B R, Glaeser C D. Some scheduling techniques and an easily schedulable horizontal architecture for high performance scientific computing. InProc. of the 14th International Symposium on Microprogramming and Microarchitectures (MICRO-14), Oct. 1981, pp.183–198.
    [4]
    Aiken A and Nicolau A Nicolau T, Gross A, Gelernter D, and Padua D A Realistic Resource-Constrainted Software Pipelining Algorithm Language and Compilers for Parallel Computing 1991 London Pitman/The MIT Press 274-290
    [5]
    Ebcioglu K and Nakatani T Nicolau T, Gross A, Gelernter D, and Padua D A New Compilation Technique for Parallelizing Loops with Unpredictable Branches on a VLIW Architecture Language and Compilers for Parallel Computing 1989 London Pitman/The MIT Press 213-229
    [6]
    Lam M S. A systolic Array optimizing compiler. Ph.D. thesis, CMU, 1987, CMU-CS-87-187.
    [7]
    Su Bogong, Wang Jian. GURPR*: A new global software pipelining algorithm. InProc. of the 24th International Symposium and Workshop on Microprogramming and Microarchitecture (MICRO-24) ACM and IEEE, Nov. 1991, pp.212–216.
    [8]
    Warter N J, Bockhous J W, Haab G E, Subramanian K. Enhanced modulo scheduling for loops with conditional branches. InProc. of the 25th International Symposium on Microprogramming and Microarchitecture (MICRO-25), Dec. 1992.
    [9]
    Wang Jian, Eisenbeis Christine, Martin Jourdan, and Bogong Su Decomposed software pipelining: A new perspective and a new approach International Journal of Parallel Programming 1994 22 3 357-379
    [10]
    Luo Yuhua, Li Sanli. A software pipelining algorithm for loop optimization in a RISC architecture.Chinese Journal of Computers, 1993, 16(9). (in Chinese)
    [11]
    Wang Jian, Eisenbeis Christine, and Su Bogong Using timed Petri net to model instruction-level loop scheduling with resource constraints Journal of Computer Science and Technology 1994 9 2 128-143
    [12]
    Wang Jian, Krall Andreas, and Anton Ertl M Trace software pipelining 1994 Austria Institut für Computersprachen, TU Wien

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image Journal of Computer Science and Technology
    Journal of Computer Science and Technology  Volume 10, Issue 6
    Nov 1995
    33 pages

    Publisher

    Springer-Verlag

    Berlin, Heidelberg

    Publication History

    Published: 22 March 2023
    Revision received: 02 February 1995
    Received: 08 August 1994

    Author Tags

    1. Instruction-level parallelism
    2. fine-grain parallelism
    3. software pipelining
    4. loop scheduling
    5. Very Long Instruction Word (VLIW)
    6. superscalar processor

    Qualifiers

    • Research-article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • 0
      Total Citations
    • 0
      Total Downloads
    • Downloads (Last 12 months)0
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 09 Aug 2024

    Other Metrics

    Citations

    View Options

    View options

    Get Access

    Login options

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media