Download:
|
by Benjamin Zorn, Benjamin Zorn, Benjamin Zorn
ftp://ftp.cs.colorado.edu/pub/techreports/zorn/CU-CS-494-90.ps.Z
Add To MetaCart
Abstract:
Garbage collection algorithms have been enhanced in recent years with two methods: generation-based collection and Baker incremental copying collection. Generationbased collection requires special actions during certain store operations to implement the "write barrier. " Incremental collection requires special actions on certain load operations to implement the "read barrier. " This paper evaluates the performance of different implementations of the read and write barriers and reaches several important conclusions. First, the inlining of barrier checks results in surprisingly low overheads, both for the write barrier (2--6%) and the read barrier (! 20%). Contrary to previous belief, these results suggest that a Baker-style read barrier can be implemented efficiently without hardware support. Second, the use of operating system traps to implement garbage collection methods results in extremely high overheads because the cost of trap handling is so high. Since this large overhead is completely unnecessary, operating system memory protection traps should be reimplemented to be as fast as possible. Finally, the performance of these approaches on several machine architectures is compared to show that the results are generally applicable. 1
Citations
|
238
|
Garbage collection in an uncooperative environment
– Boehm, Weiser
- 1988
|
|
216
|
A Real-Time Garbage Collector Based on the Lifetimes of Objects
– Lieberman, Hewitt
- 1983
|
|
201
|
List Processing in Real Time on a Serial Computer,’’ A.I. Working Paper 139
– Baker
- 1977
|
|
193
|
A non-recursive list compacting algorithm
– Cheney
- 1970
|
|
161
|
Simple generational garbage collection and fast allocation
– Appel
- 1989
|
|
146
|
1 he “ interaction“” of Architecture and Operating System Design
– Anderson, Levy, et al.
- 1991
|
|
136
|
Real-time concurrent collection on stock multiprocessors
– Appel, Ellis, et al.
- 1988
|
|
129
|
A.: Garbage Collection in a Large Lisp System
– Moon
- 1984
|
|
128
|
The design and evaluation of a high performance smalltalk system.” Distinguished dissertation
– Ungar
- 1986
|
|
76
|
Trading data space for reduced time and code space in real-time garbage collection on stock hardware
– Brooks
- 1984
|
|
75
|
A lisp garbage-collector for virtual-memory computer systems
– Fenichel, Yochelson
- 1969
|
|
54
|
Comparative Performance Evaluation of Garbage Collection Algorithms
– Zorn
- 1989
|
|
47
|
Tenuring Policies for Generation-Based Storage Reclamation, OOPSLA '88
– Ungar, Jackson
- 1988
|
|
43
|
Adding Garbage Collection and Runtime Types to a Strongly Typed
– Rovner
- 1985
|
|
39
|
Empirical Analysis of A Lisp System
– Shaw
- 1988
|
|
39
|
A lifetime-based garbage collector for Lisp systems on general-purpose computers
– Sobalvarro
- 1988
|
|
36
|
Improving locality of reference in a garbage-collecting memory management-system
– Courts
- 1988
|
|
32
|
Comparing mark-and sweep and stop-and-copy garbage collection
– Zorn
- 1990
|
|
27
|
Improving garbage collector performance in virtual memory
– Shaw
- 1987
|
|
15
|
Trap Architectures for Lisp Systems
– Johnson
- 1990
|
|
11
|
The Impact of Code Density on Instruction Cache Performance
– Steenkiste
- 1989
|
|
9
|
Architecture of the Symbolics 3600
– Moon
- 1985
|
|
6
|
The Case for a Read Barrier
– Johnson
- 1991
|
|
6
|
The runtime environment for Screme, a Scheme implementation on the 88000
– Vegdahl, Pleban
- 1989
|
|
3
|
Modula-3 report
– Cardelli, Donahue, et al.
- 1988
|
|
3
|
SPUR: A VLSI Multiprocessor Workstation." Computer Science Division
– Hill
- 1975
|
|
3
|
SPUR Lisp: Design and implementation
– Zorn, Hilfinger, et al.
- 1987
|
|
1
|
The symbolics I-machine architecture: A symbolic processor architecture for VLSI implementation
– Edwards, Efland, et al.
- 1987
|
|
1
|
Static instruction counts of SPUR Lisp programs. Personal communication. Actual data will be published in forthcoming PhD thesis
– Taylor
|