• DocumentCode
    3362807
  • Title

    Procedure cloning and integration for converting parallelism from coarse to fine grain

  • Author

    So, Won ; Dean, Alex

  • Author_Institution
    Dept. of Electr. & Comput. Eng., North Carolina State Univ., Raleigh, NC, USA
  • fYear
    2003
  • fDate
    8 Feb. 2003
  • Firstpage
    27
  • Lastpage
    36
  • Abstract
    This paper introduces a method for improving program run-time performance by gathering work in an application and executing it efficiently in an integrated thread. Our methods extend whole-program optimization by expanding the scope of the compiler through a combination of software thread integration and procedure cloning. In each experiment we integrate a frequently executed procedure with itself twice or thrice, creating two clones. Then, based on profile data we select at compile time the fastest version (original or clone) and modify call sites as needed. We demonstrate our technique by cloning and integrating three procedures from cjpeg and djpeg at the C source code level, compiling with four compilers for the Itanium EPIC architecture and measuring the performance with the on-chip performance measurement units. For cjpeg, which is not significantly constrained by the i-cache, we find integration consistently improves code generated by all compilers but one, with a mean program speedup of 11.99%.
  • Keywords
    cache storage; embedded systems; multi-threading; optimising compilers; parallel architectures; parallelising compilers; software performance evaluation; C source code level; Itanium EPIC architecture; cjpeg; code generation; djpeg; i-cache; integrated thread; on-chip performance measurement; procedure cloning; profile data; program run-time performance; program speedup; software thread integration; whole-program optimization; Application software; Cloning; Data analysis; Embedded system; Measurement; Optimizing compilers; Parallel processing; Program processors; Runtime; Yarn;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Interaction Between Compilers and Computer Architectures, 2003. INTERACT-7 2003. Proceedings. Seventh Workshop on
  • Print_ISBN
    0-7695-1889-3
  • Type

    conf

  • DOI
    10.1109/INTERA.2003.1192353
  • Filename
    1192353