A Study on Selective Ahead-of-Time Compilation for Embedded Java

No Thumbnail Available

Date

2002-09-23

Journal Title

Series/Report No.

Journal ISSN

Volume Title

Publisher

Abstract

In recent years, Java has been making tremendous inroads into the world of embedded devices and systems. Thus, it is increasingly important to study the performance characteristics of the Java Virtual Machines (JVMs), and different optimization strategies that can help boost application performance. Usually, embedded systems are very constrained in memory and processor speed, and hence it is imperative to extract maximum performance without having to incur a high memory cost. Just-in-time (JIT) compilers give high performance improvements, but they come at a memory cost (code size, data and code cache requirements) which many embedded systems cannot afford. A viable alternative is to ahead-of-time (AOT) compile into native code the few hottest i.e. most used, most CPU-intensive, and/or time-critical – methods of the application. This results in a performance boost anywhere from around 88 to 98 percent, while increasing the application size only marginally. This thesis presents our research work in performance and analysis of embedded Java systems. Our work has been divided into two phases. During the first phase, we ran a number of Java benchmarks on Embedded JVMs. This was mainly to understand the embedded systems, and their characteristics and performance aspects that made them differ from their desktop counterparts. The second phase involved executing the aforementioned benchmarks without any optimization techniques, and then selectively ahead-of-time compiling different methods and classes of these Java benchmarks and measuring the resulting performance benefits. We performed an in-depth analysis and study on how to go about profiling the Java application, selecting the methods that fit the "hot" criteria, AOT-compiling those methods, and subsequently measuring the resulting performance gain.

Description

Keywords

Ahead-of-time compilation, AOT, embedded java, optimization techniques

Citation

Degree

MS

Discipline

Computer Science

Collections