Optimizations in a private nursery-based garbage collector
Optimizations in a private nursery-based garbage collector
复制标题
基于私人托儿所的垃圾收集器的优化
DOI:
--
复制
发表时间:
2010
期刊:
影响因子:
--
通讯作者:
T. A. Anderson
中科院分区:
文献类型:
--
作者:
T. A. Anderson
This paper describes a garbage collector designed around the use of permanent, private, thread-local nurseries and is principally oriented towards functional languages. We try to maximize the cache hit rate by having threads continually reuse their individual private nurseries. These private nurseries operate in such a way that they can be garbage collected independently of other threads, which creates low collection pause times. Objects which survive thread-local collections are moved to a mature generation that can be collected either concurrently or in a stop-the-world fashion. We describe several optimizations (including two dynamic control parameter adaptation schemes) related to garbage collecting the private nurseries and to our concurrent collector, some of which are made possible when the language provides mutability information. We tested our collector against six benchmarks and saw single-threaded performance improvements in the range of 5-74%. We also saw a 10x increase (for 24 processors) in scalability for one parallel benchmark that had previously been memory-bound.