TY - GEN
T1 - Embedded JIT compilation with CACAO on YARI
AU - Brandner, Florian
AU - Thorn, Tommy
AU - Schoeberl, Martin
PY - 2009/11/6
Y1 - 2009/11/6
N2 - 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 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 compiling virtual machine implementation, combining high speed and small size. We have modified the original version of CACAO to run without an underlying operating system within only 1 MB of memory. In addition we present a new technique to selectively compile methods during the initialization phase of real-time Java applications to prevent unwanted interaction between dynamic compilation and critical tasks. Furthermore we present the YARI soft-core as the execution platform of CACAO within an field-programmable gate array. We compare our implementation with two well known Java processors, JOP and Sun's picoJava-II, on the same 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.8 and 2.2 respectively.
AB - 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 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 compiling virtual machine implementation, combining high speed and small size. We have modified the original version of CACAO to run without an underlying operating system within only 1 MB of memory. In addition we present a new technique to selectively compile methods during the initialization phase of real-time Java applications to prevent unwanted interaction between dynamic compilation and critical tasks. Furthermore we present the YARI soft-core as the execution platform of CACAO within an field-programmable gate array. We compare our implementation with two well known Java processors, JOP and Sun's picoJava-II, on the same 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.8 and 2.2 respectively.
UR - https://www.scopus.com/pages/publications/70350586404
U2 - 10.1109/ISORC.2009.20
DO - 10.1109/ISORC.2009.20
M3 - Conference contribution
AN - SCOPUS:70350586404
SN - 9780769535739
T3 - Proceedings of the 2009 IEEE International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing, ISORC 2009
SP - 63
EP - 70
BT - Proceedings of the 2009 IEEE International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing, ISORC 2009
T2 - 2009 IEEE International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing, ISORC 2009
Y2 - 17 March 2009 through 20 March 2009
ER -