Distinguishing Between Prolific and Non-Prolific Types for Efficient Memory Management

In this paper we introduce the notion of prolific and non-prolific types, based on the number of instantiated objects of those types.We propose and empirically validate a new hypothesis, the prolific
generational hypothesis, which states that the objects of prolific types have short lifetimes. We use this hypothesis to develop a new garbage collection scheme, which is similar in spirit to generational
collection, but uses types rather than age to distinguish between different regions of the heap. It looks for garbage first among objects of prolific types. Our approach lets the compiler eliminate redundant
write barriers by simply checking the type of objects involved in a pointer assignment. We describe techniques that enable this test to be done effectively at compile time, in spite of the complications
due to polymorphism and dynamic class loading in Java. A preliminary implementation of this approach as a non-copying type-based collector in the Jalapeno Java Virtual Machine has shown very encouraging results. Compared with the corresponding generational collector, for the SPECjvm98 and SPECjbb2000 benchmarks, the number of dynamically executed write barriers is reduced by 18% to 74% (except for three programs, for which there is no reduction). The total garbage collection times are reduced by an average of 7.4% over all benchmark programs, with improvements of up to 15.2%. The overall performance improves modestly (by up to 2.8%) for all programs except for one (mtrt), for which there is a performance degradation of 2.2%.

By: Yefim Shuf (IBM/Princeton University) Manish Gupta, Rajesh Bordawekar, Jaswinder Pal Singh (Princeton University)

Published in: RC22020 in 2001

LIMITED DISTRIBUTION NOTICE:

This Research Report is available. This report has been submitted for publication outside of IBM and will probably be copyrighted if accepted for publication. It has been issued as a Research Report for early dissemination of its contents. In view of the transfer of copyright to the outside publisher, its distribution outside of IBM prior to publication should be limited to peer communications and specific requests. After outside publication, requests should be filled only by reprints or legally obtained copies of the article (e.g., payment of royalties). I have read and understand this notice and am a member of the scientific community outside or inside of IBM seeking a single copy only.

RC22020R.pdf

Questions about this service can be mailed to reports@us.ibm.com .