On Automating Hybrid Execution of Ahead-of-Time and Just-in-Time Compiled Code

被引:0
|
作者
Pichler, Christoph [1 ]
Li, Paley [2 ]
Schatz, Roland [3 ]
Mossenbock, Hanspeter [1 ]
机构
[1] Johannes Kepler Univ Linz, Linz, Austria
[2] Oracle Labs, Prague, Czech Republic
[3] Oracle Labs, Linz, Austria
关键词
ahead-of-time; just-in-time; virtual machine; performance;
D O I
10.1145/3689490.3690398
中图分类号
TP39 [计算机的应用];
学科分类号
081203 ; 0835 ;
摘要
The divergence between Ahead-of-Time (AOT) and Just-in-Time (JIT) compilation techniques presents a unique predicament when trying to achieve optimal performance in software applications. AOT compilation offers efficiency by pre-compiling and optimizing code, while JIT compilation enhances peak performance through dynamic optimization and speculation. However, the improved peak performance achieved by JIT compilation is offset by the poor warm-up performance due to the overhead caused by analyses and optimizations at run time. Previously, we proposed blending these two compilation techniques, aiming to maintain high peak performance while enhancing warm-up performance. Since the programmer had to manually select functions for AOT compilation, it required familiarity with the code base and with compilers in general. This paper presents a strategy for blending these two compilation techniques automatically. We provide an overviewof language implementation features which have to be considered when implementing such an automated approach. We also propose a call-graph based analysis when determining whether certain code should be replaced by its AOT-compiled equivalent. We implemented our approach within GraalVM, a multi-language virtualmachine based on the Java HotSpot VM. The results from different benchmarks show our approach leads to a speedup of 1.48x on average for data setup and up to 2.6x for warm-up and 3.5x for peak performance. Moreover, our automated approach is able to find optimizations which have easily been missed by manual annotations.
引用
收藏
页码:1 / 11
页数:11
相关论文
共 50 条
  • [1] Hybrid Execution: Combining Ahead-of-Time and Just-in-Time Compilation
    Pichler, Christoph
    Li, Paley
    Schatz, Roland
    Mössenböck, Hanspeter
    VMIL 2023 - Proceedings of the 15th ACM SIGPLAN International Workshop on Virtual Machines and Intermediate Languages, Co-located with: SPLASH 2023, 2023, : 39 - 49
  • [2] Reusing Just-in-Time Compiled Code
    Mehta, Meetesh Kalpesh
    Krynski, Sebastian
    Gualandi, Hugo Musso
    Thakur, Manas
    Vitek, Jan
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2023, 7 (OOPSLA): : 1176 - 1197
  • [3] On real-time performance of ahead-of-time compiled Java']Java
    Nilsson, A
    Robertz, SG
    ISORC 2005: Eighth IEEE International Symposium on Object-Oriented Real-Time Distributed Computing, Proceedings, 2005, : 372 - 381
  • [4] Automating Just-In-Time Comment Updating
    Liu, Zhongxin
    Xia, Xin
    Yan, Meng
    Li, Shanping
    2020 35TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING (ASE 2020), 2020, : 585 - 597
  • [5] HYBRID JAVA']JAVA COMPILATION OF JUST-IN-TIME AND AHEAD-OF TIME FOR EMBEDDED SYSTEMS
    Oh, Hyeong-Seok
    Moon, Soo-Mook
    Jung, Dong-Heon
    JOURNAL OF CIRCUITS SYSTEMS AND COMPUTERS, 2012, 21 (02)
  • [6] Reusing the Optimized Code for Java']JavaScript Ahead-of-Time Compilation
    Park, Hyukwoo
    Kim, Sungkook
    Park, Jung-Geun
    Moon, Soo-Mook
    ACM TRANSACTIONS ON ARCHITECTURE AND CODE OPTIMIZATION, 2019, 15 (04)
  • [7] Just-in-time code duplicates extraction
    AlOmar, Eman Abdullah
    Ivanov, Anton
    Kurbatova, Zarina
    Golubev, Yaroslav
    Mkaouer, Mohamed Wiem
    Ouni, Ali
    Bryksin, Timofey
    Nguyen, Le
    Kini, Amit
    Thakur, Aditya
    INFORMATION AND SOFTWARE TECHNOLOGY, 2023, 158
  • [8] CATTO: Just-in-time Test Case Selection and Execution
    D'aragona, Dario Amoroso
    Pecorelli, Fabiano
    Romano, Simone
    Scanniello, Giuseppe
    Baldassarre, Maria Teresa
    Janes, Andrea
    Lenarduzzi, Valentina
    arXiv, 2022,
  • [9] Just-in-Time Code Offloading for Wearable Computing
    Cheng, Zixue
    Li, Peng
    Wang, Junbo
    Guo, Song
    IEEE TRANSACTIONS ON EMERGING TOPICS IN COMPUTING, 2015, 3 (01) : 74 - 83
  • [10] CATTO: Just-in-time Test Case Selection and Execution
    d'Aragona, Dario Amoroso
    Pecorelli, Fabiano
    Romano, Simone
    Scanniello, Giuseppe
    Baldassarre, Maria Teresa
    Janes, Andrea
    Lenarduzzi, Valentina
    2022 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME 2022), 2022, : 459 - 463