TY - GEN
T1 - Older-First garbage collection in practice
T2 - 2002 Workshop on Memory System Performance, MSP 2002
AU - Stefanović, Darko
AU - Hertz, Matthew
AU - Blackburn, Stephen M.
AU - McKinley, Kathryn S.
AU - Moss, J. Eliot B.
N1 - Publisher Copyright:
Copyright 2002 ACM.
PY - 2002/6/16
Y1 - 2002/6/16
N2 - Until recently, the best performing copying garbage collectors used a generational policy which repeatedly collects the very youngest objects, copies any survivors to an older space, and then infrequently collects the older space. A previous study that used garbagecollection simulation pointed to potential improvements by using an Older-First copying garbage collection algorithm. The OlderFirst algorithm sweeps a fixed-sized window through the heap from older to younger objects, and avoids copying the very youngest objects which have not yet had sufficient time to die. We describe and examine here an implementation of the Older-First algorithm in the Jikes RVM for Java. This investigation shows that Older-First can perform as well as the simulation results suggested, and greatly improves total program performance when compared to using a fixedsize nursery generational collector. We further compare Older-First to a flexible-size nursery generational collector in which the nursery occupies all of the heap that does not contain older objects. In these comparisons, the flexible-nursery collector is occasionally the better of the two, but on average the Older-First collector performs the best.
AB - Until recently, the best performing copying garbage collectors used a generational policy which repeatedly collects the very youngest objects, copies any survivors to an older space, and then infrequently collects the older space. A previous study that used garbagecollection simulation pointed to potential improvements by using an Older-First copying garbage collection algorithm. The OlderFirst algorithm sweeps a fixed-sized window through the heap from older to younger objects, and avoids copying the very youngest objects which have not yet had sufficient time to die. We describe and examine here an implementation of the Older-First algorithm in the Jikes RVM for Java. This investigation shows that Older-First can perform as well as the simulation results suggested, and greatly improves total program performance when compared to using a fixedsize nursery generational collector. We further compare Older-First to a flexible-size nursery generational collector in which the nursery occupies all of the heap that does not contain older objects. In these comparisons, the flexible-nursery collector is occasionally the better of the two, but on average the Older-First collector performs the best.
UR - https://www.scopus.com/pages/publications/33846640854
U2 - 10.1145/773146.773042
DO - 10.1145/773146.773042
M3 - Conference contribution
AN - SCOPUS:33846640854
T3 - Proceedings of the 2002 Workshop on Memory System Performance, MSP 2002
SP - 25
EP - 36
BT - Proceedings of the 2002 Workshop on Memory System Performance, MSP 2002
PB - Association for Computing Machinery, Inc
Y2 - 16 June 2002
ER -