• DocumentCode
    1305838
  • Title

    Heuristic optimisation algorithm for Java dynamic compilation

  • Author

    Liu, Yanbing ; Fong, Anthony S.

  • Author_Institution
    Univ. Mega Center, Guangdong Univ. of Technol., Guangzhou, China
  • Volume
    6
  • Issue
    4
  • fYear
    2012
  • fDate
    8/1/2012 12:00:00 AM
  • Firstpage
    307
  • Lastpage
    312
  • Abstract
    Dynamic compilation increases Java virtual machine (JVM) performance because running compiled codes is faster than interpreting Java bytecodes. However, inappropriate decision on dynamic compilation may degrade performance owing to compilation overhead. A good heuristic algorithm for dynamic compilation should achieve an appropriate balance between compilation overhead and performance gain in each method invocation sequence. A method-size and execution-time heuristic algorithm is proposed in the study. The key principle of the algorithm is that different method-sizes necessitate different compile thresholds for optimal performance. A parameter search mechanism using a genetic algorithm for dynamic compilation is proposed to find optimised multi-thresholds in the algorithm. This heuristic algorithm is evaluated in an openJDK Java Server JVM using SPEC JVM98 benchmark suite. The algorithm shows an overall advantage in performance speedup when testing benchmarks and gain speedup by 19.1% on average. The algorithm also increases the performance of original openJDK by 10.2% when extended to the whole benchmark suite.
  • Keywords
    Java; benchmark testing; genetic algorithms; optimising compilers; software performance evaluation; virtual machines; JVM performance; Java dynamic compilation; Java virtual machine performance; SPEC JVM98 benchmark suite; benchmark testing; code compilation; compilation overhead; execution-time heuristic algorithm; genetic algorithm; heuristic optimisation algorithm; method-size heuristic algorithm; openJDK Java Server JVM; optimal performance thresholds; optimised multithresholds; parameter search mechanism; performance degradation; performance gain; performance speedup;
  • fLanguage
    English
  • Journal_Title
    Software, IET
  • Publisher
    iet
  • ISSN
    1751-8806
  • Type

    jour

  • DOI
    10.1049/iet-sen.2011.0144
  • Filename
    6322852