A real-time garbage collector based on the lifetimes of objects

@article{Lieberman1983ARG,
  title={A real-time garbage collector based on the lifetimes of objects},
  author={Henry Lieberman and Carl E. Hewitt},
  journal={Commun. ACM},
  year={1983},
  volume={26},
  pages={419-429}
}
In previous heap storage systems, the cost of creating objects and garbage collection is independent of the lifetime of the object. Since objects with short lifetimes account for a large portion of storage use, it is worth optimizing a garbage collector to reclaim storage for these objects more quickly. The garbage collector should spend proportionately less effort reclaiming objects with longer lifetimes. We present a garbage collection algorithm that (1) makes storage for short-lived objects… 

Figures from this paper

Partitioned garbage collection of a large object store
TLDR
The part of garbage collection responsible for maintaining information about inter-partition references is implemented, and the results show that the techniques result in substantial savings in the usage of disk and memory.
Non-compacting memory allocation and real-time garbage collection
TLDR
A hard real-time garbage collector which uses a write barrier to only coordinate collection work with modiications of pointers in data structures, therefore making coordination costs cheaper and more predictable, and which has most of the advantages of copying collection, without the disadvantage of having to actually copy the objects.
Atomic garbage collection: managing a stable heap
TLDR
This paper describes integrated garbage collection and recovery algorithms for managing a stable heap in which accessible objects survive both system crashes and media failures.
Atomic Garbage Collection: Managing a Stable Heap
TLDR
This paper describes integrated garbage collection and recovery algorithms for managing a stable heap in which accessible objects survive both system crashes and media failures.
Garbage collection in a large LISP system
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
Understanding the connectivity of heap objects
TLDR
This work explores whether the connectivity of objects can yield useful partitions or improve existing partitioning schemes and indicates that connectivity correlates strongly with object lifetimes and deathtimes and is therefore likely to be useful for partitioning objects.
Efficient Memory Management for Long-Lived Objects
TLDR
A novel scheme employing regions that avoids both nursery and old generation costs and reduces copying by 10% on average when compared to Appel in tight heaps is introduced.
Mosaic: a non-intrusive complete garbage collector for DSM systems
TLDR
Mosaic is a safe and complete garbage collection system that collects garbage in object systems that are implemented above page-based distributed shared memory systems and exploits the semantics of pointer operations in type-safe object languages to allow for a weakened consistency model of pointer update during garbage collection.
An incremental garbage collector for embedded real-time systems
TLDR
This work presents an incremental garbage collector of the mark-sweep type, which minimises structural overhead without sacrificing performance and uses a very small stack for marking the live heap, with ‘safety bits’ to ensure that stack overflow does not hinder collection.
Partitioned garbage collection of a large stable heap
  • B. Liskov, U. Maheshwari, T. Ng
  • Computer Science
    Proceedings of the Fifth International Workshop on Object-Orientation in Operation Systems
  • 1996
TLDR
A new garbage collection scheme for large persistent object stores that truly preserves the localized and scalable nature of partitioned collection.
...
1
2
3
4
5
...

References

SHOWING 1-10 OF 56 REFERENCES
An efficient, incremental, automatic garbage collector
This paper describes a new way of solving the storage reclamation problem for a system such as Lisp that allocates storage automatically from a heap, and does not require the programmer to give any
List Processing in Real Time on a Serial Computer
TLDR
A real-time list processing system is presented which continuously reclaims garbage, including directed cycles, while linearizing and compacting the accessible cells into contiguous locations to avoid fragmenting the free storage pool.
On-the-fly garbage collection: an exercise in cooperation
As an example of cooperation between sequential processes with very little mutual interference despite frequent manipulations of a large shared data space, a technique is developed which allows
A LISP Machine
TLDR
The implementation is based on a powerful microprogrammed processor designed specifically for LISP, which supports a tagged macro-architecture; it manipulates items which have a built-in data-type field.
Address/Memory Management for a Gigantic LISP Environment.
TLDR
Some scenarios are presented considering a variety of currently-available technologies, and of one speculative possibility --- videodisc --- by which a requisite compactifying GC would be done "overnight", or over the weekend.
ACTOR SYSTEMS FOR REAL-TIME COMPUTATION
TLDR
This thesis explores several problems associated with implementing Actor theory as a basis for computer systems design and gives an operational semantics for this theory by exhibiting an interpreter which is mapping this conceptual system onto current hardware in such a way that simple primitive operations all take a (small) bounded amount of time.
Compilation and delayed evaluation in APL
TLDR
An algorithm for incorporating the selector operators into the accessors for the leaves of the expression tree and incorporating their effect into the leaf accessors is presented, which will be shown to be an integral part of delayed evaluation for APL.
The Lisp Machine manual
This 471-page, softcover manual describes the programming language and software environment of the Lisp Machine developed at M.I.T.'s Artificial Intelligence Laboratory over the past 8 years. The
The Apiary network architecture for knowledgeable systems
  • C. Hewitt
  • Computer Science
    LISP Conference
  • 1980
TLDR
A great deal of work remains to be done in order to make the Apiary into a practical usable system, introducing important concepts and techniques such as Interest groups.
...
1
2
3
4
5
...