Embedded JIT Compilation with CACAO on YARI

Florian Brandner, Tommy Thorn, Martin Schoeberl

Research output: Chapter in Book/Report/Conference proceedingArticle in proceedingsResearchpeer-review

97 Downloads (Pure)

Abstract

Java is one of the most popular programming languages for thedevelopment of portable workstation and server applications availabletoday. Because of its clean design and typesafety, it is alsobecoming attractive in the domain of embedded systems. Unfortunately, the dynamic features of the language and its rich class library causeconsiderable overhead in terms of runtime and memory consumption. Efficient techniques to implement Java virtual machines that aresuitable for use in resource constrained environments are thusneeded. In this work we present a solution for very restrictedenvironments based on CACAO. CACAO is a just-in-time compilingvirtual machine implementation, combining high speed and small size. We have modified the original version of CACAO to run without anunderlying operating system within only 1 MB of memory. In additionwe present a new technique to selectively compile methods during theinitialization phase of real-time Java applications to preventunwanted interaction between dynamic compilation and critical tasks. Furthermore we present the YARI soft-core as the execution platformof CACAO within an field-programmable gate array. We compare ourimplementation with two well known Java processors, JOP and Sun'spicoJava-II, on the same technology. Although JOP achieves a higherclock frequency and picoJava-II occupies nearly 4 times the resourceof YARI, our solution is capable to outperform both of them by afactor of up to 2.8 and 2.2 respectively.
Keyword: JIT compilation,YARI soft-core,embedded systems,just-in-time compiling virtual machine,Program processors,Java,runtime consumption,Real time systems,virtual machines,Libraries,memory consumption,Pipelines,field programmable gate arrays,field-programmable gate array,Java processor,picoJava-II,resource constrained environment,Registers,Field programmable gate arrays,real-time Java application,Java Virtual Machine,class library,RISC soft-core,CACAO,embedded JIT compilation,programming language,program compilers,JOP,embedded system
Original languageEnglish
Title of host publicationProceedings of the 12th IEEE International Symposium on Object/component/service-oriented Real-time distributed Computing (ISORC 2009)
Publication date2009
Pages63-70
ISBN (Print)978-07-69-53573-9
DOIs
Publication statusPublished - 2009
Externally publishedYes
Event12th IEEE International Symposium on Object/component/service-oriented real-time distributed computing - Tokyo, Japan
Duration: 17 Mar 200920 Mar 2009
Conference number: 12

Conference

Conference12th IEEE International Symposium on Object/component/service-oriented real-time distributed computing
Number12
CountryJapan
CityTokyo
Period17/03/200920/03/2009

Cite this

Brandner, F., Thorn, T., & Schoeberl, M. (2009). Embedded JIT Compilation with CACAO on YARI. In Proceedings of the 12th IEEE International Symposium on Object/component/service-oriented Real-time distributed Computing (ISORC 2009) (pp. 63-70) https://doi.org/10.1109/ISORC.2009.20