Using Semeru Cloud Compiler to Enhance Cloud-Native Java']Java Application Performance

被引:0
作者
Liu, Ryan [1 ]
Shinde, Shreya [1 ]
Tahvildari, Ladan [1 ]
Stoodley, Mark [2 ]
Sundaresan, Vijay [2 ]
Pirvu, Marius [2 ]
机构
[1] Univ Waterloo, Dept Elect & Comp Engn, Waterloo, ON, Canada
[2] IBM Canada, Markham, ON, Canada
来源
2024 34TH INTERNATIONAL CONFERENCE ON COLLABORATIVE ADVANCES IN SOFTWARE AND COMPUTING, CASCON | 2024年
关键词
cloud computing; remote compilation; JIT compilation; container run-time optimization;
D O I
10.1109/CASCON62161.2024.10838216
中图分类号
TP39 [计算机的应用];
学科分类号
081203 ; 0835 ;
摘要
Java-based applications rely on just-in-time (JIT) compilation to convert bytecode into machine code at run-time to improve throughput. However, JIT compilation is achieved at the cost of additional CPU cycles and memory. In the context of modern cloud, where applications have limited computing resources due to containerization, JIT compilation may potentially become a pain-point. The Semeru Cloud Compiler (SCC) is a promising solution that offloads JIT compilation to a remote cloud compiler to reduce the local overhead of JIT compilation in containers. In this paper, we outline novel research directions to further leverage the advantages of remote cloud compilation by extending the SCC to achieve two goals: (i) reduce application start-up time and (ii) improve JIT compilation decision making. To reduce application start-up time, the proposed enhancement is to extract unused or unlikely to be used Java class files from container images. The SCC can still provide the extracted class files to the client JVM if any turn out to be needed. Our preliminary experiments show that this approach can potentially reduce container image sizes by up to 22.1% and start-up times by up to 9.2% for certain applications. To reduce JIT compilation overhead, the proposed enhancement is to perform dynamic analysis of the Java application using the additional resources on the server-side. In turn, the remote JIT compilation can make more informed decisions regarding which methods to compile and optimizations to apply. We are also developing a novel visualization tool designed to help JIT compiler developers identify pain points in current JIT compilation heuristics. Specifically, we have measured that up to 18.9% of JIT compilations for certain applications may be sub-optimal due to later method inlining, and we are investigating how the SCC could help to avoid these potentially wasted compile-time computations by using information learned from other JVM clients.
引用
收藏
页码:81 / +
页数:9
相关论文
共 44 条
[1]   Exploiting hardware performance counters with flow and context sensitive profiling [J].
Ammons, G ;
Ball, T ;
Larus, JR .
ACM SIGPLAN NOTICES, 1997, 32 (05) :85-96
[2]  
Anwar A, 2018, PROCEEDINGS OF THE 16TH USENIX CONFERENCE ON FILE AND STORAGE TECHNOLOGIES, P265
[3]  
azul, 2024, Cloud native compiler
[4]  
Ball T., 1994, P 29 ANN ACM IEEE IN, P46
[5]   A Taxonomy and Survey of Energy-Efficient Data Centers and Cloud Computing Systems [J].
Beloglazov, Anton ;
Buyya, Rajkumar ;
Lee, Young Choon ;
Zomaya, Albert .
ADVANCES IN COMPUTERS, VOL 82, 2011, 82 :47-111
[6]  
Bhattacharya D, 2017, IEEE PAC RIM CONF CO
[7]   The DaCapo benchmarks: Java']Java benchmarking development and analysis [J].
Blackburn, Stephen M. ;
Garner, Robin ;
Hoffmann, Chris ;
Khan, Asjad M. ;
McKinley, Kathryn S. ;
Bentzur, Rotem ;
Diwan, Amer ;
Feinberg, Daniel ;
Frampton, Daniel ;
Guyer, Samuel Z. ;
Hirzel, Martin ;
Hosking, Antony ;
Jump, Maria ;
Lee, Han ;
Moss, J. Eliot B. ;
Phansalkar, Aashish ;
Stefanovic, Darko ;
VanDrunen, Thomas ;
von Dincklage, Daniel ;
Wiedermann, Ben .
ACM SIGPLAN NOTICES, 2006, 41 (10) :169-190
[8]  
Coffin E., 2020, P 30 ANN INT C COMP, P179
[9]  
Coffin E., 2019, P 29 ANN INT C COMP, P293
[10]  
Delsart B, 2002, LECT NOTES COMPUT SC, V2491, P197