Design and Analysis of Field-Logging Write Barriers

被引:1
作者
Blackburn, Stephen M. [1 ]
机构
[1] Australian Natl Univ, Canberra, ACT, Australia
来源
PROCEEDINGS OF THE 2019 ACM SIGPLAN INTERNATIONAL SYMPOSIUM ON MEMORY MANAGEMENT (ISMM '19) | 2019年
基金
澳大利亚研究理事会;
关键词
garbage collection; write barriers; generational garbage collection; reference counting; GARBAGE COLLECTION;
D O I
10.1145/3315573.3329981
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Write barriers are a fundamental mechanism that most production garbage collection algorithms depend on. They inform the collector of mutations to the object graph, enabling partial heap collections, concurrent collection, and reference counting. While in principle, write barriers remember only the pointers within the object graph that were changed and do so just once, widely-used write barriers are less precise, sacrificing temporal and/or spatial precision to performance. The idea of precisely remembering just the pointers that were changed is not new, however implementing performant field-precise barriers has proved elusive. We describe a technique for efficiently implementing field-logging barriers. We implement a number of barriers and evaluate them on a range of x86 hardware. A generational field-logging barrier performs with 0.1% to 1% mutator overhead compared to a highly tuned object-logging barrier, while a preliminary implementation of a reference counting field-logging barrier performs with around 1% to 2% overhead compared to a highly tuned object-logging reference counting barrier. These results suggest that garbage collection algorithms that require the precision of exactly remembering field mutations without sacrificing performance may now be possible, adding a new mechanism to the design toolkit available to garbage collection researchers.
引用
收藏
页码:103 / 114
页数:12
相关论文
共 34 条
[1]   The Jalapeno virtual machine [J].
Alpern, B ;
Attanasio, CR ;
Barton, JJ ;
Burke, MG ;
Cheng, P ;
Choi, JD ;
Cocchi, A ;
Fink, SJ ;
Grove, D ;
Hind, M ;
Hummel, SF ;
Lieber, D ;
Litvinov, V ;
Mergen, MF ;
Ngo, T ;
Russell, JR ;
Sarkar, V ;
Serrano, MJ ;
Shepherd, JC ;
Smith, SE ;
Sreedhar, VC ;
Srinivasan, H ;
Whaley, J .
IBM SYSTEMS JOURNAL, 2000, 39 (01) :211-238
[2]  
Alpern Bowen, 2005, IBM System Journal, V44, P2
[3]  
Azagury A., 1998, ACM INT S MEM MAN VA, P10, DOI [10.1145/286860.286862, DOI 10.1145/286860.286862]
[4]  
Blackburn S. M., 2007, PJBB2005 PSEUDOJBB B
[5]  
Blackburn S. M., 2002, ACM INT S MEM MAN BE, P175, DOI DOI 10.1145/512429.512452
[6]   The DaCapo benchmarks: Java']Java benchmarking development and analysis [J].
Blackburn, Stephen M. ;
Garner, Robin ;
Hoffmann, Chris ;
Khan, Asjad M. ;
McKinley, Kathryn S. ;
Bentzur, Rotem ;
Diwan, Amer ;
Feinberg, Daniel ;
Frampton, Daniel ;
Guyer, Samuel Z. ;
Hirzel, Martin ;
Hosking, Antony ;
Jump, Maria ;
Lee, Han ;
Moss, J. Eliot B. ;
Phansalkar, Aashish ;
Stefanovic, Darko ;
VanDrunen, Thomas ;
von Dincklage, Daniel ;
Wiedermann, Ben .
ACM SIGPLAN NOTICES, 2006, 41 (10) :169-190
[7]   Immix: A Mark-Region Garbage Collector with Space Efficiency, Fast Collection, and Mutator Performance [J].
Blackburn, Stephen M. ;
McKinley, Kathryn S. .
PLDI'08: PROCEEDINGS OF THE 2008 SIGPLAN CONFERENCE ON PROGRAMMING LANGUAGE DESIGN & IMPLEMENTATION, 2008, :22-+
[8]  
Blackburn StephenM., 2004, Proceedings of the 4th International Symposium on Memory Management, ISMM '04, P143, DOI [10.1145/1029873.1029891, DOI 10.1145/1029873.1029891]
[9]   ABCD:: Eliminating array bounds checks on demand [J].
Bodik, R ;
Gupta, R ;
Sarkar, V .
ACM SIGPLAN NOTICES, 2000, 35 (05) :321-333
[10]  
Boehm H-J., 1990, P 17 ANN ACM S PRINC