ACM Home Page
Please provide us with feedback. Feedback
Exploiting prolific types for memory management and optimizations
Full text PdfPdf (204 KB)
Source Annual Symposium on Principles of Programming Languages archive
Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages table of contents
Portland, Oregon
Pages: 295 - 306  
Year of Publication: 2002
ISBN:1-58113-450-9
Also published in ...
Authors
Yefim Shuf  IBM T. J. Watson Research Center, Yorktown Heights, NY and Princeton University, Princeton, NJ
Manish Gupta  IBM T. J. Watson Research Center, Yorktown Heights, NY
Rajesh Bordawekar  IBM T. J. Watson Research Center, Yorktown Heights, NY
Jaswinder Pal Singh  Princeton University, Princeton, NJ
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
ACM: Association for Computing Machinery
SIGACT: ACM Special Interest Group on Algorithms and Computation Theory
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 8,   Downloads (12 Months): 53,   Citation Count: 20
Additional Information:

abstract   references   cited by   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/503272.503300
What is a DOI?

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
 
3
A. Appel. A better analytical model for the strong generational hypothesis, November 1997.
4
5
6
7
 
8
9
 
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
13
14
15
 
16
 
17
18
19
20
 
21
22
23
 
24
U. Hoelzle. A fast write barrier for generational garbage collectors. In Proc. of OOPSLA'93 Workshop on Garbage Collection, 1993.
25
 
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
36
 
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
41
 
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
Collaborative Colleagues:
Yefim Shuf: colleagues
Manish Gupta: colleagues
Rajesh Bordawekar: colleagues
Jaswinder Pal Singh: colleagues