ACM Home Page
Please provide us with feedback. Feedback
Split-stream dictionary program compression
Full text PdfPdf (90 KB)
Source Conference on Programming Language Design and Implementation archive
Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation table of contents
Vancouver, British Columbia, Canada
Pages: 27 - 34  
Year of Publication: 2000
ISBN:1-58113-199-2
Also published in ...
Author
Steven Lucco  Transmeta, 3940 Freedom Circle, Santa Clara, CA
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
SIGSOFT: ACM Special Interest Group on Software Engineering
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 3,   Downloads (12 Months): 43,   Citation Count: 14
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/349299.349307
What is a DOI?

ABSTRACT

This paper describes split-stream dictionary (SSD) compression, a new technique for transforming programs into a compact, interpretable form. We define a compressed program as interpretable when it can be decompressed at basic-block granularity with reasonable efficiency. The granularity requirement enables interpreters or just-in-time (JIT) translators to decompress basic blocks incrementally during program execution. Our previous approach to interpretable compression, the Byte-coded RISC (BRISC) program format [1], achieved unprecedented decompression speed in excess of 5 megabytes per second on a 450MHz Pentium II while compressing benchmark programs to an average of three-fifths the size of their optimized x86 representation. SSD compression combines the key idea behind BRISC with new observations about instruction re-use frequencies to yield four advantages over BRISC and other competing techniques. First, SSD is simple, requiring only a few pages of code for an effective implementation. Second, SSD compresses programs more effectively than any interpretable program compression scheme known to us. For example, SSD compressed a set of programs including the spec95 benchmarks and Microsoft Word97 to less than half the size, on average, of their optimized x86 representation. Third, SSD exceeds BRISC's decompression and JIT translation rates by over 50%. Finally, SSD's two-phased approach to JIT translation enables a virtual machine to provide graceful degradation of program execution time in the face of increasing RAM constraints. For example, using SSD, we ran Word97 using a JIT-translation buffer one-third the size of Word97's optimized x86 code, yet incurred only 27% execution time overhead.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

1
 
2
http ://www'palm'c~m/h~me'html
3
 
4
 
5
Intel Corp., Pentium Processor User's Manual Volume 3: Architecture and Programming Manual, Intel Literature Sales, ISBN 1-55512-195-0.
 
6
 
7
 
8
S. Lucco, O. Sharp, and R. Wahbe, "Omniware: a universal substrate for web programming," in Fourth International World Wide Web Conference, Boston, Massachusetts, 12/95. http ://www.w3.org/Conferences/WWW4/Papers/165/.
9
 
10
A. Lempel and J. Ziv, "On the complexity of finite sequences," IEEE Transactions on Information Theory 22(1):75-81, 1/76.
 
11
J. Ziv and A. Lempel, "Compression of individual sequences via variable-rate coding," IEEE Transactions on Information Theory 24(5):530-536, 9/78.
12
 
13
14
 
15
"Architecture Neutral Distribution Format: a white paper," Open Software Foundation, 11/90.
16
 
17
M. Franz, "Adaptive compression of syntax trees and iterative dynamic code optimization: Two basic technologies for mobile-object systems," TR 97-04, Dept. of Information and Computer Science, University of California, Irvine, 2/97.
18
 
19
 
20

CITED BY  14