|
ABSTRACT
Many interactive computing environments provide automatic storage reclamation and virtual memory to ease the burden of managing storage. Unfortunately, many storage reclamation algorithms impede interaction with distracting pauses. Generation Scavenging is a reclamation algorithm that has no noticeable pauses, eliminates page faults for transient objects, compacts objects without resorting to indirection, and reclaims circular structures, in one third the time of traditional approaches. We have incorporated Generation Scavenging in Berkeley Smalltalk(BS), our Smalltalk-80 implementation, and instrumented it to obtain performance data. We are also designing a microprocessor with hardware support for Generation Scavenging.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
|
| |
2
|
H. G. Baker, List Processing in Real Time on a Serial Computer, A.I. Working Paper 139, MIT-AI Lab, Boston, MA, April, 1977.
|
| |
3
|
S. Ballard and S. Shirron, The Design and Implementation of VAX/Smalltalk-80, in Smalltalk-80: Bits of History, Words of Advice, G. Krasner (editor), Addison Wesley, September, 1983, 127-150.
|
| |
4
|
W. Becker and D. Fagen, Throw Back the Little Ones, in Throw Back the Little Ones, Steely Dan, © American Broadcasting Music, Inc. (ASCAP), Los Angeles, CA, 1974.
|
 |
5
|
|
| |
6
|
R. Blomseth and H. Davis, The Orion Project—A Home for SOAR, in Smalltalk on a RISC: Architectural Investigations, D. Patterson (editor), Computer Science Division, Department of E.E.C.S., University of California, Berkeley, CA, April, 1983, 64-109.
|
 |
7
|
|
 |
8
|
|
 |
9
|
|
 |
10
|
|
| |
11
|
L. P. Deutsch, An Upper Bound for Smalltalk-80 Execution on a Motorola 68000 CPU, private communications, 1982.
|
| |
12
|
L. P. Deutsch, Storage Reclamation, Berkeley Smalltalk Seminar, Feb. 5, 1982.
|
| |
13
|
L. P. Deutsch, Storage Management, private communications, 1983.
|
 |
14
|
|
| |
15
|
R. Fateman, Garbage Collection Overhead, private communication, August, 1983.
|
 |
16
|
|
| |
17
|
|
| |
18
|
D. H. H. Ingalls, The Evolution of the Smalltalk Virtual Machine, in Smalltalk-80: Bits of History, Words of Advice, G. Krasner (editor), Addison Wesley, September, 1983, 9-28.
|
| |
19
|
T. Kaehler and G. Krasner, LOOM-Large Object-Oriented Memory for Smalltalk-80 Systems, in Smalltalk-80: Bits of History, Words of Advice, G. Krasner (editor), Addison-Wesley, Reading, MA, 1983, 249.
|
| |
20
|
T. Kilburn, D. B. G. Edwards, M. J. Lanigan and F. H. Sumner, One-Level Storage System, in Computer Structures: Principles and Examples, D. P. Siewiorek, C. G. Bell and A. Newell (editor), McGraw-Hill, New York, NY, 1982, 135-148. Originally in IRE Transactions, EC-11, vol 2, April 1962, pp 223-235.
|
| |
21
|
M. Klein and P. Foley, Preliminary SOAR Architecture, in Smalltalk on a RISC: Architectural Investigations, D. Patterson (editor), Computer Science Division, Department of E.E.C.S., University of California, Berkeley, CA, April, 1983, 1-24.
|
| |
22
|
|
 |
23
|
|
| |
24
|
W. Lonergan and P. King, Design of the B 5500 System, in Computer Structures: Principles and Examples, D. P. Siewiorek, C. G. Bell and A. Newell (editor), McGraw-Hill, New York, NY, 1982, 129-134. Originally in Datamation, vol. 7, no. 5, May 1961. pp 28-32.
|
| |
25
|
K. McCall, The Smalltalk-80 Benchmarks, in Smalltalk 80: Bits of History, Words of Advice, G. Krasner (editor), Addison-Wesley, Reading, MA, 1983, 151-173.
|
 |
26
|
|
| |
27
|
D. A. Patterson, Smalltalk on a RISC: Architectural Investigations, Computer Science Division, University of California, Berkeley, CA, April 1983. Proceedings of CS292R.
|
| |
28
|
B. Sheil, Environments for Exploratory Programming, Datamation, February, 1983.
|
| |
29
|
J. W. Stamos, A Large Object-Oriented Virtual Memory: Grouping Strategies, Measurements, and Performance, Xerox technical report, SCG-82-2, Xerox, Pals Alto Research Center, Pals Alto, CA, May 1982.
|
| |
30
|
|
| |
31
|
A. J. Thadhani, Interactive User Productivity, IBM Systems Journal 20, 4 (1981), 407-421.
|
| |
32
|
D. M. Ungar and D. A. Patterson, Berkeley Smalltalk: Who Knows Where the Time Goes?, in Smalltalk-80: Bits of History, Word of Advice, G. Krasner (editor), September, 1983, 189.
|
 |
