A generational on-the-fly garbage collector for Java']Java

被引:0
|
作者
Domani, T [1 ]
Kolodner, EK [1 ]
Petrank, E [1 ]
机构
[1] Technion Israel Inst Technol, Dept Comp Sci, IL-32000 Haifa, Israel
关键词
programming languages; memory management; garbage collection; generational garbage collection;
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
An on-the-fly garbage collector does not stop the program threads to perform the collection. Instead, the collector executes in a separate thread (or process) in parallel to the program. On-the-fly collectors are useful for multi-threaded applications running on multiprocessor servers, where it is important to fully utilize all processors and provide even response time, especially for systems for which stopping the threads is a costly operation. In this work, we report on the incorporation of generations into an on-the-fly garbage collector. The incorporation is non-trivial since an on-the-fly collector avoids explicit synchronization with the program threads. To the best of our knowledge, such an incorporation has not been tried before. We have implemented the collector for a prototype Java Virtual Machine on AIX, and measured its performance on a 4-way multiprocessor. As for other generational collectors, an on-the-fly generational collector has the potential for reducing the overall running time and working set of an application by concentrating collection efforts on the young objects. However, in contrast to other generational collectors, on-the-fly collectors do not move the objects; thus, there is no segregation between the old and the young objects. Furthermore, on-the-fly collectors do not stop the threads, so there is no extra benefit for the short pauses obtained by generational collection. Nevertheless, comparing our on-the-fly collector with and without generations, it turns out that the generational collector performs better for most applications. The best reduction in overall running time for the benchmarks we measured was 25%. However, there were some benchmarks for which it had no effect and one for which the overall running time increased by 4%.
引用
收藏
页码:274 / 284
页数:11
相关论文
共 50 条
  • [1] Implementing an on-the-fly garbage collector for Java']Java
    Domani, T
    Kolodner, EK
    Lewis, E
    Salant, EE
    Barabash, K
    Lahan, I
    Levanoni, Y
    Petrank, E
    Yanover, I
    [J]. ACM SIGPLAN NOTICES, 2001, 36 (01) : 155 - 166
  • [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] 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
  • [5] AS-GC: An efficient generational garbage collector for Java']Java application servers
    Xian, Feng
    Srisa-An, Witawas
    Jia, ChengHuan
    Jiang, Hong
    [J]. ECOOP 2007 - OBJECT-ORIENTED PROGRAMMING, PROCEEDINGS, 2007, 4609 : 126 - +
  • [6] 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
  • [7] Improved Adaptive Generational Garbage Collection Algorithm for Java']Java Card
    Yang Fubiao
    Li Daiping
    [J]. PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON LOGISTICS, ENGINEERING, MANAGEMENT AND COMPUTER SCIENCE, 2014, 101 : 699 - 702
  • [8] THE LIVENESS PROPERTY OF ON-THE-FLY GARBAGE COLLECTOR - A PROOF
    RAMESH, S
    MEHNDIRATTA, SL
    [J]. INFORMATION PROCESSING LETTERS, 1983, 17 (04) : 189 - 195
  • [9] 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
  • [10] 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