Java']Java client ahead-of-time compiler for embedded systems

被引:3
|
作者
Hong, Sunghyun [1 ]
Kim, Jin-Chul [1 ]
Shin, Jin Woo [1 ]
Moon, Soo-Mook [1 ]
Oh, Hyeong-Seok [1 ]
Lee, Jaemok [1 ]
Choi, Hyung-Kyu [1 ]
机构
[1] Seoul Natl Univ, Sch Elect Engn & Comp Sci, Seoul 151742, South Korea
关键词
!text type='Java']Java[!/text] ahead-of-time compiler; just-in-time compiler; relocation; early binding; !text type='Java']Java[!/text] virtual machine; J2ME CDC; performance; experimentation; languages;
D O I
10.1145/1273444.1254776
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
The performance of embedded Java virtual machine can be improved by ahead-of-time compiler ( AOTC), which translates bytecode into machine code in the server and installs the machine code on the client device. Although AOTC is more advantageous than just-in-time compiler (JITC) due to its absence of the translation overhead, AOTC cannot be applicable to dynamically downloaded classes at runtime. This paper proposes client-AOTC (c-AOTC) which performs AOTC on the client device using the JITC module installed on the device, complementing the server-AOTC. The machine code of a method translated by JITC is cached on a persistent memory of the device, and when the method is invoked again in a later run of the program, the machine code is loaded and executed directly without the translation and interpretation overhead. One of major issues in c-AOTC is relocation because some of the addresses used by the cached machine code are not correct when the machine code is loaded and used in a different run; those addresses should be corrected before they are used. Constant pool resolution and inlining complicate the relocation problem and we propose our solutions. We developed a c-AOTC on Sun's CDC VM reference implementation ( RI) and our evaluation results indicate that cAOTC can improve the performance significantly, as much as an average of 12%. We also experiment with the issue of reducing the number of c-AOTC methods to be cached when the persistent space is tight, with a graceful degradation of performance.
引用
收藏
页码:63 / 72
页数:10
相关论文
共 50 条
  • [41] An Ahead-of-Time Compiler System for the IoT-Cloud Virtual Machine
    Jeong, Juho
    Son, Yunsik
    Lee, YangSun
    2018 TENTH INTERNATIONAL CONFERENCE ON UBIQUITOUS AND FUTURE NETWORKS (ICUFN 2018), 2018, : 293 - 295
  • [42] On the utilization of Java']Java technology in embedded systems
    Strom, O
    Svarstad, K
    Aas, EJ
    DESIGN AUTOMATION FOR EMBEDDED SYSTEMS, 2003, 8 (01) : 87 - 106
  • [43] Java']Java Simulations of Embedded Control Systems
    Farias, Gonzalo
    Cervin, Anton
    Arzen, Karl-Erik
    Dormido, Sebastian
    Esquembre, Francisco
    SENSORS, 2010, 10 (09) : 8585 - 8603
  • [44] Computational reflection for embedded Java']Java systems
    Di Stefano, A
    Fargetta, M
    Tramontana, E
    ON THE MOVE TO MEANINGFUL INTERNET SYSTEMS 2003: OTM 2003 WORKSHOPS, 2003, 2889 : 437 - 450
  • [45] Performance evaluation of Java']Java architectures in embedded real-time systems
    Pereira, Carlos Eduardo
    Ataide, Fernando Henripe
    Kunz, Guilherme Oliveira
    Freitas, . Edison Pignaton
    Silva, Elias Teodoro, Jr.
    Carvalho, Fabiano Costa
    ETFA 2005: 10th IEEE International Conference on Emerging Technologies and Factory Automation, Vol 1, Pts 1 and 2, Proceedings, 2005, : 841 - 848
  • [46] Java for embedded systems
    Mulchandani, Deepak
    IEEE Internet Computing, 1998, 2 (03): : 30 - 33
  • [47] A study of devirtualization techniques for a Java']Java™ just-in-time compiler
    Ishizaki, K
    Kawahito, M
    Yasue, T
    Komatsu, H
    Nakatani, T
    ACM SIGPLAN NOTICES, 2000, 35 (10) : 294 - 310
  • [48] A dynamic optimization framework for a Java']Java Just-In-Time compiler
    Suganuma, T
    Yasue, T
    Kawahito, M
    Komatsu, H
    Nakatani, T
    ACM SIGPLAN NOTICES, 2001, 36 (11) : 180 - 194
  • [49] A selective dynamic compiler for embedded Java']Java virtual machines targeting ARM processors
    Debbabi, M
    Gherbi, A
    Mourad, A
    Yahyaoui, H
    SCIENCE OF COMPUTER PROGRAMMING, 2006, 59 (1-2) : 38 - 63
  • [50] java']javar: A prototype Java']Java restructuring compiler
    Bik, AJC
    Villacis, JE
    Gannon, DB
    CONCURRENCY-PRACTICE AND EXPERIENCE, 1997, 9 (11): : 1181 - 1191