Reducing transfer delay using Java class file splitting and prefetching
- 1 October 1999
- conference paper
- Published by Association for Computing Machinery (ACM)
- Vol. 34 (10) , 276-291
- https://doi.org/10.1145/320384.320412
Abstract
The proliferation of the Internet is fueling the development of mobile computing environments in which mobile code is executed on remote sites. In such environments, the end user must often wait while the mobile program is transferred from the server to the client where it executes. This downloading can create significant delays, hurting the interactive experience of users.We propose Java class file splitting and class file prefetching optimizations in order to reduce transfer delay. Class file splitting moves the infrequently used part of a class file into a corresponding cold class file to reduce the number of bytes transferred. Java class file prefetching is used to overlap program transfer delays with program execution. Our splitting and prefetching compiler optimizations do not require any change to the Java Virtual Machine, and thus can be used with existing Java implementations. Class file splitting reduces the startup time for Java programs by 10% on average, and class file splitting used with prefetching reduces the overall transfer delay encountered during a mobile program's execution by 25% to 30% on average.Keywords
This publication has 6 references indexed in Scilit:
- Compressing Java class filesPublished by Association for Computing Machinery (ACM) ,1999
- Cache-conscious structure layoutPublished by Association for Computing Machinery (ACM) ,1999
- Automatic inference of models for statistical code compressionPublished by Association for Computing Machinery (ACM) ,1999
- Overlapping execution with transfer using non-strict execution for mobile programsPublished by Association for Computing Machinery (ACM) ,1998
- Code compressionPublished by Association for Computing Machinery (ACM) ,1997
- Profile guided code positioningACM SIGPLAN Notices, 1990