8/30/2004 1:00pm-3:00pm Clark
|
Improving Performance of Mobile Programs via Compilation Service
Han B. Lee
Computer Science PhD Candidate
Virtual machines such as Java Virtual Machines (JVMs) provide better memory
management, security, and program portability than natively executing programs,
yet the extra layer in the execution hierarchy comes at a cost. One of these
costs is compilation, since modern JVM implementations interleave execution
with optimizing compilation of "hot" methods to achieve reasonable performance.
Since compilation overhead impacts the execution time of the application and
induces run-time pauses, I propose offloading compilation onto a dedicated
server. In this dissertation, I present the design, implementation, and
evaluation of a compilation server which compiles and optimizes Java bytecodes
on behalf of its clients. My implementation shows that my techniques are
effective at reducing execution and pause times of the benchmark application,
lowering memory consumption of the client by eliminating allocations due to
optimizing compilation and footprint of the optimizing compiler, and improving
execution time of the application due to sharing of profile information across
different runs of the same application and runs of different applications.
|