LISP and Symbolic Computation, 10(2)159-181

Research Demonstration of a Hardware Reference-Counting Heap

David S. Wise, Computer Science Department, Indiana University, Bloomington, Indiana 47405-4101, USA
Brian Heck, Computer Science Department, Indiana University, Bloomington, Indiana 47405-4101, USA
Caleb Hess, Computer Science Department, Indiana University, Bloomington, Indiana 47405-4101, USA
Willie Hunt, Computer Science Department, Indiana University, Bloomington, Indiana 47405-4101, USA
Eric Ost, Computer Science Department and Center for Innovative Computer Applications, Indiana University, Bloomington, Indiana 47405, USA

Abstract: A hardware self-managing heap memory (RCM) for languages like Lisp, Smalltalk, and Java has been designed, built, tested and benchmarked. On every pointer write from the processor, reference-counting transactions are performed in real time within this memory, and garbage cells are reused without processor cycles. A processor allocates new nodes simply by reading from a distinguished location in its address space. The memory hardware also incorporates support for off-line, multiprocessing, mark-sweep garbage collection.

Performance statistics are presented from a partial implementation of Scheme over five different memory models and two garbage collection strategies, from main memory (no access to RCM) to a fully operational RCM installed on an external bus. The performance of the RCM memory is more than competitive with main memory.

Keywords: Performance, uniprocessor, garbage collection

This article can be downloaded [here].
[picture of journal cover]

June 2003 - hosc@brics.dk