Achieving high instruction cache performance with an optimizing compiler
ISCA '89 Proceedings of the 16th annual international symposium on Computer architecture
Profile guided code positioning
PLDI '90 Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation
Procedure merging with instruction caches
PLDI '91 Proceedings of the ACM SIGPLAN 1991 conference on Programming language design and implementation
Executing compressed programs on an embedded RISC architecture
MICRO 25 Proceedings of the 25th annual international symposium on Microarchitecture
Efficient software-based fault isolation
SOSP '93 Proceedings of the fourteenth ACM symposium on Operating systems principles
Entity authentication and key distribution
CRYPTO '93 Proceedings of the 13th annual international cryptology conference on Advances in cryptology
Efficient and language-independent mobile programs
PLDI '96 Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation
Understanding ActiveX and OLE: a guide for developers and managers
Understanding ActiveX and OLE: a guide for developers and managers
Efficient procedure mapping using cache line coloring
Proceedings of the ACM SIGPLAN 1997 conference on Programming language design and implementation
Proceedings of the ACM SIGPLAN 1997 conference on Programming language design and implementation
Network performance effects of HTTP/1.1, CSS1, and PNG
SIGCOMM '97 Proceedings of the ACM SIGCOMM '97 conference on Applications, technologies, architectures, and protocols for computer communication
Does “just in time” = “better late than never”?
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Communications of the ACM
Improving code density using compression techniques
MICRO 30 Proceedings of the 30th annual ACM/IEEE international symposium on Microarchitecture
Procedure placement using temporal ordering information
MICRO 30 Proceedings of the 30th annual ACM/IEEE international symposium on Microarchitecture
Java Virtual Machine Specification
Java Virtual Machine Specification
Optimizing instruction cache performance for operating system intensive workloads
HPCA '95 Proceedings of the 1st IEEE Symposium on High-Performance Computer Architecture
Toba: java for applications a way ahead of time (WAT) compiler
COOTS'97 Proceedings of the 3rd conference on USENIX Conference on Object-Oriented Technologies (COOTS) - Volume 3
Cache-conscious structure definition
Proceedings of the ACM SIGPLAN 1999 conference on Programming language design and implementation
Proceedings of the ACM SIGPLAN 1999 conference on Programming language design and implementation
Design and implementation of a distributed virtual machine for networked computers
Proceedings of the seventeenth ACM symposium on Operating systems principles
Reducing transfer delay using Java class file splitting and prefetching
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Practical experience with an application extractor for Java
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Running EveryWare on the computational grid
SC '99 Proceedings of the 1999 ACM/IEEE conference on Supercomputing
Using annotations to reduce dynamic optimization time
Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation
Practical extraction techniques for Java
ACM Transactions on Programming Languages and Systems (TOPLAS)
Using adaptive optimization techniques to teach mobile Java computing
PPPJ '02/IRE '02 Proceedings of the inaugural conference on the Principles and Practice of programming, 2002 and Proceedings of the second workshop on Intermediate representation engineering for virtual machines, 2002
Fine-Grained Interlaced Code Loading for Mobile Systems
MA '02 Proceedings of the 6th International Conference on Mobile Agents
Coupling on-line and off-line profile information to improve program performance
Proceedings of the international symposium on Code generation and optimization: feedback-directed and runtime optimization
Using code collection to support large applications on mobile devices
Proceedings of the 10th annual international conference on Mobile computing and networking
Reducing startup latency in web and desktop applications
WINSYM'99 Proceedings of the 3rd conference on USENIX Windows NT Symposium - Volume 3
Slim VM: optimistic partial program loading for connected embedded Java virtual machines
Proceedings of the 6th international symposium on Principles and practice of programming in Java
“Slimming” a Java virtual machine by way of cold code removal and optimistic partial program loading
Science of Computer Programming
Hi-index | 0.00 |
In order to execute a program on a remote computer, it mustfirst be transferred over a network. This transmission incurs the over-head of network latency before execution can begin. This latency can vary greatly depending upon the size of the program., where it is located (e.g., on a local network or across the Internet), and the bandwidth available to retrieve the program. Existing technologies, like Java, require that a jle be filly transferred before it can start executing. For large files and low bandwidth lines, this delay can be significant.In this paper we propose and evaluate a non-strict form of mobile program execution. A mobile program is any program that is transferred to a different machine and executed. The goal of nonstrict execution is to overlap execution with transfer; allowing the program to start executing as soon as possible. Non-strict execution allows a procedure in the program to start executing as soon as its code and data have transferred. To enable this technology, we examine several techniques for rearranging procedures and reorganizing the data inside Java classjles. Our results show that nonstrict execution decreases the initial transfer delay between 31% and 56% on average, with an average reduction in overall execution time between 25% and 40%.