Implementing an on-the-fly garbage collector for Java']Java

被引:7
|
作者
Domani, T [1 ]
Kolodner, EK [1 ]
Lewis, E [1 ]
Salant, EE [1 ]
Barabash, K [1 ]
Lahan, I [1 ]
Levanoni, Y [1 ]
Petrank, E [1 ]
Yanover, I [1 ]
机构
[1] IBM, MATAM Adv Technol Ctr, Haifa Res Lab, IL-31905 Haifa, Israel
关键词
!text type='Java']Java[!/text; programming languages; memory management; garbage collection; concurrent garbage collection; on-the-fly garbage collection;
D O I
10.1145/362426.362484
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Java uses garbage collection (GC) for the automatic reclamation of computer memory no longer required by a running application. GC implementations for Java Virtual Machines (JVM) are typically designed for single processor machines, and do not necessarily perform well for a server program with many threads running on a multiprocessor. We designed and implemented an on-the-fly CC, based on the algorithm of Doligez, Leroy and Gonthier [13, 12] (DLG), for Java in this environment. An on-the-fly collector, a collector that does not stop the program threads, allows all processors to be utilized during collection and provides uniform response times. We extended and adapted DLG for Java (e.g., adding support for weak references) and for modern multiprocessors without sequential consistency, and added performance improvements (e.g., to keep track of the objects remaining to be traced). We compared the performance of our implementation with stop-the-world mark-sweep GC, Our measurements show that the performance advantage for our collector increases as the number of threads increase and that it provides uniformly low response times.
引用
收藏
页码:155 / 166
页数:12
相关论文
共 50 条
  • [1] A generational on-the-fly garbage collector for Java']Java
    Domani, T
    Kolodner, EK
    Petrank, E
    [J]. ACM SIGPLAN NOTICES, 2000, 35 (05) : 274 - 284
  • [2] An on-the-fly reference counting garbage collector for Java']Java
    Levanoni, Y
    Petrank, E
    [J]. ACM SIGPLAN NOTICES, 2001, 36 (11) : 367 - 380
  • [3] An on-the-fly reference-counting garbage collector for Java']Java
    Levanoni, Y
    Petrank, E
    [J]. ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2006, 28 (01): : 1 - 69
  • [4] An energy efficient garbage collector for Java']Java embedded devices
    Griffin, P
    Srisa-an, W
    Chang, JM
    [J]. ACM SIGPLAN NOTICES, 2005, 40 (07) : 230 - 238
  • [5] THE LIVENESS PROPERTY OF ON-THE-FLY GARBAGE COLLECTOR - A PROOF
    RAMESH, S
    MEHNDIRATTA, SL
    [J]. INFORMATION PROCESSING LETTERS, 1983, 17 (04) : 189 - 195
  • [6] Class unloading with a concurrent garbage collector in an embedded Java']Java VM
    Vechev, MT
    Petrov, PD
    [J]. ESA'03: PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON EMBEDDED SYSTEMS AND APPLICATIONS, 2003, : 99 - 105
  • [7] Yama: A scalable generational garbage collector for Java']Java in multiprocessor systems
    Muthukumar, RM
    Janakiram, D
    [J]. IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, 2006, 17 (02) : 148 - 159
  • [8] Java']Java without the coffee breaks: A nonintrusive multiprocessor garbage collector
    Bacon, DF
    Attanasio, CR
    Lee, HB
    Rajan, VT
    Smith, S
    [J]. ACM SIGPLAN NOTICES, 2001, 36 (05) : 92 - 103
  • [9] EVM's Java']Java dynamic memory manager and garbage collector
    Lee, Sang-Yun
    Choi, Byung-Uk
    [J]. COMPUTATIONAL SCIENCE - ICCS 2007, PT 4, PROCEEDINGS, 2007, 4490 : 737 - +
  • [10] On-the-fly metadata stripping for embedded java']java operating systems
    Rippert, C
    Deville, D
    [J]. SMART CARD RESEARCH AND ADVANCED APPLICATIONS VI, 2004, 153 : 17 - 32