Embedded JIT compilation with CACAO on YARI

Saved in:
Bibliographic Details
Title: Embedded JIT compilation with CACAO on YARI
Authors: Florian Brandner, Tommy Thorn, Martin Schoeberl
Contributors: The Pennsylvania State University CiteSeerX Archives
Source: http://www.vmars.tuwien.ac.at/php/pserver/extern/download.php?fileid=1547.
Publisher Information: IEEE Computer Society
Publication Year: 2009
Collection: CiteSeerX
Subject Terms: JIT compilation, Real-time system, Java processor
Description: Java is one of the most popular programming languages for the development of portable workstation and server applications available today. Because of its clean design and typesafety, it is also becoming attractive in the domain of embedded systems. Unfortunately, the dynamic features of the language and its rich class library cause considerable overhead in terms of runtime and memory consumption. Efficient techniques to implement Java Virtual Machines (JVM), that are suitable for use in resource constrained environments are thus needed. In this work we present a solution for very restricted environments based on CACAO. CACAO is a just-in-time (JIT) compiling JVM implementation, combining high speed and small size. We have modified the original JVM to run without an underlaying operating system within only 1 MB of memory. In addition we present a new technique to selectively precompile methods during the initialization phase of real-time Java applications to prevent unwanted interaction between the JIT compilation and critical tasks. Furthermore we present the YARI softcore as the execution platform of CACAO within an FPGA. We compare our implementation with two well known Java processors, JOP and Sun’s picoJava-II, on the same FPGA technology. Although JOP achieves a higher clock frequency and picoJava-II occupies nearly 4 times the resource of YARI, our solution is capable to outperform both of them by a factor of up to 2.2 and 1.7 respectively.
Document Type: text
Language: English
Relation: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.164.1581; http://www.vmars.tuwien.ac.at/php/pserver/extern/download.php?fileid=1547
Availability: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.164.1581
http://www.vmars.tuwien.ac.at/php/pserver/extern/download.php?fileid=1547
Rights: Metadata may be used without restrictions as long as the oai identifier remains attached to it.
Accession Number: edsbas.9A068044
Database: BASE
Description
Abstract:Java is one of the most popular programming languages for the development of portable workstation and server applications available today. Because of its clean design and typesafety, it is also becoming attractive in the domain of embedded systems. Unfortunately, the dynamic features of the language and its rich class library cause considerable overhead in terms of runtime and memory consumption. Efficient techniques to implement Java Virtual Machines (JVM), that are suitable for use in resource constrained environments are thus needed. In this work we present a solution for very restricted environments based on CACAO. CACAO is a just-in-time (JIT) compiling JVM implementation, combining high speed and small size. We have modified the original JVM to run without an underlaying operating system within only 1 MB of memory. In addition we present a new technique to selectively precompile methods during the initialization phase of real-time Java applications to prevent unwanted interaction between the JIT compilation and critical tasks. Furthermore we present the YARI softcore as the execution platform of CACAO within an FPGA. We compare our implementation with two well known Java processors, JOP and Sun’s picoJava-II, on the same FPGA technology. Although JOP achieves a higher clock frequency and picoJava-II occupies nearly 4 times the resource of YARI, our solution is capable to outperform both of them by a factor of up to 2.2 and 1.7 respectively.