Return to search

A software design of a user-configurable memory garbage collection method

Abstract
Generational garbage collection is one of the most commonly used dynamic memory management techniques. Copying generational garbage collection can achieve better collection efficiency by compaction via object movement. However, object movement requires more processing overhead during collection time. Non-copying generational garbage collection eliminates the overhead of object movement. In association of with the limited memory traversal technique, it can achieve faster collection runs. But, since no compaction technique is used, poorer collection efficiency us unavoided. In addition, some in-effective design choices can greatly reduce the efficiency of generational garbage collectors. They include poor prediction of object lifetimes, unnecessarily frequent collection runs, and in-effective internal fragmentation reduction within pages, etc.
In this research, we designed a user-configurable garbage collection method to improve collection efficiency and performance of current non-copy generational garbage collection method. Dynamically generated objects are characterized into four collection categories according to the usage characteristic as well as this predicted lifetimes of the objects. Our memory allocator will allocate objects to different storage heaps according to their collection categories.
The four categories are:
(1) short life time objects: allocated in the multiple generations, storage and collect are in the multiple ways of generation .
(2) long life time objects: allocated in the single generation, storage and collect are in the single way of generation.
(3) permanent life time objects: allocated in the area never been collected, the objects will occupy the space until the program terminate.
(4) user-level management objects: allocated in the area never been collected, but the object will be allocated and freed by the user.
For different collection categories, we separately incorportes domain-specific knowledge of memory allocation and garbage collection. We plan to restrict each garbage collection activity on its own category heap. Hence, when certain category heap needs to be collected, only a small portion of dynamic data is involved. Category-specific collection timing decision reclamation, re-allocation, and memory allocation methods can be devised for each category heap. In addition, it allows users to apply their knowledge of the program characteristics to suitabley classify the generated object's collection category to improve the collection efficiency. It also allows users to integrate direct-managed collection and automatic collection technique in one program. For performance validation, we carried out a set of performance experiments. The experiments indicate that we can reduce collection overhead and improve the average number of effective memory pages in running cases with different characteristics with our non

Identiferoai:union.ndltd.org:NSYSU/oai:NSYSU:etd-0729100-111410
Date29 July 2000
CreatorsChen, Uie-Wen
ContributorsJen-Min Jou, Chih-Chien Chen, Tsung Lee
PublisherNSYSU
Source SetsNSYSU Electronic Thesis and Dissertation Archive
LanguageCholon
Detected LanguageEnglish
Typetext
Formatapplication/pdf
Sourcehttp://etd.lib.nsysu.edu.tw/ETD-db/ETD-search/view_etd?URN=etd-0729100-111410
Rightsrestricted, Copyright information available at source archive

Page generated in 0.0019 seconds