Profile-based pretenuring

被引:18
作者
Blackburn, Stephen M.
Hertz, Matthew
McKinley, Kathryn S.
Moss, J. Eliot B.
Yang, Ting
机构
[1] Australian Natl Univ, Fac Engn & Informat Technol, Dept Comp Sci, Canberra, ACT 0200, Australia
[2] Univ Texas, Coll Nat Sci, Dept Comp Sci, Austin, TX 78712 USA
[3] Canisius Coll, Dept Comp Sci, Buffalo, NY 14208 USA
[4] Univ Massachusetts, Amherst, MA 01003 USA
来源
ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS | 2007年 / 29卷 / 01期
关键词
algorithms; languages; performance; garbage collection; pretenuring; lifetime prediction; profiling;
D O I
10.1145/1180475.1180477
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Pretenuring can reduce copying costs in garbage collectors by allocating long- lived objects into regions that the garbage collector will rarely, if ever, collect. We extend previous work on pretenuring as follows: (1) We produce pretenuring advice that is neutral with respect to the garbage collector algorithm and configuration. We thus can and do combine advice from different applications. We find for our benchmarks that predictions using object lifetimes at each allocation site in Java programs are accurate, which simplifies the pretenuring implementation. (2) We gather and apply advice to both applications and Jikes RVM, a compiler and runtime system for Java written in Java. Our results demonstrate that building combined advice into Jikes RVM from different application executions improves performance, regardless of the application Jikes RVM is compiling and executing. This build-time advice thus gives user applications some benefits of pretenuring, without any application profiling. No previous work uses profile feedback to pretenure in the runtime system. (3) We find that application-only advice also consistently improves performance, but that the combination of build-time and application-specific advice is almost always noticeably better. (4) Our same advice improves the performance of generational, Older First, and Beltway collectors, illustrating that it is collector neutral. (5) We include an immortal allocation space in addition to a nursery and older generation, and show that pretenuring to immortal space has substantial benefit.
引用
收藏
页数:57
相关论文
共 36 条
[1]  
AGESEN O, 2000, P INT S MEM MAN MINN, P121
[2]   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
[3]  
ALPERN B, 1999, P ACM C OBJ OR PROGR, P314
[4]  
[Anonymous], P 29 ACM SIGPLAN SIG
[5]  
[Anonymous], 2000, Proceedings of the 15th ACM SIGPLAN Conference on Objectoriented Programming, Systems, Languages, and Applications
[6]   SIMPLE GENERATIONAL GARBAGE COLLECTION AND FAST ALLOCATION [J].
APPEL, AW .
SOFTWARE-PRACTICE & EXPERIENCE, 1989, 19 (02) :171-183
[7]  
BARRETT DA, 1995, P 1995 SIGPLAN C PRO, P301
[8]  
BARRETT DA, 1993, P ACM SIGPLAN C PROG, P187
[9]   Oil and water? High performance garbage collection in Java']Java with MMTk [J].
Blackburn, SM ;
Cheng, P ;
McKinley, KS .
ICSE 2004: 26TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, PROCEEDINGS, 2004, :137-146
[10]  
BLACKBURN SM, 2001, P ACM SIGPLAN C OBJ, P342