|
ABSTRACT
In this paper, we introduce the notion of prolific and non-prolific types, based on the number of instantiated objects of those types. We demonstrate that distinguishing between these types enables a new class of techniques for memory management and data locality, and facilitates the deployment of known techniques. Specifically, we first present a new type-based approach to garbage collection that has similar attributes but lower cost than generational collection. Then we describe the short type pointer technique for reducing memory requirements of objects (data) used by the program. We also discuss techniques to facilitate the recycling of prolific objects and to simplify object co-allocation decisions.We evaluate the first two techniques on a standard set of Java benchmarks (SPECjvm98 and SPECjbb2000). An implementation of the type-based collector in the Jalapeño VM shows improved pause times, elimination of unnecessary write barriers, and reduction in garbage collection time (compared to the analogous generational collector) by up to 15%. A study to evaluate the benefits of the short-type pointer technique shows a potential reduction in the heap space requirements of programs by up to 16%.
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
|
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
|
| |
3
|
A. Appel. A better analytical model for the strong generational hypothesis, November 1997.
|
 |
4
|
Matthew Arnold , Stephen Fink , David Grove , Michael Hind , Peter F. Sweeney, Adaptive optimization in the Jalapeño JVM, Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, p.47-65, October 2000, Minneapolis, Minnesota, United States
|
 |
5
|
David F. Bacon , Peter F. Sweeney, Fast static analysis of C++ virtual function calls, Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, p.324-341, October 06-10, 1996, San Jose, California, United States
|
 |
6
|
|
 |
7
|
|
| |
8
|
S. J. Baylor , M. Devarakonda , S. J. Fink , E. Gluzberg , M. Kalantar , P. Muttineni , E. Barsness , R. Arora , R. Dimpsey , S. J. Munroe, Java server benchmarks, IBM Systems Journal, v.39 n.1, p.57-81, January 2000
|
 |
9
|
Stephen M. Blackburn , John Cavazos , Sharad Singhai , Asjad Khan , Kathryn S. McKinley , J. Eliot B. Moss , Sara Smolensky, Profile-driven pretenuring for Java (poster session), Addendum to the 2000 proceedings of the conference on Object-oriented programming, systems, languages, and applications (Addendum), p.129-130, January 2000, Minneapolis, Minnesota, United States
[doi> 10.1145/367845.368029]
|
| |
10
|
J. Bonwick. The slab allocator: An object-caching kernel memory allocator. In USENIX Summer 1994 Technical Conference, pages 87-98, 1994.
|
| |
11
|
R. Brown and L. Hendren. Automatic recycling of Java objects. Technical Report, McGill University, 2000.
|
 |
12
|
Patrick J. Caudill , Allen Wirfs-Brock, A third generation Smalltalk-80 implementation, Conference proceedings on Object-oriented programming systems, languages and applications, p.119-130, September 29-October 02, 1986, Portland, Oregon, United States
|
 |
13
|
Trishul M. Chilimbi , Mark D. Hill , James R. Larus, Cache-conscious structure layout, Proceedings of the ACM SIGPLAN 1999 conference on Programming language design and implementation, p.1-12, May 01-04, 1999, Atlanta, Georgia, United States
|
 |
14
|
|
 |
15
|
|
| |
16
|
|
| |
17
|
|
 |
18
|
|
 |
19
|
|
 |
20
|
|
| |
21
|
|
 |
22
|
|
 |
23
|
Michael Hicks , Luke Hornof , Jonathan T. Moore , Scott M. Nettles, A study of large object spaces, Proceedings of the 1st international symposium on Memory management, p.138-145, October 17-19, 1998, Vancouver, British Columbia, Canada
|
| |
24
|
U. Hoelzle. A fast write barrier for generational garbage collectors. In Proc. of OOPSLA'93 Workshop on Garbage Collection, 1993.
|
 |
