Cultural advice

The Australian National University acknowledges, celebrates and pays our respects to the Ngunnawal and Ngambri people of the Canberra region and to all First Nations Australians on whose traditional lands we meet and work, and whose cultures are among the oldest continuing cultures in human history.

Aboriginal and Torres Strait Islander peoples are advised that ANU Library collections may include images, names, voices, and other representations of deceased persons.

Material in the collection may contain terms, language or views that reflect the period in which the item was created and may be considered inappropriate today.

An Examination of Deferred Reference Counting and Cycle Detection

dc.contributor.authorQuinane, Lukeen_AU
dc.date.accessioned2004-07-29en_US
dc.date.accessioned2004-09-28T04:51:35Zen_US
dc.date.accessioned2011-01-05T08:55:10Z
dc.date.available2004-09-28T04:51:35Zen_US
dc.date.available2011-01-05T08:55:10Z
dc.date.issued2003
dc.description.abstractObject-oriented programing languages are becoming increasingly important as are managed runtime-systems. An area of importance in such systems is dynamic automatic memory management. A key function of dynamic automatic memory management is detecting and reclaiming discarded memory regions; this is also referred to as garbage collection. A significant proportion of research has been conducted in the field of memory management, and more specifically garbage collection techniques. In the past, adequate comparisons against a range of competing algorithms and implementations has often been overlooked. JMTk is a flexible memory management toolkit, written in Java, which attempts to provide a testbed for such comparisons. This thesis aims to examine the implementation of one algorithm currently available in JMTk: the deferred reference counter. Other research has shown that the reference counter in JMTk performs poorly both in throughput and responsiveness. Several aspects of the reference counter are tested, including the write barrier, allocation cost, increment and decrement processing and cycle-detection. The results of these examinations found the bump-pointer to be 8% faster than the free-list in raw allocation. The cost of the reference counting write barrier was determined to be 10% on the PPC architecture and 20% on the i686 architecture. Processing increments in the write barrier was found to be up to 13% faster than buffering them until collection time on a uni-processor platform. Cycle detection was identified as a key area of cost in reference counting. In order to improve the performance of the deferred reference counter and to contribute to the JMTk testbed, a new algorithm for detecting cyclic garbage was described. This algorithm is based on a mark scan approach to cycle detection. Using this algorithm, two new cycle detectors were implemented and compared to the original trial deletion cycle detector. The semi-concurrent cycle detector had the best throughput, outperforming trial deletion by more than 25% on the javac benchmark. The non-concurrent cycle detector had poor throughput attributed to poor triggering heuristics. Both new cycle detectors had poor pause times. Even so, the semi-concurrent cycle detector had the lowest pause times on the javac benchmark. The work presented in this thesis contributes to an evaluation of components of the reference counter and a comparsion between approaches to reference counting implementation. Previous to this work, the cost of the reference counter's components had not been quantified. Additionally, past work presented different approaches to reference counting implementation as a whole, instead of individual components.en_US
dc.format.extent1059526 bytesen_US
dc.format.extent2861489 bytesen_US
dc.format.extent609 bytesen_US
dc.format.extent355 bytesen_US
dc.format.mimetypeapplication/pdfen_US
dc.format.mimetypeapplication/postscripten_US
dc.format.mimetypeapplication/octet-streamen_US
dc.format.mimetypeapplication/octet-streamen_US
dc.identifier.otherb37574346
dc.identifier.urihttp://hdl.handle.net/1885/42030
dc.language.isoen_AUen_US
dc.subjectcycle detectionen_AU
dc.subjectgarbage collectionen_AU
dc.subjectautomatic dynamic memory managementen_AU
dc.subjectJMTken_AU
dc.subjectMMTken_AU
dc.subjectreference countingen_AU
dc.titleAn Examination of Deferred Reference Counting and Cycle Detectionen_US
dc.typeThesis (Honours)en_US
local.contributor.affiliationAustralian National Universityen_US
local.contributor.affiliationDepartment of Computer Scienceen_US
local.description.refereednoen_US
local.identifier.citationmonthnoven_US
local.identifier.citationyear2003en_US
local.identifier.doi10.25911/5d7a289ca46e1
local.identifier.eprintid2710en_US
local.mintdoimint
local.rights.ispublishednoen_US

Downloads

Original bundle

Now showing 1 - 4 of 4
Loading...
Thumbnail Image
Name:
hon-thesis.pdf
Size:
1.01 MB
Format:
Adobe Portable Document Format
Loading...
Thumbnail Image
Name:
hon-thesis.ps
Size:
2.73 MB
Format:
Postscript Files
Loading...
Thumbnail Image
Name:
2710-~!%.XSH
Size:
609 B
Format:
Unknown data format
Loading...
Thumbnail Image
Name:
2710-~UQ.XSH
Size:
355 B
Format:
Unknown data format