The art of computer programming, volume 3: (2nd ed.) sorting and searching
The art of computer programming, volume 3: (2nd ed.) sorting and searching
A real-time garbage collector based on the lifetimes of objects
Communications of the ACM
List processing in real time on a serial computer
Communications of the ACM
An efficient, incremental, automatic garbage collector
Communications of the ACM
A nonrecursive list compacting algorithm
Communications of the ACM
Generation Scavenging: A non-disruptive high performance storage reclamation algorithm
SDE 1 Proceedings of the first ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments
Incremental incrementally compacting garbage collection
SIGPLAN '87 Papers of the Symposium on Interpreters and interpretive techniques
Improving locality of reference in a garbage-collecting memory management system
Communications of the ACM
Safety consideration for storage allocation optimizations
PLDI '88 Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation
Real-time concurrent collection on stock multiprocessors
PLDI '88 Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation
Atomic garbage collection: managing a stable heap
SIGMOD '89 Proceedings of the 1989 ACM SIGMOD international conference on Management of data
Demonic memory for process histories
PLDI '89 Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation
Design of the opportunistic garbage collector
OOPSLA '89 Conference proceedings on Object-oriented programming systems, languages and applications
Trap architectures for Lisp systems
LFP '90 Proceedings of the 1990 ACM conference on LISP and functional programming
Comparing mark-and sweep and stop-and-copy garbage collection
LFP '90 Proceedings of the 1990 ACM conference on LISP and functional programming
LFP '90 Proceedings of the 1990 ACM conference on LISP and functional programming
Combining generational and conservative garbage collection: framework and implementations
POPL '90 Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Virtual memory primitives for user programs
ASPLOS IV Proceedings of the fourth international conference on Architectural support for programming languages and operating systems
ASPLOS IV Proceedings of the fourth international conference on Architectural support for programming languages and operating systems
Mostly parallel garbage collection
PLDI '91 Proceedings of the ACM SIGPLAN 1991 conference on Programming language design and implementation
Effective “static-graph” reorganization to improve locality in garbage-collected systems
PLDI '91 Proceedings of the ACM SIGPLAN 1991 conference on Programming language design and implementation
Communications of the ACM - Special issue on LISP
Real-time programming in Common Lisp
Communications of the ACM - Special issue on LISP
Parallel generational garbage collection
OOPSLA '91 Conference proceedings on Object-oriented programming systems, languages, and applications
Using key object opportunism to collect old objects
OOPSLA '91 Conference proceedings on Object-oriented programming systems, languages, and applications
Efficient implementation of bit-vector operation in Common Lisp
ACM SIGPLAN Lisp Pointers
Some issues and strategies in heap management and memory hierarchies
ACM SIGPLAN Notices
ACM SIGARCH Computer Architecture News
CONS should not CONS its arguments, or, a lazy alloc is a smart alloc
ACM SIGPLAN Notices
The treadmill: real-time garbage collection without motion sickness
ACM SIGPLAN Notices
Caching considerations for generational garbage collection
LFP '92 Proceedings of the 1992 ACM conference on LISP and functional programming
A foundation for an efficient multi-threaded scheme system
LFP '92 Proceedings of the 1992 ACM conference on LISP and functional programming
Lively linear Lisp: “look ma, no garbage!”
ACM SIGPLAN Notices
The Boyer Benchmark at warp speed
ACM SIGPLAN Lisp Pointers
Infant mortality and generational garbage collection
ACM SIGPLAN Notices
Improving the cache locality of memory allocation
PLDI '93 Proceedings of the ACM SIGPLAN 1993 conference on Programming language design and implementation
Using lifetime predictors to improve memory allocation performance
PLDI '93 Proceedings of the ACM SIGPLAN 1993 conference on Programming language design and implementation
Real-time replication garbage collection
PLDI '93 Proceedings of the ACM SIGPLAN 1993 conference on Programming language design and implementation
HOPL-II The second ACM SIGPLAN conference on History of programming languages
A concurrent, generational garbage collector for a multithreaded implementation of ML
POPL '93 Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Generational garbage collection for Haskell
FPCA '93 Proceedings of the conference on Functional programming languages and computer architecture
Atomic incremental garbage collection and recovery for a large stable heap
SIGMOD '93 Proceedings of the 1993 ACM SIGMOD international conference on Management of data
Cache performance of garbage-collected programs
PLDI '94 Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation
Performance of a hardware-assisted real-time garbage collector
ASPLOS VI Proceedings of the sixth international conference on Architectural support for programming languages and operating systems
Garbage collection using a dynamic threatening boundary
PLDI '95 Proceedings of the ACM SIGPLAN 1995 conference on Programming language design and implementation
Indirect distributed garbage collection: handling object migration
ACM Transactions on Programming Languages and Systems (TOPLAS)
Generational garbage collection and the radioactive decay model
Proceedings of the ACM SIGPLAN 1997 conference on Programming language design and implementation
The measured cost of copying garbage collection mechanisms
ICFP '97 Proceedings of the second ACM SIGPLAN international conference on Functional programming
Research Demonstration of a Hardware Reference-Counting Heap
Lisp and Symbolic Computation
Using generational garbage collection to implement cache-conscious data placement
Proceedings of the 1st international symposium on Memory management
Segregating heap objects by reference behavior and lifetime
Proceedings of the eighth international conference on Architectural support for programming languages and operating systems
Garbage collecting the Internet: a survey of distributed garbage collection
ACM Computing Surveys (CSUR)
Cache-conscious structure layout
Proceedings of the ACM SIGPLAN 1999 conference on Programming language design and implementation
On bounding time and space for multiprocessor garbage collection
Proceedings of the ACM SIGPLAN 1999 conference on Programming language design and implementation
Persistent memory: a storage architecture for object-oriented database systems
OODS '86 Proceedings on the 1986 international workshop on Object-oriented database systems
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
The structuring of systems using upcalls
Proceedings of the tenth ACM symposium on Operating systems principles
Architecture of the Symbolics 3600
ISCA '85 Proceedings of the 12th annual international symposium on Computer architecture
Memory organization and management for linked data structures
CSC '91 Proceedings of the 19th annual conference on Computer Science
A generational on-the-fly garbage collector for Java
PLDI '00 Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation
Controlling garbage collection and heap growth to reduce the execution time of Java applications
OOPSLA '01 Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Understanding the connectivity of heap objects
Proceedings of the 3rd international symposium on Memory management
Visualising the train garbage collector
Proceedings of the 3rd international symposium on Memory management
A parallel, incremental and concurrent GC for servers
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
Beltway: getting around garbage collection gridlock
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
An experimental study of renewal-older-first garbage collection
Proceedings of the seventh ACM SIGPLAN international conference on Functional programming
Creating and preserving locality of java applications at allocation and garbage collection times
OOPSLA '02 Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
A real-time garbage collector with low overhead and consistent utilization
POPL '03 Proceedings of the 30th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Paging in a distributed virtual memory
Trends in functional programming
Concurrent Remembered Set Refinement in Generational Garbage Collection
Proceedings of the 2nd Java Virtual Machine Research and Technology Symposium
Libraries as programs preserved within compiler continuations
SLIPE '85 Proceedings of the ACM SIGPLAN 85 symposium on Language issues in programming environments
Mostly concurrent garbage collection revisited
OOPSLA '03 Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications
Real-time concurrent collection on stock multiprocessors
ACM SIGPLAN Notices - Best of PLDI 1979-1999
On bounding time and space for multiprocessor garbage collection
ACM SIGPLAN Notices - Best of PLDI 1979-1999
Automatic heap sizing: taking real memory into account
Proceedings of the 4th international symposium on Memory management
History of programming languages---II
Proceedings of the 1st ACM/USENIX international conference on Virtual execution environments
Garbage collection without paging
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation
Syncopation: generational real-time garbage collection in the metronome
LCTES '05 Proceedings of the 2005 ACM SIGPLAN/SIGBED conference on Languages, compilers, and tools for embedded systems
A parallel, incremental, mostly concurrent garbage collector for servers
ACM Transactions on Programming Languages and Systems (TOPLAS)
Proceedings of the 5th international symposium on Memory management
Portable, mostly-concurrent, mostly-copying garbage collection for multi-processors
Proceedings of the 5th international symposium on Memory management
Improving locality with parallel hierarchical copying GC
Proceedings of the 5th international symposium on Memory management
Profile-guided proactive garbage collection for locality optimization
Proceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation
Controlling garbage collection and heap growth to reduce the execution time of Java applications
ACM Transactions on Programming Languages and Systems (TOPLAS)
Linear combinations of radioactive decay models for generational garbage collection
Science of Computer Programming - Special issue on five perspectives on modern memory management: Systems, hardware and theory
Data layouts for object-oriented programs
Proceedings of the 2007 ACM SIGMETRICS international conference on Measurement and modeling of computer systems
An efficient on-the-fly cycle collection
ACM Transactions on Programming Languages and Systems (TOPLAS)
Mostly accurate stack scanning
JVM'01 Proceedings of the 2001 Symposium on JavaTM Virtual Machine Research and Technology Symposium - Volume 1
Overview of garbage collection in symbolic computing
ACM SIGPLAN Lisp Pointers
Lisp hardware architecture: the Explorer II and beyond
ACM SIGPLAN Lisp Pointers
ACM SIGPLAN Lisp Pointers
Path specialization: reducing phased execution overheads
Proceedings of the 7th international symposium on Memory management
Online Phase-Adaptive Data Layout Selection
ECOOP '08 Proceedings of the 22nd European conference on Object-Oriented Programming
Proceedings of the 14th international conference on Architectural support for programming languages and operating systems
Dynamic filtering: multi-purpose architecture support for language runtime systems
Proceedings of the fifteenth edition of ASPLOS on Architectural support for programming languages and operating systems
The locality of concurrent write barriers
Proceedings of the 2010 international symposium on Memory management
Minimizing paging in Lisp applications
ACM SIGPLAN Lisp Pointers
Waste not, want not: resource-based garbage collection in a shared environment
Proceedings of the international symposium on Memory management
An embedded GC module with support for multiple mutators and weak references
ARCS'10 Proceedings of the 23rd international conference on Architecture of Computing Systems
Analysis of pure methods using garbage collection
Proceedings of the 2012 ACM SIGPLAN Workshop on Memory Systems Performance and Correctness
And then there were none: a stall-free real-time garbage collector for reconfigurable hardware
Proceedings of the 33rd ACM SIGPLAN conference on Programming Language Design and Implementation
Generational real-time garbage collection: a three-part invention for young objects
ECOOP'07 Proceedings of the 21st European conference on Object-Oriented Programming
POPL 2003: A real-time garbage collector with low overhead and consistent utilization
ACM SIGPLAN Notices - Supplemental issue
An equation-based Heap Sizing Rule
Performance Evaluation
Hi-index | 0.02 |
This paper discusses garbage collection techniques used in a high-performance Lisp implementation with a large virtual memory, the Symbolics 3600. Particular attention is paid to practical issues and experience. In a large system problems of scale appear and the most straightforward garbage-collection techniques do not work well. Many of these problems involve the interaction of the garbage collector with demand-paged virtual memory. Some of the solutions adopted in the 3600 are presented, including incremental copying garbage collection, approximately depth-first copying, ephemeral objects, tagged architecture, and hardware assists. We discuss techniques for improving the efficiency of garbage collection by recognizing that objects in the Lisp world have a variety of lifetimes. The importance of designing the architecture and the hardware to facilitate garbage collection is stressed.