Topic: memory management by age

topics > computer science > operating system > Group: memory management

memory management by garbage collection
memory management by working sets


A common optimization for garbage collection is partitioning memory by age. Young objects have a shorter average lifespan than older objects. LRU and working set methods use age to identify memory that is no longer in use. (cbb 12/07)
Subtopic: arena allocation up

Quote: use an arena to allocate objects with the same lifetime; release arena at end without explicit deallocations [»hansDR1_1990]
Quote: in some applications, most memory deallocations occur at the same time, e.g., windows and compilers [»hansDR1_1990]
Quote: arena allocation is 3/4's as fast as stack allocation, twice as fast as quick fit and 7 times faster than first fit [»hansDR1_1990, OK]

Subtopic: working sets vs. CLOCK up

Quote: even though working sets are better, most modern multiprogramming system use the CLOCK memory policy [»dennPJ9_1980]

Subtopic: release-match up

Quote: release-match storage allocation--allocate either at one end of memory, or adjacent to a block with a similar release time [»beckLL10_1982]
Quote: release-match storage allocation is better than either first fit or best fit [»beckLL10_1982]

Subtopic: age-match up

Quote: age-match storage allocation--allocate either at one end of memory or adjacent to memory with a similar allocation time [»beckLL10_1982]
Quote: age-match storage allocation is better than best-fit if the maximum request size is large relative to the memory available [»beckLL10_1982]

Subtopic: LRU vs. databases up

Quote: LRU does not always work for database buffer management; e.g., one-time sequential access, cyclic referencing, one-time random access [»stonM7_1981]

Subtopic: generation scavenging up

Quote: with generation scavenging in Smalltalk, have sub-second pause times, 3% overhead, use of virtual memory, and reclaimation of circular structures [»sampAD11_1986]
Quote: generation scavenging: divide memory into old and new objects; new objects are garbage collected and memory resident; old objects are in virtual memory
Quote: generation scavenging--a traversal of new space starting at the remembered set finds all live new objects [»ungarD5_1984]
Quote: generation scavenging--if a new object survives enough scavenges, moved to old object area and no longer reclaimed
Quote: generation scavenging has short pause times, works with virtual memory, reclaims circular structure, and is efficient [»ungarD5_1984]
Quote: generation scavenging works poorly when objects die after a while; most deal with clumps in lifetime distributions [»ungaD1_1992]
Quote: improve generation scavenging by segregating large bitmaps and strings and by demographic feedback [»ungaD1_1992]

Subtopic: older-first up

Quote: older-first garbage collection copies up to 10x less than generational collection; requires up to 10x more write barrier work [»stefD11_1999]
Quote: waterfall problem of multigenerational collectors: older generations most collect younger generations

Related Topics up

Topic: memory management by garbage collection (116 items)
Topic: memory management by working sets
(18 items)

Updated barberCB 8/04
Copyright © 2002-2008 by C. Bradford Barber. All rights reserved.
Thesa is a trademark of C. Bradford Barber.