Overlapping execution with transfer using non-strict execution for mobile programs
- 1 October 1998
- conference paper
- Published by Association for Computing Machinery (ACM)
- Vol. 33 (11) , 159-169
- https://doi.org/10.1145/291069.291040
Abstract
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%.Keywords
This publication has 13 references indexed in Scilit:
- Slim binariesCommunications of the ACM, 1997
- Network performance effects of HTTP/1.1, CSS1, and PNGPublished by Association for Computing Machinery (ACM) ,1997
- Code compressionPublished by Association for Computing Machinery (ACM) ,1997
- Efficient procedure mapping using cache line coloringPublished by Association for Computing Machinery (ACM) ,1997
- Does “just in time” = “better late than never”?Published by Association for Computing Machinery (ACM) ,1997
- Efficient and language-independent mobile programsPublished by Association for Computing Machinery (ACM) ,1996
- Efficient software-based fault isolationPublished by Association for Computing Machinery (ACM) ,1993
- Procedure merging with instruction cachesACM SIGPLAN Notices, 1991
- Profile guided code positioningACM SIGPLAN Notices, 1990
- Achieving high instruction cache performance with an optimizing compilerPublished by Association for Computing Machinery (ACM) ,1989