• DocumentCode
    348138
  • Title

    Compiler-directed dynamic computation reuse: rationale and initial results

  • Author

    Conners, D.A. ; Hwu, Wen-Mei W.

  • Author_Institution
    Dept. of Electr. & Comput. Eng., Illinois Univ., Urbana, IL, USA
  • fYear
    1999
  • fDate
    1999
  • Firstpage
    158
  • Lastpage
    169
  • Abstract
    Recent studies on value locality reveal that many instructions are frequently executed with a small variety of inputs. This paper proposes an approach that integrates architecture and compiler techniques to exploit value locality for large regions of code. The approach strives to eliminate redundant processor execution created by both instruction-level input repetition and recurrence of input data within high-level computations. In this approach, the compiler performs analysis to identify code regions whose computation can be reused during dynamic execution. The instruction set architecture provides a simple interface for the compiler to communicate the scope of each reuse region and its live-out register information to the hardware. During run time, the execution results of these reusable computation regions are recorded into hardware buffers for potential reuse. Each reuse can eliminate the execution of a large number of dynamic instructions. Furthermore, the actions needed to update the live-out registers can be performed at a higher degree of parallelism than the original code, breaking intrinsic dataflow dependence constraints. Initial results show that the compiler analysis can indeed identify large reuse regions. Overall, the approach can improve the performance of a 6-issue microarchitecture by an average of 30% for a collection of SPEC and integer benchmarks
  • Keywords
    instruction sets; parallel architectures; performance evaluation; SPEC benchmarks; compiler techniques; compiler-directed dynamic computation reuse; hardware buffers; high-level computations; instruction set architecture; instruction-level input repetition; integer benchmarks; live-out registers; microarchitecture; redundant processor execution; reusable computation regions; value locality; Computer aided instruction; Dynamic compiler; Hardware; Program processors; Registers;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Microarchitecture, 1999. MICRO-32. Proceedings. 32nd Annual International Symposium on
  • Conference_Location
    Haifa
  • ISSN
    1072-4451
  • Print_ISBN
    0-7695-0437-X
  • Type

    conf

  • DOI
    10.1109/MICRO.1999.809453
  • Filename
    809453