University of California
|Topic:||Reducing Load Delay in Internet-Computing Applications|
|Date:||Thursday, March 29, 2001|
|Place:||Gould-Simpson, Room 701|
Internet computing has been enabled by a mobile program execution model in which architecture-independent programs move to where they will be executed. The Java language model is designed to implement mobile execution by transferring bytecodes to a virtual machine which translates them into native machine instructions and then executes them on the target site.
Implementing Java's mobile execution model efficiently has proved challenging for two reasons. First, the time required to transfer program code from the place where it is stored to the Java Virtual Machine (JVM) that will execute it is perceived by the program's user as execution delay. Current levels of deliverable Internet performance can cause this delay to be substantial. Secondly, once the code has arrived, it must either be interpreted or compiled "just-in-time" for its execution. Just-in-time compilation offers improved execution speed over interpretation by exploiting the opportunity for compile-time optimizations, but the compilation time is also perceived by the program's user as execution delay.
In this talk, we present optimization techniques that reduce both transfer delay and just-in-time compilation delay in mobile programs, and an annotation-based framework for their efficient implementation. We illustrate the effectiveness of these techniques using Java and the Open Runtime Platform (ORP) Java execution environment. Our results show that both forms of delay can be reduced for the currently available JVM implementations, and suggest JVM modifications and changes to the transfer protocol that could substantially improve performance.