• DocumentCode
    2136070
  • Title

    Instruction based memory distance analysis and its application to optimization

  • Author

    Fang, Changpeng ; Can, Sultan ; Onder, Soner ; Wang, Zhenlin

  • Author_Institution
    Dept. of Comput. Sci., Michigan Technol. Univ., Houghton, MI, USA
  • fYear
    2005
  • fDate
    17-21 Sept. 2005
  • Firstpage
    27
  • Lastpage
    37
  • Abstract
    Feedback-directed optimization has become an increasingly important tool in designing and building optimizing compilers as it provides a means to analyze complex program behavior that is not possible using traditional static analysis. Feedback-directed optimization offers the compiler opportunities to analyze and optimize the memory behavior of programs even when traditional array-based analysis is not applicable. As a result, both floating point and integer programs can benefit from memory hierarchy optimization. In this paper, we examine the notion of memory distance as it is applied to the instruction space of a program and to feedback-directed optimization. Memory distance is defined as a dynamic quantifiable distance in terms of memory references between two accesses to the same memory location. We use memory distance to predict the miss rates of instructions in a program. Using the miss rates, we then identify the program´s critical instructions - the set of high miss instructions whose cumulative misses account for 95% of the L2 cache misses in the program - in both integer and floating-point programs. Our experiments show that memory-distance analysis can effectively identify critical instructions in both integer and floating-point programs. Additionally, we apply memory-distance analysis to memory disambiguation in out-of-order issue processors using those distances to determine when a load may be speculated ahead of a preceding store. Our experiments show that memory-distance-based disambiguation on average achieves within 5-10% of the performance gain of the store set technique which requires a hardware table.
  • Keywords
    instruction sets; integer programming; optimising compilers; array-based analysis; feedback-directed optimization; floating-point programs; instruction based memory distance analysis; integer programs; memory hierarchy optimization; optimizing compilers; program critical instructions; Application software; Buildings; Computer science; Design optimization; Hardware; Optimizing compilers; Out of order; Performance gain; Program processors; System performance;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Parallel Architectures and Compilation Techniques, 2005. PACT 2005. 14th International Conference on
  • ISSN
    1089-795X
  • Print_ISBN
    0-7695-2429-X
  • Type

    conf

  • DOI
    10.1109/PACT.2005.26
  • Filename
    1515578