Garbage Collection of Linked Data Structures
ACM Computing Surveys (CSUR)
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
Garbage collection in a large LISP system
LFP '84 Proceedings of the 1984 ACM Symposium on LISP and functional programming
Atomic garbage collection: managing a stable heap
SIGMOD '89 Proceedings of the 1989 ACM SIGMOD international conference on Management of data
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
ASPLOS IV Proceedings of the fourth international conference on Architectural support for programming languages and operating systems
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
Some issues and strategies in heap management and memory hierarchies
ACM SIGPLAN Notices
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
Thermodynamics and garbage collection
ACM SIGPLAN Notices
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
Memory organization and management for linked data structures
CSC '91 Proceedings of the 19th annual conference on Computer Science
ICFP '00 Proceedings of the fifth ACM SIGPLAN international conference on Functional programming
Beltway: getting around garbage collection gridlock
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
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
Garbage Collection Algorithms for Java-Based Prolog Engines
PADL '03 Proceedings of the 5th International Symposium on Practical Aspects of Declarative Languages
Automatic pool allocation for disjoint data structures
Proceedings of the 2002 workshop on Memory system performance
On bounding time and space for multiprocessor garbage collection
ACM SIGPLAN Notices - Best of PLDI 1979-1999
Automatic pool allocation: improving performance by controlling data structure layout in the heap
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation
Garbage collection without paging
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation
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
Data layouts for object-oriented programs
Proceedings of the 2007 ACM SIGMETRICS international conference on Measurement and modeling of computer systems
Online Phase-Adaptive Data Layout Selection
ECOOP '08 Proceedings of the 22nd European conference on Object-Oriented Programming
Efficient shared-memory support for parallel graph reduction
Future Generation Computer Systems
Cache and I/O efficent functional algorithms
POPL '13 Proceedings of the 40th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Hi-index | 48.23 |
Modern Lisp systems make heavy use of a garbage-collecting style of memory management. Generally, the locality of reference in garbage-collected systems has been very poor. In virtual memory systems, this poor locality of reference generally causes a large amount of wasted time waiting on page faults or uses excessively large amounts of main memory. An adaptive memory management algorithm, described in this article, allows substantial improvement in locality of reference. Performance measurements indicate that page-wait time typically is reduced by a factor of four with constant memory size and disk technology. Alternately, the size of memory typically can be reduced by a factor of two with constant performance.