25
|
Antony L. Hosking , J. Eliot B. Moss , Darko Stefanovic, A comparative performance evaluation of write barrier implementation, conference proceedings on Object-oriented programming systems, languages, and applications, p.92-109, October 18-22, 1992, Vancouver, British Columbia, Canada
|
| |
26
|
The Java Hotspot performance engine architecture. http://java.sun.com/products/hotspot/ whitepaper.html.
|
| |
27
|
|
| |
28
|
|
 |
29
|
|
 |
30
|
|
 |
31
|
|
| |
32
|
Y. Shuf, M. Gupta, R. Bordawekar, and J. P. Singh. Distinguishing between prolific and non-prolific types for efficient memory management. Technical report, IBM T.J. Watson Research Center, Yorktown Heights, NY, 2001.
|
| |
33
|
Y. Shuf, M. Gupta, R. Bordawekar, and J. P. Singh. A hybrid memory management scheme using prolific types and object ages. Technical report, IBM T.J. Watson Research Center, Yorktown Heights, NY, 2001.
|
| |
34
|
Y. Shuf, M. Gupta, H. Franke, and J. P. Singh. Creating and preserving locality of Java applications at allocation and garbage collection times. Technical report, IBM T.J. Watson Research Center, Yorktown Heights, NY, 2001.
|
 |
35
|
Yefim Shuf , Mauricio J. Serrano , Manish Gupta , Jaswinder Pal Singh, Characterizing the memory behavior of Java workloads: a structured view and opportunities for optimizations, Proceedings of the 2001 ACM SIGMETRICS international conference on Measurement and modeling of computer systems, p.194-205, June 2001, Cambridge, Massachusetts, United States
|
 |
36
|
Vugranam C. Sreedhar , Michael Burke , Jong-Deok Choi, A framework for interprocedural optimization in the presence of dynamic class loading, Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation, p.196-207, June 18-21, 2000, Vancouver, British Columbia, Canada
|
| |
37
|
Standard Performance Evaluation Council. SPEC JVM98 Benchmarks, 1998. http://www.spec.org/osg/jvm98/.
|
| |
38
|
Standard Performance Evaluation Council. SPEC JBB2000 Benchmark, 2000. http://www.spec.org/osg/jbb2000/.
|
| |
39
|
|
 |
40
|
Darko Stefanović , Kathryn S. McKinley , J. Eliot B. Moss, Age-based garbage collection, Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, p.370-381, November 01-05, 1999, Denver, Colorado, United States
|
 |
41
|
Darko Stefanović , Kathryn S. McKinley , J. Eliot B. Moss, On models for object lifetime distributions, Proceedings of the 2nd international symposium on Memory management, p.137-142, October 15-16, 2000, Minneapolis, Minnesota, United States
|
| |
42
|
D. Tarditi and A. Diwan. The full cost of a generational copying garbage collection implementation. In Proc. of the OOPSLA93 Workshop on Memory Management and Garbage Collection, October 1993.
|
| |
43
|
Transaction Processing Performance Council. TPC-C Benchmark, 2000. http://www.tpc.org/cspec.html .
|
| |
44
|
R. Tremaine, P. Franaszek, J. Robinson, C. Schulz, T. Smith, M. Wazlowski, and P. Bland. IBM Memory Expansion Technology (MXT). IBM Journal of Research Development, 45(2), 2001.
|
 |
45
|
|
 |
46
|
|
| |
47
|
A. R. Wallace. On the tendency of varieties to depart indefinitely from the original type. In Letters to the Royal Society, Feb. 1858.
|
| |
48
|
P. Wilson. Uniprocessor garbage collection techniques. Technical report, University of Texas at Austin, 1994.
|
| |
49
|
|
| |
50
|
|
CITED BY 20
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ali-Reza Adl-Tabatabai , Jay Bharadwaj , Michal Cierniak , Marsha Eng , Jesse Fang , Brian T. Lewis , Brian R. Murphy , James M. Stichnoth, Improving 64-Bit Java IPF Performance by Compressing Heap References, Proceedings of the international symposium on Code generation and optimization: feedback-directed and runtime optimization, p.100, March 20-24, 2004, Palo Alto, California
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|