Internet computing has been enabled by a mobile program execution model in which architecture-independent programs transfer 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. Second, once the code has arrived it must either be interpreted or compiled ``just-in-time'' for its execution. Just-In-Time (JIT) 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 thesis, we define load delay as the unification of these two sources of overhead: transfer delay and compilation delay. We detail the causes of, describe the existing technology that contributes to, and show the degree to which load delay degrades performance of Internet-computing applications. We show that solutions to the problem of load delay in these mobile programs can be attacked in one of two ways regardless of the source: through avoidance and overlap. Avoidance is achieved by eliminating all or part of the cause of load delay and overlap by performing useful work concurrently with the delay. Both have the potential to reduce the effect of load delay and to improve performance of mobile programs. We present numerous solutions to load delay that implement either avoidance, overlap, or both. Our results show that both sources of load delay can be reduced substantially given currently available remote execution technology. In addition, our results suggest modifications that can be made to existing technology to further improve performance of Internet-computing applications.
The authors of these documents have submitted their reports to this technical report series for the purpose of non-commercial dissemination of scientific work. The reports are copyrighted by the authors, and their existence in electronic format does not imply that the authors have relinquished any rights. You may copy a report for scholarly, non-commercial purposes, such as research or instruction, provided that you agree to respect the author's copyright. For information concerning the use of this document for other than research or instructional purposes, contact the authors. Other information concerning this technical report series can be obtained from the Computer Science and Engineering Department at the University of California at San Diego, firstname.lastname@example.org.
[ Search ]