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
Identifer | oai:union.ndltd.org:NSYSU/oai:NSYSU:etd-0729100-111410 |
Date | 29 July 2000 |
Creators | Chen, Uie-Wen |
Contributors | Jen-Min Jou, Chih-Chien Chen, Tsung Lee |
Publisher | NSYSU |
Source Sets | NSYSU Electronic Thesis and Dissertation Archive |
Language | Cholon |
Detected Language | English |
Type | text |
Format | application/pdf |
Source | http://etd.lib.nsysu.edu.tw/ETD-db/ETD-search/view_etd?URN=etd-0729100-111410 |
Rights | restricted, Copyright information available at source archive |
Page generated in 0.0022 seconds