| No bit left behind: the limits of heap data compression |
| Full text |
Pdf
(350 KB)
|
Source
|
International Symposium on Memory Management
archive
Proceedings of the 7th international symposium on Memory management
table of contents
Tucson, AZ, USA
SESSION: Heap measurement and analysis I
table of contents
Pages 111-120
Year of Publication: 2008
ISBN:978-1-60558-134-7
|
|
Authors
|
|
| Sponsors |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 2, Downloads (12 Months): 41, Citation Count: 0
|
|
|
ABSTRACT
On one hand, the high cost of memory continues to drive demand for memory efficiency on embedded and general purpose computers. On the other hand, programmers are increasingly turning to managed languages like Java for their functionality, programmability, and reliability. Managed languages, however, are not known for their memory efficiency, creating a tension between productivity and performance. This paper examines the sources and types of memory inefficiencies in a set of Java benchmarks. Although prior work has proposed specific heap data compression techniques, they are typically restricted to one model of inefficiency. This paper generalizes and quantitatively compares previously proposed memorysaving approaches and idealized heap compaction. It evaluates a variety of models based on strict and deep object equality, field value equality, removing bytes that are zero, and compressing fields and arrays with a limited number and range of values. The results show that substantial memory reductions are possible in the Java heap. For example, removing bytes that are zero from arrays is particularly effective, reducing the application's memory footprint by 41% on average.We are the first to combine multiple savings models on the heap, which very effectively reduces the application by up to 86%, on average 58%. These results demonstrate that future work should be able to combine a high productivity programming language with memory efficiency.
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
|
B. Alpern , C. R. Attanasio , J. J. Barton , M. G. Burke , P. Cheng , J.-D. Choi , A. Cocchi , S. J. Fink , D. Grove , M. Hind , S. F. Hummel , D. Lieber , V. Litvinov , M. F. Mergen , T. Ngo , J. R. Russell , V. Sarkar , M. J. Serrano , J. C. Shepherd , S. E. Smith , V. C. Sreedhar , H. Srinivasan , J. Whaley, The Jalapeño virtual machine, IBM Systems Journal, v.39 n.1, p.211-238, January 2000
|
 |
2
|
C. Scott Ananian , Martin Rinard, Data size optimizations for java programs, Proceedings of the 2003 ACM SIGPLAN conference on Language, compiler, and tool for embedded systems, June 11-13, 2003, San Diego, California, USA
|
| |
3
|
A. W. Appel and M. J. R. Gonc¸alves. Hash-consing garbage collection. Technical Report CS-TR-412-93, Princeton University, 1993.
|
| |
4
|
|
 |
5
|
Stephen M. Blackburn , Robin Garner , Chris Hoffmann , Asjad M. Khang , Kathryn S. McKinley , Rotem Bentzur , Amer Diwan , Daniel Feinberg , Daniel Frampton , Samuel Z. Guyer , Martin Hirzel , Antony Hosking , Maria Jump , Han Lee , J. Eliot B. Moss , B. Moss , Aashish Phansalkar , Darko Stefanović , Thomas VanDrunen , Daniel von Dincklage , Ben Wiedermann, The DaCapo benchmarks: java benchmarking development and analysis, Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications, October 22-26, 2006, Portland, Oregon, USA
|
| |
6
|
A. Cardon and M. Crochemore. Partitioning a graph in o(jaj log2 jvj). Theoretical Computer Science, 1982.
|
 |
7
|
|
 |
8
|
Guangyu Chen , Mahmut Kandemir , N. Vijaykrishnan , Mary Janie Irwin, Field level analysis for heap space optimization in embedded java environments, Proceedings of the 4th international symposium on Memory management, October 24-25, 2004, Vancouver, BC, Canada
[doi> 10.1145/1029873.1029889]
|
 |
9
|
G. Chen , M. Kandemir , N. Vijaykrishnan , M. J. Irwin , B. Mathiske , M. Wolczko, Heap compression for memory-constrained Java environments, Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications, October 26-30, 2003, Anaheim, California, USA
|
 |
10
|
|
| |
11
|
|
 |
12
|
Jens Ernst , William Evans , Christopher W. Fraser , Todd A. Proebsting , Steven Lucco, Code compression, Proceedings of the ACM SIGPLAN 1997 conference on Programming language design and implementation, p.358-365, June 16-18, 1997, Las Vegas, Nevada, United States
|
 |
13
|
Michael D. Ernst , Jake Cockrell , William G. Griswold , David Notkin, Dynamically discovering likely program invariants to support program evolution, Proceedings of the 21st international conference on Software engineering, p.213-224, May 16-22, 1999, Los Angeles, California, United States
[doi> 10.1145/302405.302467]
|
 |
14
|
|
 |
15
|
|
 |
16
|
|
 |
17
|
Darko Marinov , Robert O'Callahan, Object equality profiling, Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications, October 26-30, 2003, Anaheim, California, USA
|
 |
18
|
|
 |
19
|
|
| |
20
|
J. B. Sartor, M. Hirzel, and K. McKinley. No bit left behind: The limits of heap data compression (extended version). Technical Report TR-08-17, The University of Texas at Austin, 2008.
|
| |
21
|
Semiconductor Industry Association. SIA world semiconductor forcast 2007?2010, Nov. 2007. http://www.sia-online.org/pre release.cfm?ID=455.
|
 |
22
|
|
 |
23
|
Ajeet Shankar , S. Subramanya Sastry , Rastislav Bodík , James E. Smith, Runtime specialization with optimistic heap analysis, Proceedings of the 20th annual ACM SIGPLAN conference on Object oriented programming, systems, languages, and applications, October 16-20, 2005, San Diego, CA, USA
|
 |
24
|
Mark Stephenson , Jonathan Babb , Saman Amarasinghe, Bidwidth analysis with application to silicon compilation, Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation, p.108-120, June 18-21, 2000, Vancouver, British Columbia, Canada
|
| |
25
|
TIOBE Software. TIOBE programming community index, 2007. http://tiobe.com.tpci.html.
|
 |
26
|
Ben L. Titzer , Joshua Auerbach , David F. Bacon , Jens Palsberg, The ExoVM system for automatic VM and application reduction, Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation, June 10-13, 2007, San Diego, California, USA
|
 |
27
|
|
 |
28
|
|
| |
29
|
|
 |
30
|
|
|