33
|
|
 |
34
|
|
CITED BY 174
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Dan Ingalls , Ted Kaehler , John Maloney , Scott Wallace , Alan Kay, Back to the future: the story of Squeak, a practical Smalltalk written in itself, ACM SIGPLAN Notices, v.32 n.10, p.318-326, Oct. 1997
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Greg Morrisett , Matthias Felleisen , Robert Harper, Abstract models of memory management, Proceedings of the seventh international conference on Functional programming languages and computer architecture, p.66-77, June 26-28, 1995, La Jolla, California, United States
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
A. W. Appel , T. Jim, Continuation-passing, closure-passing style, Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.293-302, January 11-13, 1989, Austin, Texas, United States
|
|
|
|
|
|
Alan Demmers , Mark Weiser , Barry Hayes , Hans Boehm , Daniel Bobrow , Scott Shenker, Combining generational and conservative garbage collection: framework and implementations, Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.261-269, December 1989, San Francisco, California, United States
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
B. E. Hart , S. Danforth , P. Valduriez, Parallelizing a database programming language, Proceedings of the first international symposium on Databases in parallel and distributed systems, p.72-79, December 05-07, 1988, Austin, Texas, United States
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Niels Christian Juul , Eric Jul, Garbage collection in object oriented systems (workshop session), Proceedings of the European conference on Object-oriented programming addendum : systems, languages, and applications: systems, languages, and applications, p.35-41, October 1990, Ottawa, Canada
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Yoo C. Chung , Soo-Mook Moon , Kemal Ebcioğlu , Dan Sahlin, Reducing sweep time for a nearly empty heap, Proceedings of the 27th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.378-389, January 19-21, 2000, Boston, MA, USA
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
A. M. Cheadle , A. J. Field , S. Marlow , S. L. Peyton Jones , R. L. While, Exploring the barrier to entry: incremental generational garbage collection for Haskell, Proceedings of the 4th international symposium on Memory management, October 24-25, 2004, Vancouver, BC, Canada
|
|
|
David Detlefs , Christine Flood , Steve Heller , Tony Printezis, Garbage-first garbage collection, Proceedings of the 4th international symposium on Memory management, October 24-25, 2004, Vancouver, BC, Canada
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Yoav Ossia , Ori Ben-Yitzhak , Irit Goft , Elliot K. Kolodner , Victor Leikehman , Avi Owshanko, A parallel, incremental and concurrent GC for servers, ACM SIGPLAN Notices, v.37 n.5, May 2002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Katherine Barabash , Ori Ben-Yitzhak , Irit Goft , Elliot K. Kolodner , Victor Leikehman , Yoav Ossia , Avi Owshanko , Erez Petrank, A parallel, incremental, mostly concurrent garbage collector for servers, ACM Transactions on Programming Languages and Systems (TOPLAS), v.27 n.6, p.1097-1146, November 2005
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
A. M. Cheadle , A. J. Field , J. W. Ayres , N. Dunn , R. A. Hayden , J. Nystrom-Persson, Visualising dynamic memory allocators, Proceedings of the 2006 international symposium on Memory management, June 10-11, 2006, Ottawa, Ontario, Canada
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Thomas Kotzmann , Christian Wimmer , Hanspeter Mössenböck , Thomas Rodriguez , Kenneth Russell , David Cox, Design of the Java HotSpot™ client compiler for Java 6, ACM Transactions on Architecture and Code Optimization (TACO), v.5 n.1, p.1-32, May 2008
|
|
|
Jeremy Singer , Gavin Brown , Ian Watson , John Cavazos, Intelligent selection of application-specific garbage collectors, Proceedings of the 6th international symposium on Memory management, October 21-22, 2007, Montreal, Quebec, Canada
|
|
|
|
|
|
|
|
|
|
|
|
Simon Marlow , Tim Harris , Roshan P. James , Simon Peyton Jones, Parallel generational-copying garbage collection with a block-structured heap, Proceedings of the 7th international symposium on Memory management, June 07-08, 2008, Tucson, AZ, USA
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
INDEX TERMS
Primary Classification:
D.
Software
D.4
OPERATING SYSTEMS
D.4.2
Storage Management
Subjects:
Virtual memory
Additional Classification:
D.
Software
D.3
PROGRAMMING LANGUAGES
D.3.2
Language Classifications
Nouns:
Smalltalk-80
D.4
OPERATING SYSTEMS
D.4.2
Storage Management
General Terms:
Design,
Languages,
Management,
Performance
Keywords:
Generation,
Grabage collection,
Personnel computer,
Real time,
Scavenge,
Smalltalk,
Virtual memory,
Workstation
|