Oil and water? High performance garbage collection in Java']Java with MMTk

被引:85
作者
Blackburn, SM [1 ]
Cheng, P [1 ]
McKinley, KS [1 ]
机构
[1] Australian Natl Univ, Dept Comp Sci, Canberra, ACT 0200, Australia
来源
ICSE 2004: 26TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, PROCEEDINGS | 2004年
关键词
D O I
10.1109/ICSE.2004.1317436
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Increasingly popular languages such as Java and C# require efficient garbage collection. This paper presents the design, implementation, and evaluation of MMTk, a Memory Management Toolkit for and in Java. MMTk is an efficient, composable, extensible, and portable framework for building garbage collectors. MMTk uses design patterns and compiler cooperation to combine modularity and efficiency. The resulting system is more robust, easier to maintain, and has fewer defects than monolithic collectors. Experimental comparisons with monolithic Java and C implementations reveal MMTk has significant performance advantages as well. Performance critical system software typically uses monolithic C at the expense of flexibility. Our results refute common wisdom that only this approach attains efficiency, and suggest that performance critical software can embrace modular design and high-level languages.
引用
收藏
页码:137 / 146
页数:10
相关论文
共 38 条
[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]   SIMPLE GENERATIONAL GARBAGE COLLECTION AND FAST ALLOCATION [J].
APPEL, AW .
SOFTWARE-PRACTICE & EXPERIENCE, 1989, 19 (02) :171-183
[3]  
ARNOLD M, 2000, ACM C OBJ OR PROGR S, P47
[4]  
ATTANASIO CR, 2001, LECT NOTES COMPUTER
[5]  
Attardi G, 1998, SOFTWARE PRACT EXPER, V28, P1143, DOI 10.1002/(SICI)1097-024X(199809)28:11<1143::AID-SPE194>3.0.CO
[6]  
2-7
[7]  
ATTARDI G, 1994, P USENIX C PLUS PLUS
[8]  
AZATCHI H, 2003, INT C COMP CONSTR WA
[9]  
Bacon D. F., 2001, ECOOP 2001 - Object-Oriented Programming. 15th European Conference. Proceedings (Lecture Notes in Computer Science Vol.2072), P207
[10]  
BACON DF, 2003, ACM S PRINC PROGR LA, P285