Memory Management
DOI: 10.1007/bfb0017182
|View full text |Cite
|
Sign up to set email alerts
|

Uniprocessor garbage collection techniques

Abstract: We survey basic garbage collection algorithms, and variations such as incremental and generational collection we then discuss low-level implementation considerations and the relationships between storage management systems, languages, and compilers. Throughout, we attempt to present a uni ed view based on abstract traversal strategies, addressing issues of conservatism, opportunism, and immediacy of reclamation we also point o u t a v ariety of implementation details that are likely to have a signi cant impact… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
207
0

Publication Types

Select...
6
2
1

Relationship

0
9

Authors

Journals

citations
Cited by 285 publications
(208 citation statements)
references
References 49 publications
0
207
0
Order By: Relevance
“…The most widelyused dynamic approach to handling memory leaks is garbage collection [35,36,37,38], which adds runtime overhead to the program. There is also research on dynamic memoryleak detection [39,40,41,42,43,44,45], which provides the location of an allocation which will be leaked later.…”
Section: Related Workmentioning
confidence: 99%
“…The most widelyused dynamic approach to handling memory leaks is garbage collection [35,36,37,38], which adds runtime overhead to the program. There is also research on dynamic memoryleak detection [39,40,41,42,43,44,45], which provides the location of an allocation which will be leaked later.…”
Section: Related Workmentioning
confidence: 99%
“…Ramps, peaks and plateaus are three patterns of memory usage observed in variety of programs [21]. These patterns represent: constant allocation, allocation followed by freeing, and equal rate of allocation and freeing, respectively.…”
Section: Heuristic Heap Expansionmentioning
confidence: 99%
“…The traditional GC problem (on which there is a large body of literature [12,7]) concerns reclaiming storage for heap-allocated objects (data structures) when they are no longer "reachable" from the computation. The "name" of an object is a heap address, i.e., a pointer, and GC concerns a transitive computation that locates all objects that are reachable starting with names in certain well-known places such as registers and stacks.…”
Section: Related Workmentioning
confidence: 99%
“…We refer to this issue as the garbage collection problem in Stampede. The traditional GC problem [12,7] concerns reclaiming storage for heap-allocated objects (data structures) when they are no longer "reachable" from the computation. On the other hand, Stampede's GC problem deals with determining when timestamped items in channels can be reclaimed.…”
Section: Introductionmentioning
confidence: 99%