• DocumentCode
    2704668
  • Title

    Collecting and exploiting high-accuracy call graph profiles in virtual machines

  • Author

    Arnold, Matthew ; Grove, David

  • Author_Institution
    IBM Thomas J. Watson Res. Center, NY, USA
  • fYear
    2005
  • fDate
    20-23 March 2005
  • Firstpage
    51
  • Lastpage
    62
  • Abstract
    Due to the high dynamic frequency of virtual method calls in typical object-oriented programs, feedback-directed devirtualization and inlining is one of the most important optimizations performed by high-performance virtual machines. A critical input to effective feedback-directed inlining is an accurate dynamic call graph. In a virtual machine, the dynamic call graph is computed online during program execution. Therefore, to maximize overall system performance, the profiling mechanism must strike a balance between profile accuracy, the speed at which the profile becomes available to the optimizer, and profiling overhead. This paper introduces a new low-overhead sampling-based technique that rapidly converges on a high-accuracy dynamic call graph. We have implemented the technique in two high-performance virtual machines: Jikes RVM and J9. We empirically assess our profiling technique by reporting on the accuracy of the dynamic call graphs it computes and by demonstrating that increasing the accuracy of the dynamic call graph results in more effective feedback-directed inlining.
  • Keywords
    graph theory; object-oriented programming; optimising compilers; virtual machines; J9; Jikes RVM; call graph profiles; feedback-directed devirtualization; feedback-directed inlining; object-oriented programs; profiling mechanism; sampling-based technique; virtual machines; virtual method calls; Cost function; Degradation; Frequency; High performance computing; Maintenance engineering; Object oriented programming; Optimization methods; Optimizing compilers; System performance; Virtual machining;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Code Generation and Optimization, 2005. CGO 2005. International Symposium on
  • Print_ISBN
    0-7695-2298-X
  • Type

    conf

  • DOI
    10.1109/CGO.2005.9
  • Filename
    1402076